[FFmpeg-devel] [PATCH] TwinVQ decoder

Vitor Sessak vitor1001
Fri Aug 7 05:53:33 CEST 2009


Loren Merritt wrote:
> On Wed, 5 Aug 2009, Vitor Sessak wrote:
>> Loren Merritt wrote:
>>
>>> Replace imdctw_win_block and imdct_and_window with ff_imdct_half and 
>>> vector_fmul_window, as per vorbis_dec.c lines 1512-1537. Or maybe aac 
>>> is a closer match since it has multiple mdct blocks per packet.
>>
>> Thanks, that was a nice optimization. New version attached.
> 
> What is add_vec for? In a normal mdct codec, any given output sample is 
> either windowed between two imdct blocks, or copied verbatim from one. 
> There is no other addition.
> 
> What are the memcpies in imdct_and_window:FT_SHORT and FT_MEDIUM for? 
> Doesn't imdctw_win_block handle any adjacent samples that aren't windowed?
> 
> What's the memset in imdctw_win_block for? Nothing should ever be 
> memset; if it's knowably zero, then don't add it to the output.
> 
> Short and medium modes could avoid intermediate copies to history by 
> alternating between two parts of the imdct tmp buffer.
> 
> The giant switch could be made more concise, and maybe faster, as a LUT 
> or two.

That mess was actually a pretty standard IMDCT windowing. New version 
attached.

-Vitor

-------------- next part --------------
A non-text attachment was scrubbed...
Name: twin.diff
Type: text/x-diff
Size: 1882 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090807/fdfab314/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: twinvq.c
Type: text/x-csrc
Size: 37909 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090807/fdfab314/attachment.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: twinvq_data.h
Type: text/x-chdr
Size: 13509 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090807/fdfab314/attachment.h>



More information about the ffmpeg-devel mailing list