[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