diff mbox

[1/2] x265: new package

Message ID 1445716229-40660-1-git-send-email-thijsvermeir@gmail.com
State Accepted
Commit b261a01323352f6b6b19dffff5ee336be581de86
Headers show

Commit Message

Thijs Vermeir Oct. 24, 2015, 7:50 p.m. UTC
x265 is a H.265 / HEVC video encoder application library, designed to encode
video or images into an H.265 / HEVC encoded bitstream.

http://x265.org

Signed-off-by: Thijs Vermeir <thijsvermeir@gmail.com>
---
 package/Config.in      |  1 +
 package/x265/Config.in | 23 +++++++++++++++++++++++
 package/x265/x265.hash |  2 ++
 package/x265/x265.mk   | 31 +++++++++++++++++++++++++++++++
 4 files changed, 57 insertions(+)
 create mode 100644 package/x265/Config.in
 create mode 100644 package/x265/x265.hash
 create mode 100644 package/x265/x265.mk

Comments

Peter Korsgaard Oct. 25, 2015, 9:29 p.m. UTC | #1
>>>>> "Thijs" == Thijs Vermeir <thijsvermeir@gmail.com> writes:

 > x265 is a H.265 / HEVC video encoder application library, designed to encode
 > video or images into an H.265 / HEVC encoded bitstream.

 > http://x265.org

 > Signed-off-by: Thijs Vermeir <thijsvermeir@gmail.com>

> +++ b/package/x265/x265.mk
 > @@ -0,0 +1,31 @@
 > +################################################################################
 > +#
 > +# x265
 > +#
 > +################################################################################
 > +
 > +X265_VERSION = 1.8
 > +X265_SOURCE = x265_$(X265_VERSION).tar.gz
 > +X265_SITE = https://bitbucket.org/multicoreware/x265/downloads
 > +X265_LICENSE = GPLv2+
 > +X265_LICENSE_FILES = COPYING
 > +X265_SUBDIR = source/

NIT: we normally don't append the trailing '/'.

> +X265_INSTALL_STAGING = YES
 > +
 > +ifeq ($(BR2_i386)$(BR2_x86_64),y)
 > +X265_DEPENDENCIES += host-yasm
 > +endif
 > +
 > +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
 > +X265_CONF_OPTS += -DENABLE_SHARED=true -DENABLE_PIC=true
 > +else
 > +X265_CONF_OPTS += -DENABLE_SHARED=false
 > +endif

Any idea why the x265 developers don't use the "standard"
BUILD_SHARED_LIBS=ON|OFF flag like other packages?

> +
 > +ifeq ($(BR2_PACKAGE_X265_CLI),)
 > +X265_CONF_OPTS += -DENABLE_CLI=false
 > +else
 > +X265_CONF_OPTS += -DENABLE_CLI=true
 > +endif

We prefer positive logic, so I've swapped these around.

Committed, thanks.
Yann E. MORIN Oct. 25, 2015, 9:40 p.m. UTC | #2
\Peter, All,

On 2015-10-25 22:29 +0100, Peter Korsgaard spake thusly:
> >>>>> "Thijs" == Thijs Vermeir <thijsvermeir@gmail.com> writes:
>  > x265 is a H.265 / HEVC video encoder application library, designed to encode
>  > video or images into an H.265 / HEVC encoded bitstream.
> 
>  > http://x265.org
> 
>  > Signed-off-by: Thijs Vermeir <thijsvermeir@gmail.com>
> 
> > +++ b/package/x265/x265.mk
>  > @@ -0,0 +1,31 @@
>  > +################################################################################
>  > +#
>  > +# x265
>  > +#
>  > +################################################################################
>  > +
>  > +X265_VERSION = 1.8
>  > +X265_SOURCE = x265_$(X265_VERSION).tar.gz
>  > +X265_SITE = https://bitbucket.org/multicoreware/x265/downloads
>  > +X265_LICENSE = GPLv2+
>  > +X265_LICENSE_FILES = COPYING
>  > +X265_SUBDIR = source/
> 
> NIT: we normally don't append the trailing '/'.
> 
> > +X265_INSTALL_STAGING = YES
>  > +
>  > +ifeq ($(BR2_i386)$(BR2_x86_64),y)
>  > +X265_DEPENDENCIES += host-yasm
>  > +endif
>  > +
>  > +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
>  > +X265_CONF_OPTS += -DENABLE_SHARED=true -DENABLE_PIC=true
>  > +else
>  > +X265_CONF_OPTS += -DENABLE_SHARED=false
>  > +endif
> 
> Any idea why the x265 developers don't use the "standard"
> BUILD_SHARED_LIBS=ON|OFF flag like other packages?

I gues it would work, since they do things like:

    if(ENABLE_SHARED)
and
    if(ENABLE_PIC)

Ditto for CLI.

Thijs, care to check if changing true/false to ON/OFF still works,
please? If so, can you send an patch? This way, all our Cmake-based
packages will look the same, which is good for consistency.

Regards,
Yann E. MORIN.

>  > +ifeq ($(BR2_PACKAGE_X265_CLI),)
>  > +X265_CONF_OPTS += -DENABLE_CLI=false
>  > +else
>  > +X265_CONF_OPTS += -DENABLE_CLI=true
>  > +endif
> 
> We prefer positive logic, so I've swapped these around.
> 
> Committed, thanks.
> 
> -- 
> Bye, Peter Korsgaard
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thijs Vermeir Oct. 26, 2015, 12:53 p.m. UTC | #3
Hi,

On Sun, Oct 25, 2015 at 10:40 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> \Peter, All,
>
> On 2015-10-25 22:29 +0100, Peter Korsgaard spake thusly:
>> >>>>> "Thijs" == Thijs Vermeir <thijsvermeir@gmail.com> writes:
>>  > x265 is a H.265 / HEVC video encoder application library, designed to encode
>>  > video or images into an H.265 / HEVC encoded bitstream.
>>
>>  > http://x265.org
>>
>>  > Signed-off-by: Thijs Vermeir <thijsvermeir@gmail.com>
>>
>> > +++ b/package/x265/x265.mk
>>  > @@ -0,0 +1,31 @@
>>  > +################################################################################
>>  > +#
>>  > +# x265
>>  > +#
>>  > +################################################################################
>>  > +
>>  > +X265_VERSION = 1.8
>>  > +X265_SOURCE = x265_$(X265_VERSION).tar.gz
>>  > +X265_SITE = https://bitbucket.org/multicoreware/x265/downloads
>>  > +X265_LICENSE = GPLv2+
>>  > +X265_LICENSE_FILES = COPYING
>>  > +X265_SUBDIR = source/
>>
>> NIT: we normally don't append the trailing '/'.
>>
>> > +X265_INSTALL_STAGING = YES
>>  > +
>>  > +ifeq ($(BR2_i386)$(BR2_x86_64),y)
>>  > +X265_DEPENDENCIES += host-yasm
>>  > +endif
>>  > +
>>  > +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
>>  > +X265_CONF_OPTS += -DENABLE_SHARED=true -DENABLE_PIC=true
>>  > +else
>>  > +X265_CONF_OPTS += -DENABLE_SHARED=false
>>  > +endif
>>
>> Any idea why the x265 developers don't use the "standard"
>> BUILD_SHARED_LIBS=ON|OFF flag like other packages?
>
> I gues it would work, since they do things like:
>
>     if(ENABLE_SHARED)
> and
>     if(ENABLE_PIC)
>
> Ditto for CLI.
>
> Thijs, care to check if changing true/false to ON/OFF still works,
> please? If so, can you send an patch? This way, all our Cmake-based
> packages will look the same, which is good for consistency.
>
> Regards,
> Yann E. MORIN.

Yes, I can look at it. To be clear you mean by the "standard" way:
- create a patch to accept BUILD_SHARED_LIBS (and enable fPIC) and
remove all the shared lib stuff from the mk file
- and change values in the mk file for the CLI option from true/false -> ON/OFF

Gr,
Thijs

>
>>  > +ifeq ($(BR2_PACKAGE_X265_CLI),)
>>  > +X265_CONF_OPTS += -DENABLE_CLI=false
>>  > +else
>>  > +X265_CONF_OPTS += -DENABLE_CLI=true
>>  > +endif
>>
>> We prefer positive logic, so I've swapped these around.
>>
>> Committed, thanks.
>>
>> --
>> Bye, Peter Korsgaard
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
Yann E. MORIN Oct. 26, 2015, 6 p.m. UTC | #4
Thijs, All,

On 2015-10-26 13:53 +0100, Thijs Vermeir spake thusly:
> On Sun, Oct 25, 2015 at 10:40 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
[--SNIP--]
> > Thijs, care to check if changing true/false to ON/OFF still works,
> > please? If so, can you send an patch? This way, all our Cmake-based
> > packages will look the same, which is good for consistency.
> >
> > Regards,
> > Yann E. MORIN.
> 
> Yes, I can look at it. To be clear you mean by the "standard" way:
> - create a patch to accept BUILD_SHARED_LIBS (and enable fPIC) and
> remove all the shared lib stuff from the mk file

No, it should not be needed to patch the sources of the package.

Just check if changing true/false in x265.mk to ON/OFF still works. If
so, do the change and send a patch to Buildroot to use ON/OFF instead of
true/false.

If it does not work, we will keep true/false.

Regards,
Yann E. MORIN.
Thijs Vermeir Oct. 26, 2015, 8:18 p.m. UTC | #5
Hi,

On Mon, Oct 26, 2015 at 7:00 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Thijs, All,
>
> On 2015-10-26 13:53 +0100, Thijs Vermeir spake thusly:
>> On Sun, Oct 25, 2015 at 10:40 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> ...
>
> No, it should not be needed to patch the sources of the package.
>
> Just check if changing true/false in x265.mk to ON/OFF still works. If
> so, do the change and send a patch to Buildroot to use ON/OFF instead of
> true/false.
>
> If it does not work, we will keep true/false.

Works like a charm!

Gr,
Thijs

>
> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 2f74439..10ff94e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -978,6 +978,7 @@  menu "Multimedia"
 	source "package/live555/Config.in"
 	source "package/mediastreamer/Config.in"
 	source "package/x264/Config.in"
+	source "package/x265/Config.in"
 endmenu
 
 menu "Networking"
diff --git a/package/x265/Config.in b/package/x265/Config.in
new file mode 100644
index 0000000..4d202a9
--- /dev/null
+++ b/package/x265/Config.in
@@ -0,0 +1,23 @@ 
+config BR2_PACKAGE_X265
+	bool "x265"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  x265 is an open source free software and library for encoding video
+	  using the High Efficiency Video Coding (HEVC/H.265) standard. x265 is
+	  offered under either the GNU General Public License (GPL) 2 license or
+	  a commercial license, similar to the x264 project.
+
+	  http://x265.org
+
+if BR2_PACKAGE_X265
+
+config BR2_PACKAGE_X265_CLI
+	bool "CLI"
+	help
+	  Command-line tool to encode video streams into the
+	  H.265/HEVC compression format.
+
+endif
+
+comment "x265 needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/x265/x265.hash b/package/x265/x265.hash
new file mode 100644
index 0000000..714ec2a
--- /dev/null
+++ b/package/x265/x265.hash
@@ -0,0 +1,2 @@ 
+# Locally generated
+sha256 760e6280c688f1ea90c492d19fc6d4084ca1c4b0ea9b2e3c736d32565c30d857 x265_1.8.tar.gz
diff --git a/package/x265/x265.mk b/package/x265/x265.mk
new file mode 100644
index 0000000..5b34eb4
--- /dev/null
+++ b/package/x265/x265.mk
@@ -0,0 +1,31 @@ 
+################################################################################
+#
+# x265
+#
+################################################################################
+
+X265_VERSION = 1.8
+X265_SOURCE = x265_$(X265_VERSION).tar.gz
+X265_SITE = https://bitbucket.org/multicoreware/x265/downloads
+X265_LICENSE = GPLv2+
+X265_LICENSE_FILES = COPYING
+X265_SUBDIR = source/
+X265_INSTALL_STAGING = YES
+
+ifeq ($(BR2_i386)$(BR2_x86_64),y)
+X265_DEPENDENCIES += host-yasm
+endif
+
+ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+X265_CONF_OPTS += -DENABLE_SHARED=true -DENABLE_PIC=true
+else
+X265_CONF_OPTS += -DENABLE_SHARED=false
+endif
+
+ifeq ($(BR2_PACKAGE_X265_CLI),)
+X265_CONF_OPTS += -DENABLE_CLI=false
+else
+X265_CONF_OPTS += -DENABLE_CLI=true
+endif
+
+$(eval $(cmake-package))