summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/imx-codec/imx-codec.inc
diff options
context:
space:
mode:
authorYuqing Zhu <carol.zhu@nxp.com>2016-04-18 22:57:48 +0800
committerOtavio Salvador <otavio@ossystems.com.br>2016-04-19 16:52:32 -0300
commit4b91194a9576c5ade5d58741c7931eb5b5989bcd (patch)
tree8d4db3a0b9ad8b234c2ff71a7027a4a625e4bca3 /recipes-multimedia/imx-codec/imx-codec.inc
parenta22eb3a22996ea56b5e904d82c78b658e4ba7ed0 (diff)
downloadmeta-fsl-arm-4b91194a9576c5ade5d58741c7931eb5b5989bcd.tar.gz
imx-codec: Upgrade to v4.0.9
--Change the recipe name from "libfslcodec" to "imx-codec" --Add RREPLACE/RPROVIDES/RCONFLICTS for backwards compatibility. --[aac_dec] refine the code for pure c build aac decoder c build need float point support, which use some float point function. Change-Id: Ie8071031b45038107d27b16e2c129376cf4f109d Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-multimedia/imx-codec/imx-codec.inc')
-rw-r--r--recipes-multimedia/imx-codec/imx-codec.inc109
1 files changed, 109 insertions, 0 deletions
diff --git a/recipes-multimedia/imx-codec/imx-codec.inc b/recipes-multimedia/imx-codec/imx-codec.inc
new file mode 100644
index 0000000..e6fd9c6
--- /dev/null
+++ b/recipes-multimedia/imx-codec/imx-codec.inc
@@ -0,0 +1,109 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3DESCRIPTION = "Freescale Multimedia codec libs"
4LICENSE = "Proprietary"
5SECTION = "multimedia"
6LIC_FILES_CHKSUM = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
7
8inherit fsl-eula-unpack autotools pkgconfig
9
10SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
11
12# Choose between Soft Float-Point and Hard Float-Point
13EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d)}"
14
15PACKAGECONFIG ?= ""
16PACKAGECONFIG_mx6q = "vpu"
17PACKAGECONFIG_mx6dl = "vpu"
18
19PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,imx-vpu"
20
21do_install_append() {
22 # FIXME: This link points to nowhere
23 rm ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so
24
25 # LTIB move the files around or gst-fsl-plugin won't find them
26 for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
27 mv $p ${D}${libdir}
28 done
29 rmdir ${D}${libdir}/imx-mm/video-codec
30
31}
32
33python __set_insane_skip() {
34 # Ensure we have PACKAGES expanded
35 bb.build.exec_func("read_subpackage_metadata", d)
36
37 for p in d.getVar('PACKAGES', True).split():
38 # Even though we are packaging libraries those are plugins so we
39 # shouldn't rename the packages to follow its sonames.
40 d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1")
41
42 # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
43 # the source we cannot fix it. Disable the insane check for now.
44 if p == 'imx-codec-test-bin':
45 # FIXME: includes the DUT .so files so we need to deploy those
46 d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir")
47 else:
48 d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel")
49}
50
51do_package_qa[prefuncs] += "__set_insane_skip"
52
53python __split_libfslcodec_plugins() {
54 codecdir = bb.data.expand('${libdir}', d)
55 do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*',
56 aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
57 output_pattern='imx-codec-%s',
58 description='Freescale i.MX Codec (%s)',
59 extra_depends='')
60 pkgs = d.getVar('PACKAGES', True).split()
61 for pkg in pkgs:
62 meta = pkg[10:]
63 if meta != '':
64 d.setVar('RREPLACES_%s' % pkg, ' libfslcodec-%s' % meta)
65 d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec-%s' % meta)
66 d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec-%s' % meta)
67 else :
68 d.setVar('RREPLACES_%s' % pkg, ' libfslcodec')
69 d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec')
70 d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec')
71}
72
73python __set_metapkg_rdepends() {
74 # Allow addition of all codecs in a image; useful specially for
75 # debugging.
76 codec_pkgs = oe.utils.packages_filter_out_system(d)
77 codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'],
78 codec_pkgs)
79 d.appendVar('RDEPENDS_imx-codec-meta', ' ' + ' '.join(codec_pkgs))
80}
81
82PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
83
84PACKAGES_DYNAMIC = "${PN}-*"
85INHIBIT_PACKAGE_STRIP = "1"
86INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
87
88PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source"
89
90ALLOW_EMPTY_${PN} = "1"
91ALLOW_EMPTY_${PN}-meta = "1"
92
93# Ensure we get warnings if we miss something
94FILES_${PN} = ""
95
96FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
97 ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \
98 ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*"
99
100FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
101
102FILES_${PN}-test-source += "${datadir}/imx-mm/*"
103
104# FIXME: The wrap and lib names does not match
105FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
106FILES_${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
107FILES_${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
108
109PACKAGE_ARCH = "${MACHINE_ARCH}"