[FFmpeg-devel] IDCT permutation (was: pre discussion around Blackfin dct_quantize_bfin routine)
Marc Hoffman
mmhoffm
Thu Jun 14 19:34:28 CEST 2007
On 6/14/07, Ivan Kalvachev <ikalvachev at gmail.com> wrote:
>
> 2007/6/13, Siarhei Siamashka <siarhei.siamashka at gmail.com>:
> > > > On Blackfin you want to elliminate those permutations they are
> costly.
> > > > Basically, something like:
> > > >
> > > > j=scantable[i];
> > > > x=data[j];
>
> Actually you can combine both lookups. however in that case you'd have
> to reorder the quantizer matrix accordingly.
> However when I tried this approach in mpeg2 decoder the results
> weren't amazing. (Athlon TBird).
I think the thing that would help me is to leave the data sets alone but
create a set of displacement tables for walking around the coefficients.
This would help me in what I have seen so far. Currently I have to do some
crazy stuff to utilize the scantable as is.
r0=b[%1--] (x);
p0=r0;
p0=%2+(p0<<1);
r0=w[p0];
Where if the data was stored as scaled offsets, I would have something like
p0=[%0++];
r0=w[%2++p0];
I still have the stalls but its pretty easy to interleave that piece of code
with 4 elements at a time to eliminate the stall conditions on Blackfin.
Marc
More information about the ffmpeg-devel
mailing list