[Ffmpeg-devel] [Ffmpeg-devel-old] Re: avi out is buggy

Måns Rullgård mru
Tue May 10 13:36:24 CEST 2005


Erik Slagter <erik at slagter.name> writes:

> On Mon, 2005-05-09 at 17:36 +0200, M?ns Rullg?rd wrote:
>> > Do you know why to choose to multiplex the private1_stream and didn't
>> > use their own private stream?
>> 
>> private_stream_1 is a good choice, since it has the full PES header,
>> with PTS and whatnot.  The other option would be to use
>> private_stream_2, and define some new syntax for timestamps.
>> Borrowing one of the "reserved" values would make the stream
>> non-compliant.  These values are intended for use by future versions
>> of the standard.
>> 
>> To clarify what I said earlier, AC3 audio in private_stream_1 is
>> compliant with the standard, since it does not place any restrictions
>> on the contents of the private streams.  However, to actually access
>> the AC3 data, one must make assumptions outside the ISO standard.
>> IMHO, it's perfectly fine to define compatible extensions to a
>> standard in this manner.
>
> Are you saying that the number of the private stream also specifies it's
> syntax? Sorry I am don't have a clue on this matter ;-) Are there only
> two private streams defined?

Quoting ISO 13818-1, table 2-18:

          stream_id         Note      stream coding

          1011 1100         1         program_stream_map
          1011 1101         2         private_stream_1
          1011 1110                   padding_stream
          1011 1111         3         private_stream_2
          110x xxxx                   ISO/IEC 13818-3 or ISO/IEC 11172-3 or
                                      ISO/IEC 13818-7 or ISO/IEC 14496-3
                                      audio stream number x xxxx
          1110 xxxx                   ITU-T Rec. H.262 | ISO/IEC 13818-2 or
                                      ISO/IEC 11172-2 or ISO/IEC 14496-2
                                      video stream number xxxx
          1111 0000         3         ECM_stream
          1111 0001         3         EMM_stream
          1111 0010         5         ITU-T Rec. H.222.0 | ISO/IEC 13818-1
                                      Annex A or ISO/IEC 13818-6_DSMCC_stream
          1111 0011         2         ISO/IEC_13522_stream
          1111 0100         6         ITU-T Rec. H.222.1 type A
          1111 0101         6         ITU-T Rec. H.222.1 type B
          1111 0110         6         ITU-T Rec. H.222.1 type C
          1111 0111         6         ITU-T Rec. H.222.1 type D
          1111 1000         6         ITU-T Rec. H.222.1 type E
          1111 1001         7         ancillary_stream
          1111 1010                   ISO/IEC14496-1_SL-packetized_stream
          1111 1011                   ISO/IEC14496-1_FlexMux_stream
  1111 1100 ... 1111 1110             reserved data stream
          1111 1111         4         program_stream_directory

  The notation x means that the values '0' or '1' are both permitted
  and results in the same stream type. The stream number is given by
  the values taken by the x's.

  NOTE 1 ? PES packets of type program_stream_map have unique syntax
  specified in 2.5.4.1.
  NOTE 2 ? PES packets of type private_stream_1 and
  ISO/IEC_13552_stream follow the same PES packet syntax as those for
  ITU-T Rec. H.262 | ISO/IEC 13818-2 video and ISO/IEC 13818-3 audio
  streams.
  NOTE 3 ? PES packets of type private_stream_2, ECM_stream and
  EMM_stream are similar to private_stream_1 except no syntax is
  specified after PES_packet_length field.
  NOTE 4 ? PES packets of type program_stream_directory have a unique
  syntax specified in 2.5.5.
  NOTE 5 ? PES packets of type DSM-CC_stream have a unique syntax
  specified in ISO/IEC 13818- 6.
  NOTE 6 ? This stream_id is associated with stream_type 0x09 in Table
  2-29.
  NOTE 7 ? This stream_id is only used in PES packets, which carry
  data from a Program Stream or an ISO/IEC 11172-1 System Stream, in a
  Transport Stream (refer to 2.4.3.7).

Does this clarify anything?

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-devel mailing list