[FFmpeg-devel] [PATCH] H.264 timestamps in h264_parser - complete set

Ivan Schreter schreter
Fri Feb 20 13:24:30 CET 2009


Michael Niedermayer wrote:
> On Wed, Feb 18, 2009 at 11:45:00PM +0100, Ivan Schreter wrote:
>   
>> Michael Niedermayer wrote:
>>     
>>> On Wed, Feb 18, 2009 at 12:33:57PM +0100, Ivan Schreter wrote:
>>>   
>>>       
>>>>> [...]   
>>>>>           
>>>> Yes. I was thinking about creating additional function like 
>>>> ff_h264_decode_slice_header_0(), which would contain the first part of 
>>>> decode_slice_header(), which is relevant for parser. Do you have a better 
>>>> name suggestion?
>>>>     
>>>>         
>>> not at the moment but maybe i come up with something later
>>>
>>>   
>>>       
>> Unfortunately, it's not that simple, since the parsing code there is 
>> intermixed with other code related to decoding. I'm afraid to break 
>> things, not badly, but subtly. So I'd prefer not to factor it now, if 
>> you are OK with it. After the other OK-ed patches are committed, I'll 
>> post an updated version of parser patches.
>>     
>
> if you promise to factor it out in the end then ok but iam not entirely
> happy about it
>
>   
I'll try to factor it out later.

Here the complete patchset for timestamps again, adjusted to current state.

#1: Export functions (already OK-ed).
#2: Add rudimentary parser decoding relevant NALs and identifying 
picture type.
#3: Add handling of key_frame flag to pass key frame info to lavf.
#4: Add handling of convergence_duration to pass recovery frame count to 
lavf.
#5: Add decoding of field flags.
#6: Add decoding of H.264 timestamps and pass timestamps and duration to 
lavf (depends on my patch from today regarding passing duration to lavf).

So please review.

One question: H.264 standard specifies the timestamps hard-coded in 
90kHz clock. So I hard-coded 90kHz in as well. Can it happen that some 
container uses non-90kHz clock? If yes, how do I find it out in lavc?

Regards,

Ivan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_1_funcs.patch
Type: text/x-patch
Size: 4962 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090220/38f732fe/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_2_parser.patch
Type: text/x-patch
Size: 3425 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090220/38f732fe/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_3_keyframe.patch
Type: text/x-patch
Size: 1092 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090220/38f732fe/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_4_convdur.patch
Type: text/x-patch
Size: 1253 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090220/38f732fe/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_5_field_flags.patch
Type: text/x-patch
Size: 1731 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090220/38f732fe/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: h264_parser_6_timestamps.patch
Type: text/x-patch
Size: 6670 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090220/38f732fe/attachment-0005.bin>



More information about the ffmpeg-devel mailing list