[FFmpeg-soc] [soc]: r4376 - in amr: amrnbfloatdata.h amrnbfloatdec.c

Robert Swain robert.swain at gmail.com
Tue Jun 2 14:18:53 CEST 2009


cmcq wrote:
> Author: cmcq
> Date: Tue Jun  2 13:58:23 2009
> New Revision: 4376
> 
> Log:
> Rescale AMR samples from 16-bit PCM values
> The samples /A-codecs/amr/{sample,sample2,whatireallywant}.amr now produce
> recognizable output. There is still significant distortion.

Great! :D

> Modified:
>    amr/amrnbfloatdata.h
>    amr/amrnbfloatdec.c
> 
> Modified: amr/amrnbfloatdata.h
> ==============================================================================
> --- amr/amrnbfloatdata.h	Mon Jun  1 19:34:02 2009	(r4375)
> +++ amr/amrnbfloatdata.h	Tue Jun  2 13:58:23 2009	(r4376)
> @@ -38,6 +38,9 @@
>  #define AMR_BLOCK_SIZE    160
>  #define AMR_SUBFRAME_SIZE  40
>  
> +// AMR is designed to produce 16-bit PCM samples (3GPP TS 26.090 4.2)
> +#define AMR_SAMPLE_SCALE 32768.0

Maybe have:

#define AMR_SAMPLE_BOUND 32768.0
#define AMR_SAMPLE_SCALE 1.0/32768.0

and edit the other code accordingly so that you can use * rather than /. 
We may have some suitable dsputil function for this anyway so it's not 
massively important. Michael would have a suggestion about it later I 
expect.

Regards,
Rob


More information about the FFmpeg-soc mailing list