[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