[FFmpeg-devel] [PATCH] wmapro decoder

Sascha Sommer saschasommer
Sat Sep 5 17:21:48 CEST 2009


Hi,

> > > > > > +            /** save transmitted scale factors so that they can
> > > > > > be reused for +                the next subframe */
> > > > > > +            memcpy(s->channel[c].saved_scale_factors,
> > > > > > +                   s->channel[c].scale_factors, s->num_bands *
> > > > > > +                   sizeof(*s->channel[c].saved_scale_factors));
> > > > >
> > > > > what happens with s->channel[c].scale_factors so that it cant just
> > > > > be used?
> > > >
> > > > The saved scale factors might be resampled for several subframes
> > > > before some new values are transmitted and saved_scale_factors is
> > > > updated. If the resampled scale factors would be used for the
> > > > resampling, the output would change. Therefore two buffers are
> > > > needed.
> > >
> > > understood, please document this though, also isnt it possible to just
> > > exchange 2 pointers instead of a memcpy?
> >
> > I documented it. Is the attached pointer exchange code ok or did you have
> > something different in mind?
>
> [...]
>
> >              } else {
> >                  int i;
> > +                memcpy(s->channel[c].scale_factors,
> > +                       s->channel[c].resampled_scale_factors,
> > s->num_bands * +                      
> > sizeof(*s->channel[c].saved_scale_factors)); /** run level decode
> > differences to the resampled factors */ for (i = 0; i < s->num_bands;
> > i++) {
> >                      int idx;
>
> thats still a memcpy ...
>
> i had in mind, no mempcpy at all, am i missing something tha makes that
> impossible?
>

No. Attached patch should do.

Regards

Sascha


-------------- next part --------------
A non-text attachment was scrubbed...
Name: wmapro_scalefactor_bufswap2.patch
Type: text/x-diff
Size: 2997 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090905/82fd5fa0/attachment.patch>



More information about the ffmpeg-devel mailing list