1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
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
aacencdsp.asm
aacpsdsp_init.c
aacpsdsp.asm
ac3dsp_downmix.asm
ac3dsp_init.c
ac3dsp.asm
alacdsp_init.c
alacdsp.asm
audiodsp_init.c
audiodsp.asm
blockdsp_init.c
blockdsp.asm
bswapdsp_init.c
bswapdsp.asm
cabac.h
cavsdsp.c
cavsidct.asm
celt_pvq_init.c
celt_pvq_search.asm
cfhddsp_init.c
cfhddsp.asm
cfhdencdsp_init.c
cfhdencdsp.asm
constants.c
constants.h
dcadsp_init.c
dcadsp.asm
dct32.asm
dct_init.c
dirac_dwt_init.c
dirac_dwt.asm
diracdsp_init.c
diracdsp.asm
dnxhdenc_init.c
dnxhdenc.asm
exrdsp_init.c
exrdsp.asm
fdct.c
fdct.h
fdctdsp_init.c
fft_init.c
fft.asm
fft.h
flac_dsp_gpl.asm
flacdsp_init.c
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
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
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
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
Makefile
mathops.h
mdct15_init.c
mdct15.asm
me_cmp_init.c
me_cmp.asm
mlpdsp_init.c
mlpdsp.asm
mpegaudiodsp.c
mpegvideo.c
mpegvideodsp.c
mpegvideoenc_qns_template.c
mpegvideoenc_template.c
mpegvideoenc.c
mpegvideoencdsp_init.c
mpegvideoencdsp.asm
opusdsp_init.c
opusdsp.asm
pixblockdsp_init.c
pixblockdsp.asm
pngdsp_init.c
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
rv40dsp.asm
sbcdsp_init.c
sbcdsp.asm
sbrdsp_init.c
sbrdsp.asm
simple_idct10_template.asm
simple_idct10.asm
simple_idct.asm
simple_idct.h
snowdsp.c
svq1enc_init.c
svq1enc.asm
synth_filter_init.c
synth_filter.asm
takdsp_init.c
takdsp.asm
ttadsp_init.c
ttadsp.asm
ttaencdsp_init.c
ttaencdsp.asm
utvideodsp_init.c
utvideodsp.asm
v210-init.c
v210.asm
v210enc_init.c
v210enc.asm
vc1dsp_init.c
vc1dsp_loopfilter.asm
vc1dsp_mc.asm
vc1dsp_mmx.c
vc1dsp.h
videodsp_init.c
videodsp.asm
vorbisdsp_init.c
vorbisdsp.asm
vp3dsp_init.c
vp3dsp.asm
vp6dsp_init.c
vp6dsp.asm
vp8dsp_init.c
vp8dsp_loopfilter.asm
vp8dsp.asm
vp9dsp_init_10bpp.c
vp9dsp_init_12bpp.c
vp9dsp_init_16bpp_template.c
vp9dsp_init_16bpp.c
vp9dsp_init.c
vp9dsp_init.h
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
w64xmmtest.c
xvididct_init.c
xvididct.asm
xvididct.h