[FFmpeg-devel] [FFmpeg-cvslog] avcodec/dca: add new decoder based on libdcadec
Hendrik Leppkes
h.leppkes at gmail.com
Sun Jan 31 20:05:19 CET 2016
On Sun, Jan 31, 2016 at 7:57 PM, James Almer <jamrial at gmail.com> wrote:
> On 1/31/2016 3:51 PM, Michael Niedermayer wrote:
>> On Sun, Jan 31, 2016 at 05:14:14PM +0100, foo86 wrote:
>>> ffmpeg | branch: master | foo86 <foobaz86 at gmail.com> | Sat Jan 16 11:54:38 2016 +0300| [ae5b2c52501d5009fe712334428138a9b758849b] | committer: Hendrik Leppkes
>>>
>>> avcodec/dca: add new decoder based on libdcadec
>>>
>>>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ae5b2c52501d5009fe712334428138a9b758849b
>>> ---
>>>
>>
>>
>> this breaks request_channel_layout
>>
>> example:
>> ./ffmpeg -i dts/lotr_5.1_768.dts test.wav
>>
>> Input #0, dts, from '/home/michael/videos/dts/lotr_5.1_768.dts':
>> Duration: 00:02:05.18, start: 0.000000, bitrate: 768 kb/s
>> Stream #0:0: Audio: dts (DTS-ES), 48000 Hz, 6.1, fltp, 768 kb/s
>>
>>
>> vs.
>> ./ffmpeg -request_channel_layout 3 -i dts/lotr_5.1_768.dts test-req3.wav
>>
>> Input #0, dts, from '/home/michael/videos/dts/lotr_5.1_768.dts':
>> Duration: 00:02:05.18, start: 0.000000, bitrate: 768 kb/s
>> Stream #0:0: Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s
>>
>> vs.
>> ./ffmpeg-ref -request_channel_layout 3 -i dts/lotr_5.1_768.dts test-ref-req3.wav
>>
>> Input #0, dts, from '/home/michael/videos/dts/lotr_5.1_768.dts':
>> Duration: 00:02:05.18, start: 0.000000, bitrate: 768 kb/s
>> Stream #0:0: Audio: dts (DTS-ES), 48000 Hz, stereo, fltp, 768 kb/s
>>
>>
>> previously it resulted in 2 channels now it produces 5.1 when
>> requesting stereo
>
> libdcadec (and thus this new decoder) doesn't force stereo when downmix
> coefficients are not embedded in the stream, leaving the work to the
> resampler instead. Try the libdcadec wrapper and it will do the same.
>
> It's an intended change in behavior compared to the old dca decoder, so
> i guess it could documented.
Indeed, the decoder will only honor the request when the bitstream
contains information to do so, instead of forcing a generic downmix
like the old one.
5.1 is always possible for >5.1 streams, but stereo requires the
bitstream to contain coefficients.
- Hendrik
More information about the ffmpeg-devel
mailing list