[FFmpeg-trac] #8866(avfilter:new): libavfilter/vf_yadif_cuda fails to compile
FFmpeg
trac at avcodec.org
Wed Aug 26 23:30:22 EEST 2020
#8866: libavfilter/vf_yadif_cuda fails to compile
-------------------------------------+-------------------------------------
Reporter: Canta | Type: defect
Status: new | Priority: normal
Component: avfilter | Version: git-
Keywords: yadif_cuda | master
yadif csp | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
Today I can't compile ffmpeg with `yadif_cuda` filter.
It was fine yesterday, but it's not working today.
Here's the error log:
{{{
(...)
CC libavfilter/vf_yadif.o
CC libavfilter/vf_yadif_cuda.o
NVCC libavfilter/vf_yadif_cuda.ptx
src/libavfilter/vf_yadif_cuda.c: In function 'filter':
src/libavfilter/vf_yadif_cuda.c:134:22: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
for (i = 0; i < y->csp->nb_components; i++) {
^~
src/libavfilter/vf_yadif_cuda.c:138:47: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
const AVComponentDescriptor *comp = &y->csp->comp[i];
^~
src/libavfilter/vf_yadif_cuda.c:149:74: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
av_log(ctx, AV_LOG_ERROR, "Unsupported pixel format: %s\n",
y->csp->name);
^~
src/libavfilter/vf_yadif_cuda.c:162:74: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
av_log(ctx, AV_LOG_ERROR, "Unsupported pixel format: %s\n",
y->csp->name);
^~
In file included from src/libavutil/avutil.h:296:0,
from src/libavutil/avassert.h:31,
from src/libavfilter/vf_yadif_cuda.c:21:
src/libavfilter/vf_yadif_cuda.c:173:56: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->width, i ?
y->csp->log2_chroma_w : 0),
^
src/libavutil/common.h:58:53: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:173:56: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->width, i ?
y->csp->log2_chroma_w : 0),
^
src/libavutil/common.h:58:71: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:173:56: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->width, i ?
y->csp->log2_chroma_w : 0),
^
src/libavutil/common.h:59:70: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:173:56: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->width, i ?
y->csp->log2_chroma_w : 0),
^
src/libavutil/common.h:59:83: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:174:57: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->height, i ?
y->csp->log2_chroma_h : 0),
^
src/libavutil/common.h:58:53: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:174:57: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->height, i ?
y->csp->log2_chroma_h : 0),
^
src/libavutil/common.h:58:71: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:174:57: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->height, i ?
y->csp->log2_chroma_h : 0),
^
src/libavutil/common.h:59:70: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:174:57: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(y->cur->height, i ?
y->csp->log2_chroma_h : 0),
^
src/libavutil/common.h:59:83: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:177:53: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->width, i ? y->csp->log2_chroma_w
: 0),
^
src/libavutil/common.h:58:53: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:177:53: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->width, i ? y->csp->log2_chroma_w
: 0),
^
src/libavutil/common.h:58:71: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:177:53: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->width, i ? y->csp->log2_chroma_w
: 0),
^
src/libavutil/common.h:59:70: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:177:53: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->width, i ? y->csp->log2_chroma_w
: 0),
^
src/libavutil/common.h:59:83: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:178:54: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->height, i ? y->csp->log2_chroma_h
: 0),
^
src/libavutil/common.h:58:53: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:178:54: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->height, i ? y->csp->log2_chroma_h
: 0),
^
src/libavutil/common.h:58:71: note: in definition of macro
'AV_CEIL_RSHIFT'
#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b))
\
^
src/libavfilter/vf_yadif_cuda.c:178:54: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->height, i ? y->csp->log2_chroma_h
: 0),
^
src/libavutil/common.h:59:70: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c:178:54: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
AV_CEIL_RSHIFT(dst->height, i ? y->csp->log2_chroma_h
: 0),
^
src/libavutil/common.h:59:83: note: in definition of macro
'AV_CEIL_RSHIFT'
: ((a) + (1<<(b))
- 1) >> (b))
^
src/libavfilter/vf_yadif_cuda.c: In function 'config_output':
src/libavfilter/vf_yadif_cuda.c:315:6: error: 'YADIFContext {aka struct
YADIFContext}' has no member named 'csp'
y->csp = av_pix_fmt_desc_get(output_frames->sw_format);
^~
/opt/src/build/ffmpeg/ffbuild/common.mak:67: recipe for target
'libavfilter/vf_yadif_cuda.o' failed
make: *** [libavfilter/vf_yadif_cuda.o] Error 1
}}}
I believe the cause may be this, which is from minutes ago:
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=2a9b934675b9e2d3850b46f8a618c19b03f02551
Looks like a code simplification that broke the interface `yadif_cuda`
filter uses. But I'm no expert, so please take a look at it if you can.
How to reproduce:
{{{
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-
snapshot.tar.bz2 && tar xjvf ffmpeg-snapshot.tar.bz2
mkdir -v ffmpeg_build
cd ffmpeg_build
../ffmpeg/configure --prefix="./" --disable-shared --extra-
cflags=-I/usr/local/include \
--extra-cflags=-I/usr/local/cuda/targets/x86_64-linux/include --extra-
cflags=-I../nvidia/cudautils \
--extra-ldflags=-L/usr/local/cuda/targets/x86_64-linux/lib --extra-
ldflags=-L../nvidia/cudautils \
--enable-nonfree --enable-gpl --enable-version3 --enable-avresample
--enable-avisynth --enable-openal \
--enable-opencl --enable-opengl --enable-libnpp --enable-nvenc --enable-
libxvid --enable-libxml2 \
--enable-cuda --enable-cuda-sdk --enable-vaapi --enable-vdpau --enable-
libx264 --enable-libx265 \
--enable-libass --enable-libwavpack --enable-libsoxr --enable-libfdk-aac
--enable-libfreetype \
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
--enable-libvpx \
--enable-libssh --enable-openssl --enable-libsrt --enable-libzmq
}}}
Thanks.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8866>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list