1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
FFmpeg/libavcodec/x86
Christophe Gisquet 4cb6964244 dcadec: simplify decoding of VQ high frequencies
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.

Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.

The decode_hf implementations have following timings:

For x86 Arrandale:
        C  SSE SSE2 SSE4
win32: 260 162  119  104
win64: 242 N/A   89   72

The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
2014-02-28 13:03:22 +01:00
..
ac3dsp_init.c x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
ac3dsp.asm
cabac.h
cavsdsp.c x86: Initialize mmxext after amd3dnow optimizations 2013-12-04 18:52:48 +01:00
constants.c
constants.h
dca.h x86: dca: Add missing multiple inclusion guards 2014-02-19 10:19:15 +01:00
dcadsp_init.c dcadec: simplify decoding of VQ high frequencies 2014-02-28 13:03:22 +01:00
dcadsp.asm dcadec: simplify decoding of VQ high frequencies 2014-02-28 13:03:22 +01:00
dct32.asm
dct_init.c
deinterlace.asm
dnxhdenc.c
dsputil_init.c x86: dsputil: Simplify xvmc deprecation conditional 2014-01-15 15:23:46 +01:00
dsputil_mmx.c
dsputil_qns_template.c
dsputil_x86.c
dsputil_x86.h x86: dsputil: Use correct file name as multiple inclusion guard 2014-02-20 04:16:15 -08:00
dsputil.asm
dsputilenc_mmx.c x86: Initialize mmxext after amd3dnow optimizations 2013-12-04 18:52:48 +01:00
dsputilenc.asm
fdct.c
fft_init.c
fft.asm
fft.h
fmtconvert_init.c
fmtconvert.asm
fpel_mmx.c
fpel.asm
h263_loopfilter.asm
h263dsp_init.c
h264_chromamc_10bit.asm
h264_chromamc.asm
h264_deblock_10bit.asm
h264_deblock.asm
h264_i386.h
h264_idct_10bit.asm
h264_idct.asm
h264_intrapred_10bit.asm
h264_intrapred_init.c h264: do not use 422 functions for monochrome 2014-01-06 08:25:36 +01:00
h264_intrapred.asm
h264_qpel_8bit.asm
h264_qpel_10bit.asm
h264_qpel.c
h264_weight_10bit.asm
h264_weight.asm
h264chroma_init.c
h264dsp_init.c h264: do not use 422 functions for monochrome 2014-01-06 08:25:36 +01:00
hpeldsp_init.c x86: hpeldsp: Add missing av_cold attribute to init function 2014-01-09 15:09:07 +01:00
hpeldsp_mmx.c
hpeldsp_rnd_template.c
hpeldsp.asm
idct_mmx_xvid.c
idct_sse2_xvid.c
idct_xvid.h
imdct36.asm
lpc.c
Makefile x86: dcadsp: implement int8x8_fmul_int32 2014-02-07 22:52:40 +01:00
mathops.h
mlpdsp.c
motion_est.c
mpeg4qpel.asm
mpegaudiodsp.c x86: Consistently use cpu flag detection macros in places that still miss it 2014-01-14 00:04:58 +01:00
mpegvideo.c x86: mpegvideo: move denoise_dct asm to mpegvideoenc 2013-12-20 17:16:11 +01:00
mpegvideoenc_template.c dsputil: x86: Move ff_inv_zigzag_direct16 table init to mpegvideo 2013-12-02 04:05:18 +01:00
mpegvideoenc.c x86: mpegvideo: move denoise_dct asm to mpegvideoenc 2013-12-20 17:16:11 +01:00
pngdsp_init.c
pngdsp.asm
proresdsp_init.c prores: Use consistent names for DSP arch initialization functions 2014-02-28 10:34:55 +01:00
proresdsp.asm
qpel.asm
rnd_mmx.c
rnd_template.c
rv34dsp_init.c x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
rv34dsp.asm
rv40dsp_init.c
rv40dsp.asm
sbrdsp_init.c
sbrdsp.asm
simple_idct.c
vc1dsp_init.c x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
vc1dsp_mmx.c
vc1dsp.asm
vc1dsp.h
videodsp_init.c x86: videodsp: Properly mark sse2 instructions in emulated_edge_mc as such. 2014-01-30 15:30:01 +01:00
videodsp.asm x86: videodsp: Fix a bug in a %if statement where we used '%%' instead of '&&'. 2014-01-30 15:33:23 +01:00
vorbisdsp_init.c
vorbisdsp.asm
vp3dsp_init.c
vp3dsp.asm
vp6dsp_init.c x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
vp6dsp.asm
vp8dsp_init.c x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
vp8dsp_loopfilter.asm
vp8dsp.asm
vp9dsp_init.c x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
vp9dsp.asm lavc: VP9 decoder 2013-11-15 10:16:28 +01:00
vp56_arith.h
w64xmmtest.c