[FFmpeg-devel] [PATCH] Common ACELP routines (2/3) - filters
Michael Niedermayer
michaelni
Sat Apr 26 20:14:28 CEST 2008
On Sun, Apr 27, 2008 at 01:05:32AM +0700, Vladimir Voroshilov wrote:
> On Sun, Apr 27, 2008 at 12:41 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Sat, Apr 26, 2008 at 11:11:56PM +0700, Vladimir Voroshilov wrote:
> >
> > > On Fri, Apr 25, 2008 at 6:16 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > >
> > > [...]
> > >
> > > > Yes thats also what i thought at first but vladimirs insistance made
> > > > me belive that the output of this function would be the final audio
> > > > samples returned from "decode_audio". In which cases one of course
> > > > cannot have 10 samples before it.
> > > > Now after looking at the actual code its clear that there are always
> > > > some other filters applied afterwards. So i agree, none of this makes
> > > > sense, no double writing, no special case for the first "10" samples
> > > > nor a memcpy() should be needed. Except a memcpy to move the first
> > > > "10" samples to the buffer start.
> > >
> > > To tell the truth i didn't understand should i fix patch somehow or
> > > not according to above.
> >
> > ff_acelp_lp_synthesis_filter_inplace() is exactly what we need,
> > ff_acelp_lp_synthesis_filter() is unneeded, please remove it.
> >
> >
> >
> > >
> > > After splitting ff_acelp_lp_synthesis_filter, one of routines still
> > > requires additional 10 items in filter data. It is possible to avoid
> > > such requirement in cost of additional 20 bytes long memcpy.
> > > But i don't know will this improve something or not.
> >
> > Only a single memcpy() of 10 elements is needed.
> >
> > memcpy(buf, buf+N, 10);
> > overflow= acelp_lp_synthesis_filter(buf+10, input, N);
> > if(overflow){
> > for(i=0; i<N; i++)
> > input[i]>>=123;
> > acelp_lp_synthesis_filter(buf+10, input, N);
> > }
>
> buf is subframe_size+10 long as i see.
> And this will require copy from buf to output_data
> (explicit via memcpy or implicit, e.g. high-pass filter should put
> data directly to output_data instead of it's input buffer)
> Second is preferred, right?
yes
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- 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/20080426/9d744ae9/attachment.pgp>
More information about the ffmpeg-devel
mailing list