On Wed, Dec 21, 2011 at 08:27:53PM +0000, Paul B Mahol wrote:
> ---
>  libavcodec/adpcm.c |   14 +++++++++-----
>  1 files changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
> index 48f44fe..2081ef6 100644
> --- a/libavcodec/adpcm.c
> +++ b/libavcodec/adpcm.c
> @@ -1001,11 +1001,15 @@ static int adpcm_decode_frame(AVCodecContext *avctx, 
> void *data,
>          break;
>      case CODEC_ID_ADPCM_IMA_AMV:
>      case CODEC_ID_ADPCM_IMA_SMJPEG:
> -        c->status[0].predictor = (int16_t)bytestream_get_le16(&src);
> -        c->status[0].step_index = bytestream_get_le16(&src);
> -
> -        if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV)
> -            src+=4;
> +        if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV) {
> +            c->status[0].predictor = sign_extend(bytestream_get_le16(&src), 
> 16);
> +            c->status[0].step_index = bytestream_get_le16(&src);
> +            src += 4;
> +        } else {
> +            c->status[0].predictor = sign_extend(bytestream_get_be16(&src), 
> 16);
> +            c->status[0].step_index = bytestream_get_byte(&src);
> +            src += 1;
> +        }
>  
>          for (n = nb_samples >> (1 - st); n > 0; n--, src++) {
>              char hi, lo;
> -- 

LGTM
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to