[FFmpeg-devel] [PATCH] raw demuxer for Chinese AVS elementary streams

Stefan Gehrer stefan.gehrer
Fri Feb 20 19:04:32 CET 2009

Michael Niedermayer wrote:
> On Thu, Feb 19, 2009 at 09:33:54PM +0100, Stefan Gehrer wrote:
>> Hi,
>> attached patch adds $subject. This makes it possible to test the
>> two samples at
>> http://samples.mplayerhq.hu/AVS/issue767/
>> Unfortunately these samples do not work properly yet, only the
>> I-Frames.
>> You can see that the patch contains a probe function and I was
>> trying to make that probing fairly restrictive. However, my feeling
>> is that a probing function is a slightly dangerous addition unless
>> tested against a large number of samples, which I didn't do.
>> So it might be better to consider the patch for after the release ...
> i think the probe function should be improved a bit more if possible
> for example there are quite a few 0x1XX codes that are neither checked
> for being within a valid range nor trigger detection failure

Okay, choose any combination of further restrictions you like:

1. The slice start codes are 0x100 to 01xAF. Since slices in AVS are
whole macroblock lines and the start code represents the vertical
macroblock coordinate, this could be restricted e.g. to 0x43 maximum
to support up to 1088 pixels vertically

2. 0x1B4 is labelled as reserved in AVS and could trigger detection

3. Bail out if the first byte after 0x1B0 (sequence header, profile_id)
is not 0x20. For all AVS samples I know of it has this value,
corresponding to JiZhun profile.
This should solve the ambiguity with MPEG4 that M?ns pointed out as
the first byte of a Video Object Sequence similarly is called
profile_and_level_indication and the value 0x20 is marked
reserved (ISO/IEC 14496-2, table G-1)

The remaining startcodes are used in the samples, namely
0x1B0 video_sequence_start_code
0x1B1 video_sequence_end_code
0x1B2 user_data_start_code
0x1B3 i_picture_start_code
0x1B5 extension_start_code
0x1B6 pb_picture_start_code
0x1B7 video_edit_code


More information about the ffmpeg-devel mailing list