[FFmpeg-soc] [soc]: r2719 - nellyenc/nellymoserenc.c

Bartlomiej Wolowiec bartek.wolowiec at gmail.com
Mon Jul 7 22:21:38 CEST 2008


On poniedziałek, 7 lipca 2008, Robert Swain wrote:
> 2008/7/7 bwolowiec <subversion at mplayerhq.hu>:
> > Author: bwolowiec
> > Date: Mon Jul  7 16:41:50 2008
> > New Revision: 2719
> >
> > Log:
> > use ff_sine_window_init
> >
> >
> > Modified:
> >   nellyenc/nellymoserenc.c
> >
> > Modified: nellyenc/nellymoserenc.c
> > =========================================================================
> >===== --- nellyenc/nellymoserenc.c    (original)
> > +++ nellyenc/nellymoserenc.c    Mon Jul  7 16:41:50 2008
> > @@ -116,10 +116,13 @@ static av_cold int encode_init(AVCodecCo
> >     dsputil_init(&s->dsp, avctx);
> >
> >     /* Generate overlap window */
> > -    if (!sine_window[0])
> > -        for (i=0 ; i<256; i++) {
> > -            sine_window[i] = sin((i + 0.5) / 256.0 * M_PI) /8;
> > +    if (!sine_window[0]){
> > +        ff_sine_window_init(sine_window, 128);
> > +        for (i=0; i<128; i++) {
> > +            sine_window[i] /= 8.0;
>
> This isn't thread safe. You must merge the /8 into some other calculation.

Hmm.. yes, you're right. Unfortunately, I don't see now where it can be 
calculated. If I don't calculate it in init I will have to calculate it 
additionally in every encode_tag, it isn't a good idea.  Maybe it's better to 
use previous version and don't use ff_sine_window_init...? or maybe (in my 
opinion a bit unnatural) such a solution: 
ff_sine_window_init(tmp_sine_window, 128);
for (i=0; i<128; i++) {
  sine_window[i] = tmp_sine_window[i] / 8.0;
  sine_window[255-i] = sine_window[i];
}

>[...]

-- 
Bartlomiej Wolowiec



More information about the FFmpeg-soc mailing list