[FFmpeg-devel] Codec IDs for AC3/DTS variants (Was: Re: [RFC] additinaldesc_type for dtshd mpeg-ts demuxer)

elupus elupus
Mon Jun 9 16:20:37 CEST 2008


M?ns Rullg?rd <mans <at> mansr.com> writes:

> 
> Andreas ?man <andreas <at> olebyn.nu> writes:
> 
> > M?ns Rullg?rd wrote:
> >> elupus <elupus <at> ecce.se> writes:
> >>> @@ -951,11 +974,15 @@
> >>>          codec_id = CODEC_ID_AAC;
> >>>          break;
> >>>      case STREAM_TYPE_AUDIO_AC3:
> >>> +    case STREAM_TYPE_AUDIO_HDMV_AC3_TRUE_HD:
> >>> +    case STREAM_TYPE_AUDIO_HDMV_AC3_PLUS:
> >>>          codec_type = CODEC_TYPE_AUDIO;
> >>>          codec_id = CODEC_ID_AC3;
> >>>          break;
> >>>      case STREAM_TYPE_AUDIO_DTS:
> >>>      case STREAM_TYPE_AUDIO_HDMV_DTS:
> >>> +    case STREAM_TYPE_AUDIO_HDMV_DTS_HD:
> >>> +    case STREAM_TYPE_AUDIO_HDMV_DTS_HD_MASTER:
> >>>          codec_type = CODEC_TYPE_AUDIO;
> >>>          codec_id = CODEC_ID_DTS;
> >>>          break;
> >> 
> >> Is it correct to use the same codec id?  Can AC3/DTS decoders in
> >> general handle all the variants?  Might an lavf-using app want to
> >> distinguish between them?
> >
> > IEC958 (SPDIF) comes to mind.
> > You might want to configure AC3, DTS, etc to be sent directly to a AV
> > receiver, but such receiver might not be able to decode DTS HD and such,
> > so it is necessary to be able to distinguish between the variants.
> >
> > Ether we could add more codec IDs or use sub_id. Dunno what's best
> > though.
> 
> Changing subject to grab the attention of more people.
> 


Hmm. AC3_TRUE_HD should probably chenge. It's not the same thing as AC3, its 
more like MLP from DVDAudio standards.

AC3+, will be decodable by standard ac3 decoder, it should just ignore the 
extension if I understand correctly.  Same seem to go for both of the special 
DTS_HD variants. (atleast my DTS_HD_MASTER sample decodes by libdts in 
ffdshow, will test with xbmc's lavf player later).

Both dts hd and some of the ac3 variants may use a secondary stream to make 
them into the complete hd stream. Thus some reprocessing would have to be done 
in demuxer if you'd want to get the complete stream out as a single lavf 
stream.







More information about the ffmpeg-devel mailing list