[FFmpeg-devel] [PATCH] HE-AAC v1 try 5

Michael Niedermayer michaelni
Mon Mar 8 22:45:57 CET 2010


On Mon, Mar 08, 2010 at 02:56:15PM -0500, Alex Converse wrote:
> On Mon, Mar 8, 2010 at 5:01 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Sun, Mar 07, 2010 at 11:26:16PM -0500, Alex Converse wrote:
> >> On Sat, Mar 6, 2010 at 4:12 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> > On Fri, Mar 05, 2010 at 07:00:14PM -0500, Alex Converse wrote:
> >> >> On Thu, Mar 4, 2010 at 5:20 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> >> > On Wed, Mar 03, 2010 at 10:07:12PM -0500, Alex Converse wrote:
[...]
> >> >> >> +/// Generate the subband filtered lowband
> >> >> >> +static int sbr_lf_gen(AACContext *ac, SpectralBandReplication *sbr,
> >> >> >> + ? ? ? ? ? ? ? ? ? ? ?float X_low[32][40][2], float W[2][32][32][2]) {
> >> >> >
> >> >> > nothing being const looks suspicous
> >> >> >
> >> >>
> >> >> not being const is the easiest way to keep gcc from getting pissy
> >> >> while looking for real warnings.
> >> >
> >> > gcc does not complain if all your variables are marked properly
> >> > it just complains if a subset is marked const
> >> >
> >>
> >> gcc believes that multilevel const casts are fundamentally unsafe
> >>
> >> /home/alex/Projects/ffmpeg/aac-sbr/ffmpeg/libavcodec/aacsbr.c:1357:
> >> note: expected ?const float (*)[2]? but argument is of type ?float
> >> (*)[2]?
> >
> > can you show the code that triggers this warning?
> >
> 
> sbr.h:
>  165     ///Zeroth coefficient used to filter the subband signals
>  166     float              alpha0[64][2];
>  167     ///First coefficient used to filter the subband signals
>  168     float              alpha1[64][2];
> 
> aacsbr.c:
> 1740         sbr_hf_gen(ac, sbr, sbr->X_high, sbr->X_low, sbr->alpha0,
> sbr->alpha1,
> 1741                    sbr->data[ch].bw_array, sbr->data[ch].t_env,
> 1742                    sbr->data[ch].bs_num_env[1]);
> 
> 1352 static int sbr_hf_gen(AACContext *ac, SpectralBandReplication *sbr,
> 1353                       float X_high[64][40][2], const float
> X_low[32][40][2],
> 1354                       const float (*alpha0)[2], const float (*alpha1)[2],
> 1355                       const float bw_array[5], const uint8_t *t_env,
> 1356                       int bs_num_env)

is there some option to make gcc not complain about these cases?
and theres still my suggestion from a while ago about piping compiler output
through a filter removing silly warnings.
with the difficulty of finding the correct option to shut a specific class of
warnings up filtering the output would be less work and be free of sideeffects
caused by loosing other warings (about const in this case i guess)

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Observe your enemies, for they first find out your faults. -- Antisthenes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100308/c1ae06d1/attachment.pgp>



More information about the ffmpeg-devel mailing list