On 04/22/2011 10:19 PM, Justin Ruggles wrote:

> @@ -574,7 +578,11 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
>      // 60    - Required to scale values to the correct range [-32768,32767]
>      //         for float to int16 conversion. (1 << (60 / 4)) == 32768
>      ac->sf_scale  = 1. / -1024.;
> +#if CONFIG_AUDIO_FLOAT
> +    ac->sf_offset = 0;
> +#else
>      ac->sf_offset = 60;
> +#endif


This apparently is not working when the window sequence is
EIGHT_SHORT_SEQUENCE.  I've been trying to find out where to address
that, but I'm not having any luck.  I'm guessing it's because sf_offset
is set to 12 in that case, but I don't know what to do instead... Any ideas?

It works if I just leave the code as-is and scale at the end before
returning, but that's not ideal since we can save some time by applying
the appropriate scale during decoding.

Also, where can I find or create samples with LTP?  It looks like
ltp_state being int16_t might also lead to some issues.

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

Reply via email to