Skip to contentSkip to conversation

package/tvheadend: add option to en-/disable transcoding support

PATCH New Bernd Kuhls 3 participants 9 messages Sep 6, 2017 – Sep 19, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 package/tvheadend: add option to en-/disable transcoding support

https://github.com/tvheadend/tvheadend/commit/014bb9505e1d7eb6e37e10931dd89ab3b1a0dc01
extended the already present transcoding support and included vaapi- accelerated transcoding.

In order to support these new options and their numerous dependencies we add a new Kconfig option for transcoding support to allow users to disable transcoding support, because they use tvheadend for recording or by its internal hts protocol, for example with the kodi-pvr-hts addon.

---
 package/tvheadend/Config.in    | 18 ++++++++++++++----
 package/tvheadend/tvheadend.mk |  2 +-
 2 files changed, 15 insertions(+), 5 deletions(-)
package/tvheadend/Config.in +14 -4
index fc39d6f48..191593eab 100644
@@ -10,10 +10,6 @@ config BR2_PACKAGE_TVHEADEND
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	select BR2_PACKAGE_DTV_SCAN_TABLES
-	select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG
-	select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG
-	select BR2_PACKAGE_LIBVPX if BR2_PACKAGE_FFMPEG && !BR2_bfin # libvpx
-	select BR2_PACKAGE_X264 if BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSL
 	help
@@ -28,3 +24,17 @@ config BR2_PACKAGE_TVHEADEND
 	      is available on port 9981.
 	    - if you want Avahi support, you'll need to enable:
 	          Avahi, D-Bus, libdaemon
+
+if BR2_PACKAGE_TVHEADEND
+
+config BR2_PACKAGE_TVHEADEND_TRANSCODING
+	bool "transcoding support"
+	select BR2_PACKAGE_FFMPEG
+	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	select BR2_PACKAGE_FFMPEG_SWSCALE
+	select BR2_PACKAGE_LIBVPX if !BR2_bfin # libvpx
+	select BR2_PACKAGE_X264
+	help
+	  Enable transcoding support.
+
+endif
package/tvheadend/tvheadend.mk +1 -1
index 6c0eb6375..b1c1fcaf7 100644
@@ -26,7 +26,7 @@ else
 TVHEADEND_CONF_OPTS += --disable-dbus-1
 endif
 
-ifeq ($(BR2_PACKAGE_FFMPEG),y)
+ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
 TVHEADEND_DEPENDENCIES += ffmpeg
 TVHEADEND_CONF_OPTS += --enable-libav
 else
Signature · 1 line
2.11.0
#1 lore raw

PATCH 2/4 package/tvheadend: bump version, add optional dependencies to opus & x265

This bump
https://github.com/tvheadend/tvheadend/compare/54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732...303f418e1ac2bb3078f7a974b69f04ab6a56c636
updated the transcoding support already present:
https://github.com/tvheadend/tvheadend/commit/014bb9505e1d7eb6e37e10931dd89ab3b1a0dc01

To avoid these build errors

src/transcoding/codec/codecs/libs/libx26x.c:105:18: fatal error: x264.h: No such file or directory
#include <x264.h>

src/transcoding/codec/codecs/libs/libx26x.c:213:18: fatal error: x265.h: No such file or directory
#include <x265.h>

src/transcoding/codec/codecs/libs/libopus.c:23:31: fatal error: opus/opus_defines.h: No such file or directory
#include <opus/opus_defines.h>

we need to add dependency handling already with this patch and keep the hard dependency x264 as minimum codec for transcoding but we now need to enable BR2_PACKAGE_FFMPEG_GPL to enable x264-support also in ffmpeg.

---
 package/tvheadend/Config.in      |  1 +
 package/tvheadend/tvheadend.hash |  2 +-
 package/tvheadend/tvheadend.mk   | 24 ++++++++++++++++++++----
 3 files changed, 22 insertions(+), 5 deletions(-)
package/tvheadend/Config.in +1 -0
index 191593eab..56a3b385d 100644
@@ -31,6 +31,7 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING
 	bool "transcoding support"
 	select BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support
 	select BR2_PACKAGE_FFMPEG_SWSCALE
 	select BR2_PACKAGE_LIBVPX if !BR2_bfin # libvpx
 	select BR2_PACKAGE_X264
package/tvheadend/tvheadend.hash +1 -1
index 3154b3276..a33b0a5e5 100644
@@ -1,2 +1,2 @@
 # Locally computed
-sha256 1994e379c798b118243e70f7fa38064a9b288d6e38b9ced0e8ad465f5d2e8fd9  tvheadend-54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732.tar.gz
+sha256 00f67fbf9d8cfea7da90f469b36a8205fb9a38727c4cc5022f4ee5fd322459d3  tvheadend-303f418e1ac2bb3078f7a974b69f04ab6a56c636.tar.gz
package/tvheadend/tvheadend.mk +20 -4
index b1c1fcaf7..4722cb006 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TVHEADEND_VERSION = 54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732
+TVHEADEND_VERSION = 303f418e1ac2bb3078f7a974b69f04ab6a56c636
 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION))
 TVHEADEND_LICENSE = GPL-3.0+
 TVHEADEND_LICENSE_FILES = LICENSE.md
@@ -27,10 +27,26 @@ TVHEADEND_CONF_OPTS += --disable-dbus-1
 endif
 
 ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
-TVHEADEND_DEPENDENCIES += ffmpeg
-TVHEADEND_CONF_OPTS += --enable-libav
+TVHEADEND_CONF_OPTS += --enable-libav --enable-libx264
+TVHEADEND_DEPENDENCIES += ffmpeg x264
+ifeq ($(BR2_PACKAGE_OPUS),y)
+TVHEADEND_CONF_OPTS += --enable-libopus
+TVHEADEND_DEPENDENCIES += opus
 else
-TVHEADEND_CONF_OPTS += --disable-libav
+TVHEADEND_CONF_OPTS += --disable-libopus
+endif
+ifeq ($(BR2_PACKAGE_X265),y)
+TVHEADEND_CONF_OPTS += --enable-libx265
+TVHEADEND_DEPENDENCIES += x265
+else
+TVHEADEND_CONF_OPTS += --disable-libx265
+endif
+else
+TVHEADEND_CONF_OPTS += \
+	--disable-libav \
+	--disable-libopus \
+	--disable-libx264 \
+	--disable-libx265
 endif
 
 ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
Signature · 1 line
2.11.0
#2 lore raw

PATCH 2/4 package/tvheadend: bump version, add optional dependencies to opus & x265

Bernd, All,

On 2017-09-06 22:49 +0200, Bernd Kuhls spake thusly:

Quoted 32 lines

This bump
https://github.com/tvheadend/tvheadend/compare/54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732...303f418e1ac2bb3078f7a974b69f04ab6a56c636
updated the transcoding support already present:
https://github.com/tvheadend/tvheadend/commit/014bb9505e1d7eb6e37e10931dd89ab3b1a0dc01

To avoid these build errors

src/transcoding/codec/codecs/libs/libx26x.c:105:18: fatal error: x264.h: No such file or directory
#include <x264.h>

src/transcoding/codec/codecs/libs/libx26x.c:213:18: fatal error: x265.h: No such file or directory
#include <x265.h>

src/transcoding/codec/codecs/libs/libopus.c:23:31: fatal error: opus/opus_defines.h: No such file or directory
#include <opus/opus_defines.h>

we need to add dependency handling already with this patch and keep the hard dependency x264 as minimum codec for transcoding but we now need to enable BR2_PACKAGE_FFMPEG_GPL to enable x264-support also in ffmpeg.

---
 package/tvheadend/Config.in      |  1 +
 package/tvheadend/tvheadend.hash |  2 +-
 package/tvheadend/tvheadend.mk   | 24 ++++++++++++++++++++----
 3 files changed, 22 insertions(+), 5 deletions(-)
package/tvheadend/Config.in +0 -0
index 191593eab..56a3b385d 100644

package/tvheadend/Config.in config BR2_PACKAGE_TVHEADEND_TRANSCODING · line 34

Quoted 4 lines
package/tvheadend/Config.in +1 -0
@@ -31,6 +31,7 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING
 	bool "transcoding support"
 	select BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support

NAK. If we have an option to enable/disable GPL-licensed codecs, it is to leave the option to the user to enable/disable them.

We do not want to automatically force that option. Such an option must only be available as a user-selected option.

However, we've started to remove similar options, like the recently dropped Qt license.

Instead, I would try to simply remove that option altogether. Instead, add the GPL license to the license list in the .mk, when such-licensed codecs are enabled.

After all, ffmpeg is not the only package whose licening terms change depending on the set of options enabled for that package.

Regards,
Yann E. MORIN.

Quoted 61 lines
package/tvheadend/Config.in +0 -0
 	select BR2_PACKAGE_FFMPEG_SWSCALE
 	select BR2_PACKAGE_LIBVPX if !BR2_bfin # libvpx
 	select BR2_PACKAGE_X264
package/tvheadend/tvheadend.hash +1 -1
index 3154b3276..a33b0a5e5 100644
@@ -1,2 +1,2 @@
 # Locally computed
-sha256 1994e379c798b118243e70f7fa38064a9b288d6e38b9ced0e8ad465f5d2e8fd9  tvheadend-54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732.tar.gz
+sha256 00f67fbf9d8cfea7da90f469b36a8205fb9a38727c4cc5022f4ee5fd322459d3  tvheadend-303f418e1ac2bb3078f7a974b69f04ab6a56c636.tar.gz
package/tvheadend/tvheadend.mk +20 -4
index b1c1fcaf7..4722cb006 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TVHEADEND_VERSION = 54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732
+TVHEADEND_VERSION = 303f418e1ac2bb3078f7a974b69f04ab6a56c636
 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION))
 TVHEADEND_LICENSE = GPL-3.0+
 TVHEADEND_LICENSE_FILES = LICENSE.md
@@ -27,10 +27,26 @@ TVHEADEND_CONF_OPTS += --disable-dbus-1
 endif
 
 ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
-TVHEADEND_DEPENDENCIES += ffmpeg
-TVHEADEND_CONF_OPTS += --enable-libav
+TVHEADEND_CONF_OPTS += --enable-libav --enable-libx264
+TVHEADEND_DEPENDENCIES += ffmpeg x264
+ifeq ($(BR2_PACKAGE_OPUS),y)
+TVHEADEND_CONF_OPTS += --enable-libopus
+TVHEADEND_DEPENDENCIES += opus
 else
-TVHEADEND_CONF_OPTS += --disable-libav
+TVHEADEND_CONF_OPTS += --disable-libopus
+endif
+ifeq ($(BR2_PACKAGE_X265),y)
+TVHEADEND_CONF_OPTS += --enable-libx265
+TVHEADEND_DEPENDENCIES += x265
+else
+TVHEADEND_CONF_OPTS += --disable-libx265
+endif
+else
+TVHEADEND_CONF_OPTS += \
+	--disable-libav \
+	--disable-libopus \
+	--disable-libx264 \
+	--disable-libx265
 endif
 
 ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
Signature · 6 lines
2.11.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 2/4 package/tvheadend: bump version, add optional dependencies to opus & x265

Quoted 3 lines · Yann E. MORIN

Bernd, All,

On 2017-09-06 22:49 +0200, Bernd Kuhls spake thusly:

[snip]

Quoted 11 lines

package/tvheadend/Config.in config BR2_PACKAGE_TVHEADEND_TRANSCODING · line 34

Quoted 5 lines
package/tvheadend/Config.in +1 -0
@@ -31,6 +31,7 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING
 	bool "transcoding support"
 	select BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support

NAK. If we have an option to enable/disable GPL-licensed codecs, it is to leave the option to the user to enable/disable them.

We do not want to automatically force that option. Such an option must only be available as a user-selected option.

The situation is quite different here. The option BR2_PACKAGE_FFMPEG_GPL exists
because we don't have suboptions for every possible codec in ffmpeg, and because ffmpeg's configure script has a corresponding option.

However, in this case the user has an explicit option
BR2_PACKAGE_TVHEADEND_TRANSCODING that controls whether or not the GPL codecs of ffmpeg are included. To top things off, tvheadend already is GPL-3.0+, so the point is kind of moot.

Therefore, I've applied the entire series to master.

Quoted 9 lines

However, we've started to remove similar options, like the recently dropped Qt license.

Instead, I would try to simply remove that option altogether. Instead, add the GPL license to the license list in the .mk, when such-licensed codecs are enabled.

After all, ffmpeg is not the only package whose licening terms change depending on the set of options enabled for that package.

Since we don't have individual options for every ffmpeg codec, such an approach
wouldn't be possible. In addition, since ffmpeg configure has the --enable-gpl and --enable-nonfree options, I think it makes sense to keep them.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#4 lore raw

PATCH 3/4 package/tvheadend: add optional support for libva-accelerated transcoding

In reply to Bernd Kuhls
---
 package/tvheadend/tvheadend.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/tvheadend/tvheadend.mk +7 -0
index 4722cb006..ee3607ae9 100644
@@ -29,6 +29,12 @@ endif
 ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
 TVHEADEND_CONF_OPTS += --enable-libav --enable-libx264
 TVHEADEND_DEPENDENCIES += ffmpeg x264
+ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_XORG7),yy)
+TVHEADEND_CONF_OPTS += --enable-vaapi
+TVHEADEND_DEPENDENCIES += libva
+else
+TVHEADEND_CONF_OPTS += --disable-vaapi
+endif
 ifeq ($(BR2_PACKAGE_OPUS),y)
 TVHEADEND_CONF_OPTS += --enable-libopus
 TVHEADEND_DEPENDENCIES += opus
@@ -45,6 +51,7 @@ else
 TVHEADEND_CONF_OPTS += \
 	--disable-libav \
 	--disable-libopus \
+	--disable-vaapi \
 	--disable-libx264 \
 	--disable-libx265
 endif
Signature · 1 line
2.11.0
#5 lore raw

PATCH 3/4 package/tvheadend: add optional support for libva-accelerated transcoding

Bernd, All,

On 2017-09-06 22:49 +0200, Bernd Kuhls spake thusly:

Quoted 1 line

Regards,
Yann E. MORIN.

Quoted 36 lines
---
 package/tvheadend/tvheadend.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/tvheadend/tvheadend.mk +7 -0
index 4722cb006..ee3607ae9 100644
@@ -29,6 +29,12 @@ endif
 ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
 TVHEADEND_CONF_OPTS += --enable-libav --enable-libx264
 TVHEADEND_DEPENDENCIES += ffmpeg x264
+ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_XORG7),yy)
+TVHEADEND_CONF_OPTS += --enable-vaapi
+TVHEADEND_DEPENDENCIES += libva
+else
+TVHEADEND_CONF_OPTS += --disable-vaapi
+endif
 ifeq ($(BR2_PACKAGE_OPUS),y)
 TVHEADEND_CONF_OPTS += --enable-libopus
 TVHEADEND_DEPENDENCIES += opus
@@ -45,6 +51,7 @@ else
 TVHEADEND_CONF_OPTS += \
 	--disable-libav \
 	--disable-libopus \
+	--disable-vaapi \
 	--disable-libx264 \
 	--disable-libx265
 endif
Signature · 6 lines
2.11.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH 4/4 package/tvheadend: add optional support for rpi-userland

In reply to Bernd Kuhls
---
 package/tvheadend/tvheadend.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/tvheadend/tvheadend.mk +7 -0
index ee3607ae9..cf8bee9ce 100644
@@ -41,6 +41,12 @@ TVHEADEND_DEPENDENCIES += opus
 else
 TVHEADEND_CONF_OPTS += --disable-libopus
 endif
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+TVHEADEND_CONF_OPTS += --enable-omx
+TVHEADEND_DEPENDENCIES += rpi-userland
+else
+TVHEADEND_CONF_OPTS += --disable-omx
+endif
 ifeq ($(BR2_PACKAGE_X265),y)
 TVHEADEND_CONF_OPTS += --enable-libx265
 TVHEADEND_DEPENDENCIES += x265
@@ -51,6 +57,7 @@ else
 TVHEADEND_CONF_OPTS += \
 	--disable-libav \
 	--disable-libopus \
+	--disable-omx \
 	--disable-vaapi \
 	--disable-libx264 \
 	--disable-libx265
Signature · 1 line
2.11.0
#7 lore raw

PATCH 4/4 package/tvheadend: add optional support for rpi-userland

Bernd, All,

On 2017-09-06 22:49 +0200, Bernd Kuhls spake thusly:

Quoted 1 line

Regards,
Yann E. MORIN.

Quoted 32 lines
---
 package/tvheadend/tvheadend.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/tvheadend/tvheadend.mk +7 -0
index ee3607ae9..cf8bee9ce 100644
@@ -41,6 +41,12 @@ TVHEADEND_DEPENDENCIES += opus
 else
 TVHEADEND_CONF_OPTS += --disable-libopus
 endif
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+TVHEADEND_CONF_OPTS += --enable-omx
+TVHEADEND_DEPENDENCIES += rpi-userland
+else
+TVHEADEND_CONF_OPTS += --disable-omx
+endif
 ifeq ($(BR2_PACKAGE_X265),y)
 TVHEADEND_CONF_OPTS += --enable-libx265
 TVHEADEND_DEPENDENCIES += x265
@@ -51,6 +57,7 @@ else
 TVHEADEND_CONF_OPTS += \
 	--disable-libav \
 	--disable-libopus \
+	--disable-omx \
 	--disable-vaapi \
 	--disable-libx264 \
 	--disable-libx265
Signature · 1 line
2.11.0
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

PATCH 1/4 package/tvheadend: add option to en-/disable transcoding support

In reply to Bernd Kuhls

Bernd, All,

On 2017-09-06 22:49 +0200, Bernd Kuhls spake thusly:

Quoted 11 lines

https://github.com/tvheadend/tvheadend/commit/014bb9505e1d7eb6e37e10931dd89ab3b1a0dc01
extended the already present transcoding support and included vaapi- accelerated transcoding.

In order to support these new options and their numerous dependencies we add a new Kconfig option for transcoding support to allow users to disable transcoding support, because they use tvheadend for recording or by its internal hts protocol, for example with the kodi-pvr-hts addon.

Regards,
Yann E. MORIN.

Quoted 54 lines
---
 package/tvheadend/Config.in    | 18 ++++++++++++++----
 package/tvheadend/tvheadend.mk |  2 +-
 2 files changed, 15 insertions(+), 5 deletions(-)
package/tvheadend/Config.in +14 -4
index fc39d6f48..191593eab 100644
@@ -10,10 +10,6 @@ config BR2_PACKAGE_TVHEADEND
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	select BR2_PACKAGE_DTV_SCAN_TABLES
-	select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG
-	select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG
-	select BR2_PACKAGE_LIBVPX if BR2_PACKAGE_FFMPEG && !BR2_bfin # libvpx
-	select BR2_PACKAGE_X264 if BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSL
 	help
@@ -28,3 +24,17 @@ config BR2_PACKAGE_TVHEADEND
 	      is available on port 9981.
 	    - if you want Avahi support, you'll need to enable:
 	          Avahi, D-Bus, libdaemon
+
+if BR2_PACKAGE_TVHEADEND
+
+config BR2_PACKAGE_TVHEADEND_TRANSCODING
+	bool "transcoding support"
+	select BR2_PACKAGE_FFMPEG
+	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	select BR2_PACKAGE_FFMPEG_SWSCALE
+	select BR2_PACKAGE_LIBVPX if !BR2_bfin # libvpx
+	select BR2_PACKAGE_X264
+	help
+	  Enable transcoding support.
+
+endif
package/tvheadend/tvheadend.mk +1 -1
index 6c0eb6375..b1c1fcaf7 100644
@@ -26,7 +26,7 @@ else
 TVHEADEND_CONF_OPTS += --disable-dbus-1
 endif
 
-ifeq ($(BR2_PACKAGE_FFMPEG),y)
+ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
 TVHEADEND_DEPENDENCIES += ffmpeg
 TVHEADEND_CONF_OPTS += --enable-libav
 else
Signature · 1 line
2.11.0
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'