[XviD-devel] get_block_inter and dequant_inter in the same routine?

Jim Hauxwell xvid-devel@xvid.org
Sat, 11 Jan 2003 19:34:20 -0000


Ive modified mine to do this,  however you have to do the border
coefficients later, after DC/AC prediction.

The way it works is to do use a mask of the values

0, 0, 0, 0, 0, 0, 0, 0
0, 1, 1, 1, 1, 1, 1, 1
0, 1, 1, 1, 1, 1, 1, 1
0, 1, 1, 1, 1, 1, 1, 1
0, 1, 1, 1, 1, 1, 1, 1
0, 1, 1, 1, 1, 1, 1, 1
0, 1, 1, 1, 1, 1, 1, 1
0, 1, 1, 1, 1, 1, 1, 1

when it run length decodes it checks the position on the mask to find out if
inverse quantization can be done or not.  If its on the boarder then it has
to be done after DC/AC prediction.  This is much faster on none intel
hardware (i.e. without mmx)  but about the same on intel.  You do have the
advantage that you dont have lots of 3dn, mmx, xmm routines to write and
maintain.

As it was no faster I didn't bother submitting it.

I'll revisit it next week.

Jim

> -----Original Message-----
> From: xvid-devel-admin@xvid.org [mailto:xvid-devel-admin@xvid.org]On
> Behalf Of Christoph Lampert
> Sent: 11 January 2003 19:20
> To: xvid-devel@xvid.org
> Subject: [XviD-devel] get_block_inter and dequant_inter in the same
> routine?
>
>
>
> Hi,
>
> did anyone ever test if doing get_block_inter() and dequant_inter()
> in the same routine would give a speedup (at least H263 dequant).
>
> It seems so wasteful that the decoder has to call
>
> memset(&block[i * 64], 0, 64 * sizeof(int16_t));
>
> every time a block is read from bitstream, even if only 1 or 2
> coefficients are in the bitsream (which is the general case), and
> then all the zeros are also dequantized.
>
> gruel
>
>
>
>
> _______________________________________________
> XviD-devel mailing list
> XviD-devel@xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel