[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