[FFmpeg-devel] [PATCH 04/12] libavcodec: Implementation of AAC_fixed_decoder (LC-module) [4/4]

Nedeljko Babic Nedeljko.Babic at imgtec.com
Mon Jun 29 13:21:13 CEST 2015


>> From: Jovan Zelincevic <jovan.zelincevic at imgtec.com>
>> 
>> Build system modified
>> 
>> Signed-off-by: Nedeljko Babic <nedeljko.babic at imgtec.com>
>> ---
>>  configure                 |  1 +
>>  libavcodec/Makefile       | 13 ++++++++++---
>>  libavcodec/aacdec.c       |  1 -
>>  libavcodec/aacdec_fixed.c |  1 -
>>  libavcodec/allcodecs.c    |  1 +
>>  5 files changed, 12 insertions(+), 5 deletions(-)
>
>this adds some build warnings:
>In file included from libavcodec/aacdec_fixed.c:426:0:
>libavcodec/aacdec_template.c: In function ‘apply_tns’:
>libavcodec/aacdec_template.c:2360:13: warning: passing argument 1 of ‘compute_lpc_coefs’ from incompatible pointer type [enabled by default]
>libavcodec/lpc.h:155:19: note: expected ‘const float *’ but argument is of type ‘int *’
>libavcodec/aacdec_template.c:2360:13: warning: passing argument 3 of ‘compute_lpc_coefs’ from incompatible pointer type [enabled by default]
>libavcodec/lpc.h:155:19: note: expected ‘float *’ but argument is of type ‘int *’

These warnings are added because this part of code logically belongs 
to sbr module and definitions of macros for types used here are added 
in later patches (for sbr module).
When code is built with all the patches there are no warnings here.
Is this a problem?

>libavcodec/aacdec_template.c: In function ‘imdct_and_windowing_ld’:
>libavcodec/aacdec_template.c:2570:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

This warning is due to me trying to simplify the code a little bit...
I tried to avoid adding additional #if just for declaration of one 
variable so this declaration is in the code.

>libavcodec/aacdec_template.c: In function ‘imdct_and_windowing_eld’:
>libavcodec/aacdec_template.c:2599:64: warning: pointer type mismatch in conditional expression [enabled by default]

As I mentioned earlier post, ER AAC ELD 480 added to float aac decoder a 
while ago is not integrated in to the fixed point implementation.
This warning is here because there is no ff_aac_eld_window_480 table 
defined for fixed point implementation.
I think that it should stay here as a remainder for additional work 
that needs to be done on fixed point aac.

>In file included from libavcodec/aacdec_fixed.c:426:0:
>libavcodec/aacdec_template.c: In function ‘spectral_to_sample’:
>libavcodec/aacdec_template.c:2739:25: warning: passing argument 4 of ‘ff_sbr_apply’ from incompatible pointer type [enabled by default]
>libavcodec/aacsbr.h:46:6: note: expected ‘float *’ but argument is of type ‘int *’
>libavcodec/aacdec_template.c:2739:25: warning: passing argument 5 of ‘ff_sbr_apply’ from incompatible pointer type [enabled by default]
>libavcodec/aacsbr.h:46:6: note: expected ‘float *’ but argument is of type ‘int *’

Cause for these warnings is similar as for the first ones: needed 
definitions are added in later patches (that make changes in sbr module).
When all the patches are applied there are no warnings here.

Thanks,
- Nedeljko


More information about the ffmpeg-devel mailing list