[FFmpeg-soc] Extend TSMuxer to H264 muxing
zhentan feng
spyfeng at gmail.com
Thu Apr 3 11:11:34 CEST 2008
Hi,
I have read ISO13818 and Amendment 3: Transport of AVC video data over
ITU-T Rec. H.222.0 | ISO/IEC 13818-1 streams.
So, I have a basic idea to do it as follow:
1)Find different fields definition for TS and PES according to Amendment 3.
2) Carefully check the difference list in step 1) according to the
svn-soc code.Discard unrelated fields and modify the important fields
to make the code support AVC stream.
I list the fields as below, and I have checked the fields how they are
set according to the svn-soc code,so I will explain how to treat
them(maybe inappropriate,please critize it):
(1)For TS,there different definitions for this fields:
1,discontinuity_indicator
2,random_access_indicator
3,elementary_stream_priority_indicator
4,splice_countdown
5,seamless_splice_flag under
6,splice_type
The 6 fileds for TS are all included in the adaptation_field which are set 0.
I think this is the same way to deal with AVC, so I won't change this fields.
(2)For PES, there different definitions for this fields:
1,Table 2-18 ¨C Stream_id assignments
for AVC stream, it add 0xfc for metadata stream and 0xfd for
extended_stream_id.
I do not find related instructions in ITU14496-10, so I
won't change this.
2,data_alignment_indicator
Set by 0.Don't consider it.
3,PTS
4,DTS
if PTS and DTS are provided by AVPacket, it is not necessary
to change.
5,P-STD_buffer_size
this is for PS muxer. we will consider it later. So leave
it as original code.
6,Table 2-29 ¨C Stream type assignments
this field is for PMT stream type. we will mark the AVC stream here.
7,new BSn definition for AVC in 2.5.2.4
I don't understand this clearly, anybody could help me?
(3)For Program and program element descriptors:
Different definitions fields:
1,Hierarchy descriptor
2,Hierarchy_type field values
3,alignment_type
4,STD descriptor
5,IBP descriptor
this descriptor don't have functional changes and do not
appear in the svn-code.
So,I will not consider it temporarily.
New Add fields:
1,AVC video descriptor
2,AVC timing and HRD descriptor
I think we should add this descriptor for AVC and I will study
the details thing.
(4)At last, how do I test the code works right for H264 muxing?
Tank you for any advice.
yours
zhentan feng
--
Best wishes~
More information about the FFmpeg-soc
mailing list