[x265] X265 can't build with the latest version of VMAF lib

Ben bchen.bin at gmail.com
Tue Oct 30 18:52:41 CET 2018


Hello X265 community,



When I configured x265 to build with the VMAF lib, I got the following
error messages. I could build x265 and VMAF separately though. I think the
reason was because that Netflix changed compute_vmaf() interface (added
more input arguments) but x265 was not updated for that change.  I used the
latest code for both x265 and VMAF as of 10/26.



/home/bchen/workspace/x265/source/encoder/api.cpp: In function ‘double
x265_calculate_vmafscore(x265_param*, x265_vmaf_data*)’:

/home/bchen/workspace/x265/source/encoder/api.cpp:1504:253: error: too few
arguments to function ‘int compute_vmaf(double*, char*, int, int, int
(*)(float*, float*, float*, int, void*), void*, char*, char*, char*, int,
int, int, int, int, int, int, char*, int, int, int)’

 e_transform, vcd->phone_model, vcd->psnr, vcd->ssim, vcd->ms_ssim,
vcd->pool);


^

In file included from
/home/bchen/workspace/x265/source/encoder/api.cpp:35:0:

/usr/local/include/libvmaf.h:26:5: note: declared here

 int compute_vmaf(double* vmaf_score, char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data),

     ^~~~~~~~~~~~

/home/bchen/workspace/x265/source/encoder/api.cpp: In function ‘double
x265_calculate_vmaf_framelevelscore(x265_vmaf_framedata*)’:

/home/bchen/workspace/x265/source/encoder/api.cpp:1606:280: error: too few
arguments to function ‘int compute_vmaf(double*, char*, int, int, int
(*)(float*, float*, float*, int, void*), void*, char*, char*, char*, int,
int, int, int, int, int, int, char*, int, int, int)’

 le_transform, vcd->phone_model, vcd->psnr, vcd->ssim, vcd->ms_ssim,
vcd->pool);


                                          ^

In file included from
/home/bchen/workspace/x265/source/encoder/api.cpp:35:0:

/usr/local/include/libvmaf.h:26:5: note: declared here

 int compute_vmaf(double* vmaf_score, char* fmt, int width, int height, int
(*read_frame)(float *ref_data, float *main_data, float *temp_data, int
stride_byte, void *user_data),

     ^~~~~~~~~~~~

encoder/CMakeFiles/encoder.dir/build.make:446: recipe for target
'encoder/CMakeFiles/encoder.dir/api.cpp.o' failed

make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1

CMakeFiles/Makefile2:262: recipe for target
'encoder/CMakeFiles/encoder.dir/all' failed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20181030/db47a71a/attachment.html>


More information about the x265-devel mailing list