[mythtv] Interlaced Mediacodec counts fast

Peter Bennett pb.mythtv at gmail.com
Wed Feb 27 23:54:57 UTC 2019



On 2/21/19 11:04 AM, Peter Bennett wrote:
>
>
> On 2/21/19 8:12 AM, Mark Spieth wrote:
>> Hi Peter
>>
>> I have been using avsync2 and mediacodec with interlaced recorded TV 
>> program.
>>
>> I play back at faster than real time e.g. x1.2 or x1.5. The counter 
>> for the end of the program reaches 0 before the actual end of the 
>> program, thus reverting to x1.0. It seems to be the same ratio 
>> regardless of the rate played.
>>
> I will look into this. Others have also reported it.
>> I notice AVsync2 does not update framesPlayedExtra. Is this important?
>>
> I see that - it seems to be some sort of adjustment for wrong frame 
> rate. I will take a look at that.
>> How is the frame doubling that mediacodec accounted for when 
>> calculating the number of framesPlayed which detemines the end of 
>> content and also the OSD time played/time remaining?
>>
> When I first did mediacodec, the time counter was going at double 
> speed when playing at normal rate, because it had frame rate from 
> ffmpeg as 30 but was actually getting 60 frames per second. The fix is 
> that if it is running a double frame rate this way it only increments 
> frame counter every second frame.
>> There are 2 variables m_double_framerate and m_double_process. Are 
>> either of these responsible or is there another mechanism?
>>
> Those are for frame doubling in the render (OpenGL). They are not 
> relevant to frame doubling in the decoder, which is now used by 
> mediacodec, vaapi2 and nvdec.
>> I am a bit confused and you may be able to shed some light on this 
>> progressive play back of interlaced content with a mediacodec 
>> decoder. I am trying to fix this (obviously) as it is quite annoying 
>> as medicacodec seems to play interlaced content very nicely compared 
>> with S/W decode and S/W deinterlacer.
>>
>> Note this effect does not happen for non interlaced content.
>>
>> Thanks
>> Mark
>>
> I would like to change the way time is tracked to use the timestamps 
> instead of frame counter. I have long had the problem that the time 
> goes off when playing some file types. This results in the problem you 
> described, and also causes forward jumps to sometimes go backward or 
> jump by the wrong amount. One thing that I am unsure of is how to 
> handle it if the time code in the file resets. I wonder if that 
> happens in recordings.
>
> Peter

I have a patch for this change, see 
https://code.mythtv.org/trac/ticket/13416 . It is lightly tested but I 
think it is good. I will do some more testing before committing it, and 
I would appreciate any feedback.

Peter


More information about the mythtv-dev mailing list