FFmpeg/libavcodec/x86
Felix LeClair 987d2c1083 avcodec/x86/hevc_mc: Fix AVX-512-VNNI_hevc_qpel_filters_avx512icl
Issue: On extremely new hardware using either IceLake or super sets of
Intel IceLakes avx512 instructions, commit
d4cd8830bd causes build issues.
Specifically a NASM macro expansion of qpel_filter_v is never properly
defined/initialized.

The issue is the definition was erroneously placed inside a conditional
which will not trigger unless the original definition failed (has to do
with if PIC is defined, becomes a bit of a catch 22)
Specifically the error is

X86ASM    libavcodec/x86/hevc_mc.o
libavcodec/x86/hevc_mc.asm:1854: error: symbol `..@88472.table' not defined
libavcodec/x86/hevc_mc.asm:1806: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here
...
repeats a few times...
...
make: *** [ffbuild/common.mak💯 libavcodec/x86/hevc_mc.o] Error 1
```
Specific error was discussed by kurosu and myself (fclc) on the
ffmpeg-devel irc.

This commit fixes the above by swapping lines 1796 and 1795, moving the
define out of the conditional

Side note: It seems fate didn't pick up on this, may merit looking into
(as mentioned by nevcairiel).

Reviewed-by: Wu Jianhua <toqsxw@outlook.com>
Signed-off-by: Felix LeClair (FCLC) <felix.leclair123@hotmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2022-05-01 12:42:07 +02:00
..
aacencdsp_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
aacencdsp.asm
aacpsdsp_init.c
aacpsdsp.asm
ac3dsp_downmix.asm
ac3dsp_init.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
ac3dsp.asm ac3enc_fixed: drop unnecessary fixed-point DSP code 2021-01-14 01:44:20 +01:00
alacdsp_init.c
alacdsp.asm
audiodsp_init.c
audiodsp.asm
blockdsp_init.c Remove obsolete version.h inclusions 2022-02-24 12:56:49 +01:00
blockdsp.asm
bswapdsp_init.c
bswapdsp.asm
cabac.h get_cabac_inline_x86: Don't inline if 32-bit clang on windows 2021-08-19 22:29:23 +03:00
cavsdsp.c
cavsidct.asm
celt_pvq_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
celt_pvq_search.asm
cfhddsp_init.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
cfhddsp.asm
cfhdencdsp_init.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
cfhdencdsp.asm avcodec/x86: add cfhdenc SIMD 2021-02-27 17:09:44 +01:00
constants.c avcodec/x86/constants: Remove unused ff_pw_17 2021-02-24 09:49:03 +01:00
constants.h
dcadsp_init.c
dcadsp.asm
dct32.asm
dct_init.c
dirac_dwt_init.c
dirac_dwt.asm
diracdsp_init.c avcodec/x86/diracdsp_init: Reuse macro 2021-02-24 09:38:12 +01:00
diracdsp.asm
dnxhdenc_init.c
dnxhdenc.asm
exrdsp_init.c
exrdsp.asm
fdct.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
fdct.h
fdctdsp_init.c
fft_init.c
fft.asm
fft.h
flac_dsp_gpl.asm
flacdsp_init.c configure: Use a separate config_components.h header for $ALL_COMPONENTS 2022-03-16 14:12:49 +02:00
flacdsp.asm
fmtconvert_init.c
fmtconvert.asm
fpel.asm
fpel.h
g722dsp_init.c
g722dsp.asm
h263_loopfilter.asm
h263dsp_init.c
h264_cabac.c
h264_chromamc_10bit.asm
h264_chromamc.asm
h264_deblock_10bit.asm
h264_deblock.asm
h264_idct_10bit.asm
h264_idct.asm
h264_intrapred_10bit.asm
h264_intrapred_init.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
h264_intrapred.asm avcodec/x86/constants: Remove unused ff_pw_17 2021-02-24 09:49:03 +01:00
h264_qpel_8bit.asm
h264_qpel_10bit.asm
h264_qpel.c lavc/x86/h264_qpel: stop unnecessarily including h264dec 2022-01-26 15:23:30 +01:00
h264_weight_10bit.asm
h264_weight.asm
h264chroma_init.c
h264dsp_init.c avcodec/h264dsp, h264idct: Fix lengths of array parameters 2021-08-08 17:44:57 +02:00
hevc_add_res.asm
hevc_deblock.asm
hevc_idct.asm
hevc_mc.asm avcodec/x86/hevc_mc: Fix AVX-512-VNNI_hevc_qpel_filters_avx512icl 2022-05-01 12:42:07 +02:00
hevc_sao_10bit.asm
hevc_sao.asm
hevcdsp_init.c avcodec/x86/hevc_mc: add qpel_h64_8_avx512icl 2022-04-24 14:47:13 +08:00
hevcdsp.h avcodec/x86/hevc_mc: add qpel_h64_8_avx512icl 2022-04-24 14:47:13 +08:00
hpeldsp_init.c configure: Use a separate config_components.h header for $ALL_COMPONENTS 2022-03-16 14:12:49 +02:00
hpeldsp_rnd_template.c
hpeldsp_vp3_init.c
hpeldsp_vp3.asm
hpeldsp.asm
hpeldsp.h
huffyuvdsp_init.c
huffyuvdsp_template.asm
huffyuvdsp.asm
huffyuvencdsp_init.c
huffyuvencdsp.asm
idctdsp_init.c
idctdsp.asm
idctdsp.h
imdct36.asm
inline_asm.h
jpeg2000dsp_init.c
jpeg2000dsp.asm
lossless_audiodsp_init.c
lossless_audiodsp.asm
lossless_videodsp_init.c
lossless_videodsp.asm
lossless_videoencdsp_init.c
lossless_videoencdsp.asm
lpc.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
Makefile avcodec/x86: add cfhdenc SIMD 2021-02-27 17:09:44 +01:00
mathops.h
mdct15_init.c avutil/avassert: Don't include avutil.h 2022-02-24 12:56:49 +01:00
mdct15.asm
me_cmp_init.c av(codec|device): Don't cast pointers to int 2021-11-21 00:35:30 +01:00
me_cmp.asm
mlpdsp_init.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
mlpdsp.asm
mpegaudiodsp.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
mpegvideo.c
mpegvideodsp.c
mpegvideoenc_qns_template.c
mpegvideoenc_template.c av(codec|device): Don't cast pointers to int 2021-11-21 00:35:30 +01:00
mpegvideoenc.c avcodec/mpegvideo: Move encoder-only stuff to a new header 2022-02-13 19:49:29 +01:00
mpegvideoencdsp_init.c
mpegvideoencdsp.asm
opusdsp_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
opusdsp.asm
pixblockdsp_init.c
pixblockdsp.asm
pngdsp_init.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
pngdsp.asm
proresdsp_init.c
proresdsp.asm
qpel.asm
qpeldsp_init.c
qpeldsp.asm
rnd_template.c
rv34dsp_init.c
rv34dsp.asm
rv40dsp_init.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
rv40dsp.asm
sbcdsp_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
sbcdsp.asm
sbrdsp_init.c
sbrdsp.asm
simple_idct10_template.asm
simple_idct10.asm
simple_idct.asm
simple_idct.h
snowdsp.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
svq1enc_init.c
svq1enc.asm
synth_filter_init.c
synth_filter.asm
takdsp_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
takdsp.asm
ttadsp_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
ttadsp.asm
ttaencdsp_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
ttaencdsp.asm
utvideodsp_init.c
utvideodsp.asm
v210-init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
v210.asm
v210enc_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
v210enc.asm
vc1dsp_init.c vc1dsp: Change remaining stride parameters to ptrdiff_t 2022-03-30 14:53:55 +03:00
vc1dsp_loopfilter.asm vc1dsp: Change remaining stride parameters to ptrdiff_t 2022-03-30 14:53:55 +03:00
vc1dsp_mc.asm
vc1dsp_mmx.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
vc1dsp.h
videodsp_init.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
videodsp.asm
vorbisdsp_init.c
vorbisdsp.asm
vp3dsp_init.c
vp3dsp.asm
vp6dsp_init.c
vp6dsp.asm
vp8dsp_init.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
vp8dsp_loopfilter.asm
vp8dsp.asm
vp9dsp_init_10bpp.c
vp9dsp_init_12bpp.c
vp9dsp_init_16bpp_template.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
vp9dsp_init_16bpp.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
vp9dsp_init.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
vp9dsp_init.h Include attributes.h directly 2021-04-19 14:34:10 +02:00
vp9intrapred_16bpp.asm
vp9intrapred.asm
vp9itxfm_16bpp.asm
vp9itxfm_template.asm
vp9itxfm.asm
vp9lpf_16bpp.asm
vp9lpf.asm
vp9mc_16bpp.asm
vp9mc.asm
vp56_arith.h Include attributes.h directly 2021-04-19 14:34:10 +02:00
w64xmmtest.c avcodec: Remove deprecated old encode/decode APIs 2021-04-27 10:43:12 -03:00
xvididct_init.c
xvididct.asm
xvididct.h