[x265] Compiling x265 with libvmaf is broken?

John Klimek jklimek at gmail.com
Tue May 12 15:38:42 CEST 2020


Replying to myself, but I think the following changes might need to be made?

1) source/encoder/api.cpp
>> change #include "libvmaf.h" to #include "libvmaf/libvmaf.h"

2) source/abrEncApp.cpp
>> change m_cliopt.argCount to m_cliopt.argCnt

3) add -lvmaf to linking options

After I made those changes it compiled successfully but I'm not sure
if there is another way this should be fixed?

On Tue, May 12, 2020 at 8:42 AM John Klimek <jklimek at gmail.com> wrote:
>
> I'm having problems compiling x265 on Debian with libvmaf support.
>
> I'm using the latest Git releases of both x265 and vmaf.
>
> The first error is:
>
> [ 66%] Built target hdr10plus-static
>
> /usr/local/src/x265/source/encoder/api.cpp:36:10: fatal error:
> libvmaf.h: No such file or directory
>
>  #include "libvmaf.h"
>
> The problem is that libvmaf.h is inside libvmaf directory so the
> include should be "libvmaf/libvmaf.h".
>
> If I fix that then I get a linker error:
>
> [ 88%] Building CXX object CMakeFiles/cli.dir/abrEncApp.cpp.o
>
> /usr/local/src/x265/source/abrEncApp.cpp: In member function =E2=80=98virtu=
> al
> void x265::PassEncoder::threadMain(=E2=80=99:
>
> /usr/local/src/x265/source/abrEncApp.cpp:817:59: error: =E2=80=98struct
> x265::CLIOptions=E2=80=99 has no member named =E2=80=98argCount=E2=80=99; d=
> id you mean
> =E2=80=98argCnt=E2=80=99?
>
>                  api->vmaf_encoder_log(m_encoder, m_cliopt.argCount,
> m_cliopt.argString, m_cliopt.param, vmafdata);
>
>                                                            ^~~~~~~~
>
>                                                            argCnt
>
> I've tried using the latest non-Git versions of both vmaf and x265 but
> it has similar problems.
>
> Can anybody help?


More information about the x265-devel mailing list