Public | Automated Build

Last pushed: 2 days ago
Short Description
A container to build multiple versions of x265
Full Description

X265 builder container

This project prepares a docker image ready for x265 compilation, inspired by MasashiTeruya' x265 building container
There is also a cross-compiling version, with tag win64 in progress, but I am stuck, and cannot cross-compile the cli version of x265...

How to use it

First of all you can pull the image by running docker pull skydiscover/build-x265-multilib.
The image is based on Alpine Linux, but we do not care much about space because the container is not supposed to be kept all the time.

The container generated by this image will build x265 based on environment variables and drop it in a /output folder, so the container must be run like this :

docker run
    --rm \
    -v <my/output/dir>:/output \
    -e <VARIABLES>=<VALUES> \
    ... \
    skydiscover/build-x265-multilib

Variables that will determine the building parameters are the following ones:

MAIN_LIB_STATIC   - Builds a static version of the 8bit library   default: DISABLED
MAIN_LIB_SHARED   - Builds a shared version of the 8bit library   default: DISABLED
MAIN_CLI          - Builds an executable version supporting 8bit  default: DISABLED
MAIN10_LIB_STATIC - Builds a static version of the 10bit library  default: DISABLED
MAIN10_LIB_SHARED - Builds a shared version of the 10bit library  default: DISABLED
MAIN10_CLI        - Builds an executable version supporting 10bit default: DISABLED
MAIN12_LIB_STATIC - Builds a static version of the 12bit library  default: DISABLED
MAIN12_LIB_SHARED - Builds a shared version of the 12bit library  default: DISABLED
MAIN12_CLI        - Builds an executable version supporting 12bit default: DISABLED

Those variables are enabled by setting their value to ENABLED
Other usefull variables are:

CLONE_URL    - The url used for cloning the repository          default: https://bitbucket.org/multicoreware/x265
CLONE_BRANCH - The branch to be cloned (eg: master, stable,...) default: stable

So for instance, if I want to build a 10bit executable version of x265, with the latest improvment, I run the following command:

docker run --rm -v /x265-bin:/output -e MAIN10_CLI=ENABLED -e CLONE_BRANCH=master skydiscover/build-x265-multilib

Of course, if multiple variables are enabled, they will all generate a file with suffixes like _main for 8bit, _main10 for 10bit and _main12 for 12 bit.
No suffix is added for multilib libraries.

Contribute

Since I am not really a compilation guru, I was not able to generate a multilib executable for linux. Any help will be appreciated.
Add because I am quite useless when itcomes to cross-compiling, I am not able to make the cross-compiling version to work, pls halp.

Docker Pull Command
Owner
skydiscover

Comments (0)