[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