fdk-aac: Add fdk-aac-free for non BUILD_PATENTED configurations

The core parts of AAC were patented back in 1998. Those patents have
expired.

Some of the newer AAC features involved with HE-AAC are still patented.
These patches are taken from fedora where they remove all patented
functionality.

Note that LC-AAC comprises the majority of AAC content. HE-AAC is for low
bitrate stuff like audiobooks.

Patches come from Fedora where this is also distributed.

Local compiles show a 40% size reduction in the final ipk.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2019-11-02 16:02:59 -07:00
parent 14cdd0d466
commit bb1dab2471
5 changed files with 98505 additions and 5 deletions

View File

@ -9,8 +9,8 @@ PKG_NAME:=fdk-aac
PKG_VERSION:=2.0.1
PKG_RELEASE:=1
PKG_SOURCE_URL=https://codeload.github.com/mstorsjo/fdk-aac/tar.gz/v$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mstorsjo/fdk-aac/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=a4142815d8d52d0e798212a5adea54ecf42bcd4eec8092b37a8cb615ace91dc6
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
@ -23,6 +23,10 @@ PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= CONFIG_FDK-AAC_OPTIMIZE_SPEED
ifeq ($(BUILD_VARIANT),free)
PATCH_DIR:=./patches-free
endif
ifeq ($(CONFIG_FDK-AAC_OPTIMIZE_SPEED),y)
TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS))
TARGET_CFLAGS += $(TARGET_CFLAGS) -O2 -flto
@ -33,20 +37,48 @@ endif
include $(INCLUDE_DIR)/package.mk
define Package/fdk-aac
define Package/fdk-aac/Default
SECTION:=sound
CATEGORY:=Sound
DEPENDS:=@BUILD_PATENTED
TITLE:=Fraunhofer FDK AAC Codec Library
URL:=https://sourceforge.net/projects/opencore-amr/
endef
define Package/fdk-aac/description
define Package/fdk-aac/Default/description
Port of the Fraunhofer FDK AAC Codec Library for Android
endef
define Package/fdk-aac/Default/config
source "$(SOURCE)/Config.in"
endef
define Package/fdk-aac
$(call Package/fdk-aac/Default)
DEPENDS:=@BUILD_PATENTED
VARIANT:=nonfree
endef
define Package/fdk-aac/description
$(call Package/fdk-aac/Default/description)
This is the full patent encumbered version.
endef
define Package/fdk-aac/config
source "$(SOURCE)/Config.in"
$(call Package/fdk-aac/Default/config)
endef
define Package/fdk-aac-free
$(call Package/fdk-aac/Default)
VARIANT:=free
endef
define Package/fdk-aac-free/description
$(call Package/fdk-aac/Default/description)
This is the free version that only supports LC-AAC.
endef
define Package/fdk-aac-free/config
$(call Package/fdk-aac/Default/config)
endef
define Build/InstallDev
@ -63,4 +95,10 @@ define Package/fdk-aac/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfdk-aac.so* $(1)/usr/lib/
endef
define Package/fdk-aac-free/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfdk-aac.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,fdk-aac))
$(eval $(call BuildPackage,fdk-aac-free))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff