[libav-devel] [PATCH] adpcm: Fix trellis encoding of IMA QT

Justin Ruggles justin.ruggles at gmail.com
Fri Jun 6 17:55:30 CEST 2014


On 06/05/2014 04:56 AM, Martin Storsjö wrote:
> This was broken in 095be4fb - samples+ch (for the previous
> non-planar case) equals &samples_p[ch][0]. The confusion
> probably stemmed from the IMA WAV case where it originally
> was &samples[avctx->channels + ch], which was correctly
> changed into &samples_p[ch][1].
>
> CC: libav-stable at libav.org
> ---
>   libavcodec/adpcmenc.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c
> index fb3ce0d..2cf8d6f 100644
> --- a/libavcodec/adpcmenc.c
> +++ b/libavcodec/adpcmenc.c
> @@ -549,7 +549,7 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
>               put_bits(&pb, 7,  status->step_index);
>               if (avctx->trellis > 0) {
>                   uint8_t buf[64];
> -                adpcm_compress_trellis(avctx, &samples_p[ch][1], buf, status,
> +                adpcm_compress_trellis(avctx, &samples_p[ch][0], buf, status,
>                                          64, 1);
>                   for (i = 0; i < 64; i++)
>                       put_bits(&pb, 4, buf[i ^ 1]);

Thanks. Sorry for breaking it.

-Justin



More information about the libav-devel mailing list