[mythtv] recent playback optimisations -> LiveTV regression for me
Piotr Oniszczuk
piotr.oniszczuk at gmail.com
Tue Nov 20 14:45:17 UTC 2018
Peter,
Thx.
I already applied patch and I’m under testing.
As this is a bit time consuming - I’ll return to You within few days.
Regarding second aspect (av_image_fill_arrays):
Indeed - code duplication was my overlook.
I added back just:
av_image_fill_arrays(tmppicture.data, tmppicture.linesize,
buf, AV_PIX_FMT_YUV420P, use_frame->width,
use_frame->height, IMAGE_ALIGN);
in it’s original place.
Will test and give You feedback
thx for so quick replay :-)
> Wiadomość napisana przez Peter Bennett <pb.mythtv at gmail.com> w dniu 19.11.2018, o godz. 23:24:
>
>
>
> On 11/19/18 6:23 AM, Piotr Oniszczuk wrote:
>> Peter
>>
>> FYI:
>>
>> 1) this commit
>>
>> https://github.com/MythTV/mythtv/commit/7a74d6a845b80e1223bdcefe669a079bbf7c7762
>>
>> causing on my system issues with LiveTV program transitions:
>>
>> sometimes (avg. 1 per 5-10 transitions) LiveTV playback becomes time-lapse (slowed-down jumpy).
>> referring this commit shows no issue with test 100 transitions - so I think issue is within this commit.
>>
>>
>> 2) Also I reverted:
>>
>> @@ -3996,6 +3996,14 @@
>> {
>> AVFrame tmppicture;
>> .
>> + VideoFrame *xf = picframe;
>> + picframe = m_parent->GetNextVideoFrame();
>> +
>> + unsigned char *buf = picframe->buf;
>> + av_image_fill_arrays(tmppicture.data, tmppicture.linesize,
>> + buf, AV_PIX_FMT_YUV420P, use_frame->width,
>> + use_frame->height, IMAGE_ALIGN);
>> +
>> tmppicture.data[0] = buf + picframe->offsets[0];
>> tmppicture.data[1] = buf + picframe->offsets[1];
>> tmppicture.data[2] = buf + picframe->offsets[2];
>>
>> in
>>
>> https://github.com/MythTV/mythtv/commit/22de417da6437e877ef6c4d0ae5ee5b4121424c6
>>
>> as this causing sometimes 0.5-2sec pixelizations at beginning of new program at LiveTV program transition.
>>
>> br
>>
>>
>
> Hi Piotr
>
> Please try the attached patch. It uses a different method to solve the skipping of video frames in live TV start or transition. I hope that fixes issue 1.
>
> For issue 2, there is a problem. If you look at the commit, you will see that these three lines were moved up in the code:
>
> + VideoFrame *xf = picframe;
> + picframe = m_parent->GetNextVideoFrame();
> + unsigned char *buf = picframe->buf;
>
> By Adding these back you will have them duplicated in two places. Putting them in two places will confuse the logic.
>
> Possibly the av_image_fill_arrays has something to do with it. See if just adding that line back without the other three will fix the problem.
>
> If you still get the transition problem with the patch, please try with -v playback and see if there are messages that explain why the video is jerky.
>
> Peter
> <20181119_1607_transition_fix.patch>_______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
More information about the mythtv-dev
mailing list