1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

dcaenc: Allow encoding without specifying a channel_layout.

It will print a warning, making the behaviour consistent
with the AC3 encoder.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
Reimar Döffinger 2012-04-07 12:01:50 +02:00
parent 82ca1f8004
commit 4395c058d2
2 changed files with 9 additions and 2 deletions

View File

@ -534,11 +534,18 @@ static int encode_init(AVCodecContext *avctx)
{
DCAContext *c = avctx->priv_data;
int i;
uint64_t layout = avctx->channel_layout;
c->prim_channels = avctx->channels;
c->lfe_channel = (avctx->channels == 3 || avctx->channels == 6);
switch (avctx->channel_layout) {
if (!layout) {
av_log(avctx, AV_LOG_WARNING, "No channel layout specified. The "
"encoder will guess the layout, but it "
"might be incorrect.\n");
layout = av_get_default_channel_layout(avctx->channels);
}
switch (layout) {
case AV_CH_LAYOUT_STEREO: c->a_mode = 2; c->num_channel = 2; break;
case AV_CH_LAYOUT_5POINT0: c->a_mode = 9; c->num_channel = 9; break;
case AV_CH_LAYOUT_5POINT1: c->a_mode = 9; c->num_channel = 9; break;

View File

@ -440,7 +440,7 @@ do_audio_decoding
fi
if [ -n "$do_dca" ] ; then
do_audio_encoding dca.dts "-strict -2 -channel_layout 3 -acodec dca"
do_audio_encoding dca.dts "-strict -2 -acodec dca"
# decoding is not bit-exact, so skip md5 of decoded file
do_audio_decoding_nomd5
$tiny_psnr $pcm_dst $pcm_ref 2 1920