[FFmpeg-trac] #6921(undetermined:new): compile error with vf_libvmaf.c in ffmpeg git master
FFmpeg
trac at avcodec.org
Mon Dec 18 17:54:11 EET 2017
#6921: compile error with vf_libvmaf.c in ffmpeg git master
-------------------------------------+-------------------------------------
Reporter: bermond | Type: defect
Status: new | Priority: normal
Component: | Version: git-
undetermined | master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I'm getting the following compile error when trying to build ffmpeg git
master:
{{{
CC libavfilter/vf_libvmaf.o
libavfilter/vf_libvmaf.c: In function ‘compute_vmaf_score’:
libavfilter/vf_libvmaf.c:162:29: warning: passing argument 1 of
‘compute_vmaf’ from incompatible pointer type [-Wincompatible-pointer-
types]
s->error = compute_vmaf(&s->vmaf_score, format, s->width, s->height,
^
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: expected ‘char *’ but argument is of
type ‘double *’
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
libavfilter/vf_libvmaf.c:162:45: warning: passing argument 2 of
‘compute_vmaf’ makes integer from pointer without a cast [-Wint-
conversion]
s->error = compute_vmaf(&s->vmaf_score, format, s->width, s->height,
^~~~~~
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: expected ‘int’ but argument is of type
‘char *’
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
libavfilter/vf_libvmaf.c:162:63: warning: passing argument 4 of
‘compute_vmaf’ makes pointer from integer without a cast [-Wint-
conversion]
s->error = compute_vmaf(&s->vmaf_score, format, s->width, s->height,
^
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: expected ‘int (*)(float *, float *,
float *, int, void *)’ but argument is of type ‘int’
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
libavfilter/vf_libvmaf.c:163:41: warning: passing argument 6 of
‘compute_vmaf’ from incompatible pointer type [-Wincompatible-pointer-
types]
read_frame, s, s->model_path, s->log_path,
^
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: expected ‘char *’ but argument is of
type ‘LIBVMAFContext * {aka struct LIBVMAFContext *}’
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
libavfilter/vf_libvmaf.c:164:29: warning: passing argument 9 of
‘compute_vmaf’ makes integer from pointer without a cast [-Wint-
conversion]
s->log_fmt, 0, 0, s->enable_transform,
^
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: expected ‘int’ but argument is of type
‘char *’
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
libavfilter/vf_libvmaf.c:166:29: warning: passing argument 16 of
‘compute_vmaf’ makes pointer from integer without a cast [-Wint-
conversion]
s->ms_ssim, s->pool);
^
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: expected ‘char *’ but argument is of
type ‘int’
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
libavfilter/vf_libvmaf.c:162:16: error: too many arguments to function
‘compute_vmaf’
s->error = compute_vmaf(&s->vmaf_score, format, s->width, s->height,
^~~~~~~~~~~~
In file included from libavfilter/vf_libvmaf.c:28:0:
/usr/include/libvmaf.h:26:8: note: declared here
double compute_vmaf(char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data), void *user_data, char *model_path, char
*log_path, char *log_fmt, int disable_clip, int disable_avx, int
enable_transform, int phone_model, int do_psnr, int do_ssim, int
do_ms_ssim, char *pool_method);
^~~~~~~~~~~~
make: *** [ffbuild/common.mak:60: libavfilter/vf_libvmaf.o] Error 1
}}}
How to reproduce:
{{{
$ git clone git://source.ffmpeg.org/ffmpeg.git
$ cd ffmpeg
$ ./configure --enable-version3 --enable-libvmaf
$ make -j1
}}}
A git bisect points to the recent commit
[http://git.videolan.org/?p=ffmpeg.git;a=commit;h=df3222d4bb18cbceda443def17b1b29067ed6e3f
df3222d4bb18cbceda443def17b1b29067ed6e3f].
'''System information:'''
'''OS:''' Arch Linux x86_64
'''ffmpeg:''' git master
'''libvmaf:''' 1.3.1
'''compiler:''' gcc 7.2.1
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6921>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list