[FFmpeg-cvslog] r18623 - trunk/libavcodec/ac3enc.c

Michael Niedermayer michaelni
Sun Apr 19 17:56:36 CEST 2009


On Sun, Apr 19, 2009 at 05:06:13PM +0200, jbr wrote:
> Author: jbr
> Date: Sun Apr 19 17:06:13 2009
> New Revision: 18623
> 
> Log:
> Add channel layout support to the AC-3 encoder.
> 
> Modified:
>    trunk/libavcodec/ac3enc.c
> 
> Modified: trunk/libavcodec/ac3enc.c
> ==============================================================================
> --- trunk/libavcodec/ac3enc.c	Sun Apr 19 17:05:32 2009	(r18622)
> +++ trunk/libavcodec/ac3enc.c	Sun Apr 19 17:06:13 2009	(r18623)
> @@ -30,6 +30,7 @@
>  #include "get_bits.h" // for ff_reverse
>  #include "put_bits.h"
>  #include "ac3.h"
> +#include "audioconvert.h"
>  
>  typedef struct AC3EncodeContext {
>      PutBitContext pb;
> @@ -609,37 +610,67 @@ static int compute_bit_allocation(AC3Enc
>      return 0;
>  }
>  
> +static av_cold int set_channel_info(AC3EncodeContext *s, int channels,
> +                                    int64_t *channel_layout)
> +{
> +    int ch_layout;
> +
> +    if (channels < 1 || channels > AC3_MAX_CHANNELS)
> +        return -1;
> +    if ((uint64_t)*channel_layout > 0x7FF)
> +        return -1;
> +    ch_layout = *channel_layout;

> +    if (!ch_layout)
> +        ch_layout = avcodec_guess_channel_layout(channels, CODEC_ID_AC3, NULL);

this is incorrect the way it is used
the channel layout must be set on the demuxer/decoder side, one cannot
guess the layout from the decoder or the user app by using the encoder
CODEC_ID.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20090419/a6f8bc68/attachment-0001.pgp>



More information about the ffmpeg-cvslog mailing list