Patman86 / SVT-AV1-Mod-by-Patman

Patman's Mod of SVT-AV1 with some modifications
BSD 3-Clause Clear License
11 stars 0 forks source link

How do I compile svt-av1-psy with libdovi and libhdr10plus on msvc? #7

Closed Uranite closed 3 months ago

Uranite commented 3 months ago

Hi, I'm just wondering, how do I compile svt-av1-psy with libdovi and libhdr10plus on msvc? I already know how to compile with msvc, just not with libdovi and libhdr10plus support, It'll be great to know how

Patman86 commented 3 months ago

I will describe this to you in more detail in the next few days. I also had to try out a lot 🫣

Patman86 commented 3 months ago

So, here are my instructions on how to compile the SVT-AV1-PSY with libdovi and libhdr10plus.

First you have to download the installation file for Rust under Windows: Rust-MSVC

After installing Rust you have to enter the following command in the command line: cargo install cargo-c, because libdovi and libhdr10plus are written in rust-c.

To compile the libraries you have to clone the repositories or download them as a zip file. Once you have unpacked the repositories on your desired drive you have to go to the dolby_vision folder to compile libdovi. Open the command window in this folder and enter the following command: cargo cinstall --release --prefix=drive:\to\SVT-AV1-PSY\Source\dovi. All the required files will then be written to this folder.

It is similar for libhdr10plus, go to the main folder of hdr10plus and open the command window again and enter the command to compile cargo cinstall --release --prefix=drive:\to\SVT-AV1-PSY\Source\hdr10plus.

So you already have the libraries you need to build the file.

Now you have to adjust two files in the source folder of SVT-AV1-PSY, otherwise it won't work. Firstly, the file Source/App/EncApp/CMakeLists.txt and the file Source/App/EncApp/EbAppConfig.h. You can see the changes that need to be made in my commits in my Git. Absolute paths must be stored.

You can try it out and see if you can handle it. If you have any further questions, just let me know 😉

Uranite commented 3 months ago

All good 👍

Uranite commented 3 months ago

Actually I forgot to mention, the correct path for dovi is Source\dovi\msvc and for hdr10plus is Source\hdr\msvc

Patman86 commented 3 months ago

Only in my case, because I create the libs for gnu and msvc and use the same script. Otherwise that wouldn't be necessary 😉

Uranite commented 3 months ago

I just don't really feel like modifying the code 😄

Patman86 commented 3 months ago

😂🤣