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:
parent
82ca1f8004
commit
4395c058d2
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user