summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
authorSaul Wold <sgw@linux.intel.com>2017-11-07 18:32:26 (GMT)
committerSaul Wold <sgw@linux.intel.com>2017-11-20 23:33:02 (GMT)
commitd53dbb38c43da3fd04fed9a55e7b3b9e2c512b9a (patch)
treefbe372dba00d45bbf9fbfbb3726708dc2590daeb /recipes-multimedia
parent5adbf6df4fd89e7531ccccfb9cec7a5314d635f0 (diff)
downloadmeta-intel-d53dbb38c43da3fd04fed9a55e7b3b9e2c512b9a.tar.gz
meta-intel: Reorganize the layout to remove common
Remove the concept of the common directory and move all the recipes-* dirs to the top level as a normal layer would be. layer.conf is updated appropriately Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/libva/libva-intel-driver_1.8.3.bb35
-rw-r--r--recipes-multimedia/libva/va-intel.bb32
-rw-r--r--recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch99
-rw-r--r--recipes-multimedia/libyami/libyami-utils_1.2.0.bb31
-rw-r--r--recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch27
-rw-r--r--recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch42
-rw-r--r--recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch29
-rw-r--r--recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch33
-rw-r--r--recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch130
-rw-r--r--recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch41
-rw-r--r--recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch36
-rw-r--r--recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch31
-rw-r--r--recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch37
-rw-r--r--recipes-multimedia/libyami/libyami_1.2.0.bb34
14 files changed, 637 insertions, 0 deletions
diff --git a/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb b/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb
new file mode 100644
index 0000000..72451c0
--- /dev/null
+++ b/recipes-multimedia/libva/libva-intel-driver_1.8.3.bb
@@ -0,0 +1,35 @@
1SUMMARY = "VA driver for Intel G45 & HD Graphics family"
2DESCRIPTION = "libva-driver-intel is the VA-API implementation \
3for Intel G45 chipsets and Intel HD Graphics for Intel Core \
4processor family."
5
6HOMEPAGE = "http://www.freedesktop.org/wiki/Software/vaapi"
7BUGTRACKER = "https://bugs.freedesktop.org"
8
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
11
12COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
13
14DEPENDS = "libva libdrm"
15
16SRC_URI = "git://github.com/01org/intel-vaapi-driver.git;branch=v1.8-branch"
17# 1.8.3 release tag
18SRCREV = "f1d9ceddc0e84ed8d44dd59017b0e19b75dd5dcd"
19
20S = "${WORKDIR}/git"
21
22inherit autotools pkgconfig distro_features_check
23
24REQUIRED_DISTRO_FEATURES = "opengl"
25
26PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \
27 ${@bb.utils.contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}"
28PACKAGECONFIG[x11] = "--enable-x11,--disable-x11"
29PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native virtual/egl"
30
31FILES_${PN} += "${libdir}/dri/*.so"
32FILES_${PN}-dev += "${libdir}/dri/*.la"
33FILES_${PN}-dbg += "${libdir}/dri/.debug"
34
35UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
diff --git a/recipes-multimedia/libva/va-intel.bb b/recipes-multimedia/libva/va-intel.bb
new file mode 100644
index 0000000..88539e2
--- /dev/null
+++ b/recipes-multimedia/libva/va-intel.bb
@@ -0,0 +1,32 @@
1DESCRIPTION = "Video Acceleration Add-ons for Intel BSPs"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5S = "${WORKDIR}"
6
7PR = "r1"
8
9def map_valibs(d):
10 # The intel implementation requires the libva-intel-driver package
11 if bb.utils.contains('MACHINE_FEATURES', 'va-impl-intel', "1", "0", d) == "1":
12 return "libva libva-intel-driver"
13 # All meta-intel video acceleration requires libva
14 return "libva"
15
16VA_IMPL = "${@map_valibs(d)}"
17
18PACKAGES = "\
19 va-intel \
20 "
21
22ALLOW_EMPTY_va-intel = "1"
23
24RDEPENDS_va-intel = " \
25 ${VA_IMPL} \
26 "
27
28COMPATIBLE_HOST = '(i.86|x86_64).*-linux*'
29
30inherit distro_features_check
31
32REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch b/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch
new file mode 100644
index 0000000..a4a4029
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch
@@ -0,0 +1,99 @@
1From b7e66182788cd925570bb4c310e21fbcd3185040 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Aug 2017 08:49:20 -0700
4Subject: [PATCH] Fix build with clang
5
6Fix errors e.g.
7error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
8
9and
10
11psnr.cpp:225:17: error: bool literal returned from 'main' [-Werror,-Wmain]
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15Upstream-Status: Pending
16
17 tests/decodehelp.cpp | 2 +-
18 tests/encodehelp.h | 2 +-
19 tests/vpp.cpp | 2 +-
20 tests/yamitranscode.cpp | 2 +-
21 testscripts/psnr.cpp | 4 ++--
22 5 files changed, 6 insertions(+), 6 deletions(-)
23
24diff --git a/tests/decodehelp.cpp b/tests/decodehelp.cpp
25index a69eab6..2d96598 100644
26--- a/tests/decodehelp.cpp
27+++ b/tests/decodehelp.cpp
28@@ -70,7 +70,7 @@ bool processCmdLine(int argc, char** argv, DecodeParameter* parameters)
29 {"capi", no_argument, NULL, 0},
30 {NULL, no_argument, NULL, 0}};
31
32- char opt;
33+ int opt;
34 while ((opt = getopt_long_only(argc, argv, "h:m:n:i:f:o:w:?", long_opts,&option_index)) != -1){
35 switch (opt) {
36 case 'h':
37diff --git a/tests/encodehelp.h b/tests/encodehelp.h
38index 57ccd77..76df801 100644
39--- a/tests/encodehelp.h
40+++ b/tests/encodehelp.h
41@@ -107,7 +107,7 @@ static VideoRateControl string_to_rc_mode(char *str)
42
43 static bool process_cmdline(int argc, char *argv[])
44 {
45- char opt;
46+ int opt;
47 const struct option long_opts[] = {
48 { "help", no_argument, NULL, 'h' },
49 { "qp", required_argument, NULL, 0 },
50diff --git a/tests/vpp.cpp b/tests/vpp.cpp
51index 5a60c0a..52da43b 100644
52--- a/tests/vpp.cpp
53+++ b/tests/vpp.cpp
54@@ -151,7 +151,7 @@ public:
55 private:
56 bool processCmdLine(int argc, char* argv[])
57 {
58- char opt;
59+ int opt;
60 const struct option long_opts[] = {
61 { "help", no_argument, NULL, 'h' },
62 { "sharpening", required_argument, NULL, 's' },
63diff --git a/tests/yamitranscode.cpp b/tests/yamitranscode.cpp
64index 4cb72aa..2fc6725 100755
65--- a/tests/yamitranscode.cpp
66+++ b/tests/yamitranscode.cpp
67@@ -95,7 +95,7 @@ static VideoRateControl string_to_rc_mode(char *str)
68
69 static bool processCmdLine(int argc, char *argv[], TranscodeParams& para)
70 {
71- char opt;
72+ int opt;
73 const struct option long_opts[] = {
74 { "help", no_argument, NULL, 'h' },
75 { "qp", required_argument, NULL, 0 },
76diff --git a/testscripts/psnr.cpp b/testscripts/psnr.cpp
77index 5cc24c9..68bd668 100644
78--- a/testscripts/psnr.cpp
79+++ b/testscripts/psnr.cpp
80@@ -215,14 +215,14 @@ int main(int argc, char *argv[])
81 const char* psnrresult = "average_psnr.txt";
82 int width=0,height=0;
83 int standardpsnr = NORMAL_PSNR;
84- char opt;
85+ int opt;
86 while ((opt = getopt(argc, argv, "h:W:H:i:o:s:?")) != -1)
87 {
88 switch (opt) {
89 case 'h':
90 case '?':
91 print_help(argv[0]);
92- return false;
93+ return -1;
94 case 'i':
95 filename1 = optarg;
96 break;
97--
982.14.1
99
diff --git a/recipes-multimedia/libyami/libyami-utils_1.2.0.bb b/recipes-multimedia/libyami/libyami-utils_1.2.0.bb
new file mode 100644
index 0000000..62d62d5
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami-utils_1.2.0.bb
@@ -0,0 +1,31 @@
1SUMMARY = "Applications and Scripts for libyami."
2DESCRIPTION = "Applications and Scripts for libyami."
3
4HOMEPAGE = "https://github.com/01org/libyami-utils"
5BUGTRACKER = "https://github.com/01org/libyami-utils/issues/new"
6
7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
9
10SRC_URI = "git://github.com/01org/libyami-utils.git \
11 file://0001-Fix-build-with-clang.patch \
12 "
13SRCREV = "b480c0594a7e761a8ccfe6b19b3f9bd0c3d871a1"
14S = "${WORKDIR}/git"
15
16DEPENDS = "libva libyami"
17
18EXTRA_OECONF = "--enable-tests-gles --disable-md5"
19
20inherit autotools pkgconfig distro_features_check
21
22REQUIRED_DISTRO_FEATURES = "opengl"
23
24PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
25
26# --enable-x11 needs libva-x11
27# gles-tests fail to build without x11: see https://github.com/01org/libyami-utils/issues/91
28PACKAGECONFIG[x11] = "--enable-x11 --enable-tests-gles,--disable-x11 --disable-tests-gles, virtual/libx11"
29
30UPSTREAM_CHECK_URI = "http://github.com/01org/libyami-utils/releases"
31UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch b/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch
new file mode 100644
index 0000000..a96c9b8
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch
@@ -0,0 +1,27 @@
1From 294874b610a5b8af9b736b3afc938010af58785e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:15:45 -0700
4Subject: [PATCH 1/9] bitWriter.cpp: Delete unused CACHEBYTES
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 codecparsers/bitWriter.cpp | 1 -
11 1 file changed, 1 deletion(-)
12
13diff --git a/codecparsers/bitWriter.cpp b/codecparsers/bitWriter.cpp
14index 9bcb14d..08469bf 100644
15--- a/codecparsers/bitWriter.cpp
16+++ b/codecparsers/bitWriter.cpp
17@@ -24,7 +24,6 @@
18
19 namespace YamiParser {
20
21-const uint32_t CACHEBYTES = sizeof(unsigned long int);
22 const uint32_t CACHEBITS = sizeof(unsigned long int) * 8;
23
24 // clip to keep lowest n bits
25--
262.14.1
27
diff --git a/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch b/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch
new file mode 100644
index 0000000..a216566
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch
@@ -0,0 +1,42 @@
1From 88fa048e22ad00b04054b8a64df53bd440e01537 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:29:02 -0700
4Subject: [PATCH 2/9] typecast index from size_t to int
5
6size_t is not consistent across architectures e.g. on arm its unsigned int
7
8Fixes
9error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13Upstream-Status: Pending
14
15 codecparsers/jpegParser.cpp | 4 ++--
16 1 file changed, 2 insertions(+), 2 deletions(-)
17
18diff --git a/codecparsers/jpegParser.cpp b/codecparsers/jpegParser.cpp
19index 2217028..6da5c36 100644
20--- a/codecparsers/jpegParser.cpp
21+++ b/codecparsers/jpegParser.cpp
22@@ -639,7 +639,7 @@ bool Parser::parseDAC()
23
24 length -= 2;
25
26- if (index < 0 || index >= (2 * NUM_ARITH_TBLS)) {
27+ if ((int)index < 0 || index >= (2 * NUM_ARITH_TBLS)) {
28 ERROR("Invalid DAC Index");
29 return false;
30 }
31@@ -747,7 +747,7 @@ bool Parser::parseDHT()
32 huffTables = &m_dcHuffTables;
33 }
34
35- if (index < 0 || index >= NUM_HUFF_TBLS) {
36+ if ((int)index < 0 || index >= NUM_HUFF_TBLS) {
37 ERROR("Bad Huff Table Index");
38 return false;
39 }
40--
412.14.1
42
diff --git a/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch b/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch
new file mode 100644
index 0000000..1728960
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch
@@ -0,0 +1,29 @@
1From 533d63287e9dd8f269b137c18fbe6c19206c8668 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:49:43 -0700
4Subject: [PATCH 3/9] Add -Wno-invalid-offsetof to compiler commandline
5
6clang++ is fussy about offsetof on non-POD types
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10Upstream-Status: Pending
11
12 codecparsers/Makefile.am | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/codecparsers/Makefile.am b/codecparsers/Makefile.am
16index 720bf81..d9226b3 100644
17--- a/codecparsers/Makefile.am
18+++ b/codecparsers/Makefile.am
19@@ -118,6 +118,7 @@ libyami_codecparser_cppflags = \
20 -Dvp8dx_start_decode=libyami_vp8dx_start_decode \
21 -Dvp8dx_bool_decoder_fill=libyami_vp8dx_bool_decoder_fill \
22 -I$(top_srcdir)/interface \
23+ -Wno-invalid-offsetof \
24 $(extra_includes) \
25 $(NULL)
26
27--
282.14.1
29
diff --git a/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch b/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch
new file mode 100644
index 0000000..27eca39
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch
@@ -0,0 +1,33 @@
1From d9c831ee38da4551396fad5cd53c3dfc0e5e0cf8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 17:57:34 -0700
4Subject: [PATCH 4/9] Typecast POWER32SUB2 to uint8_t
5
6Fixes
7
8h265Parser.cpp:1064:5: error: comparison of constant 4294967294 with expression
9of type 'uint8_t' (aka 'unsigned char') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13Upstream-Status: Pending
14
15 codecparsers/h265Parser.cpp | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/codecparsers/h265Parser.cpp b/codecparsers/h265Parser.cpp
19index 0dea3a6..c6cded2 100644
20--- a/codecparsers/h265Parser.cpp
21+++ b/codecparsers/h265Parser.cpp
22@@ -125,7 +125,7 @@ namespace H265 {
23 \
24 CHECK_READ_UE(var->var##_max_num_reorder_pics[i], 0, var->var##_max_dec_pic_buffering_minus1[i]); \
25 \
26- CHECK_READ_UE(var->var##_max_latency_increase_plus1[i], 0, POWER32SUB2); \
27+ CHECK_READ_UE(var->var##_max_latency_increase_plus1[i], 0, (uint8_t)POWER32SUB2); \
28 } \
29 }
30
31--
322.14.1
33
diff --git a/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch b/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch
new file mode 100644
index 0000000..e77e85f
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch
@@ -0,0 +1,130 @@
1From 3748cf904089878971cfcf66abf14c4d74f8241a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:03:07 -0700
4Subject: [PATCH 5/9] move c++ definitions out of extern "C" block
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 decoder/vaapidecoder_host.cpp | 2 +-
11 encoder/vaapiencoder_host.cpp | 3 ++-
12 interface/VideoDecoderHost.h | 8 ++++----
13 interface/VideoEncoderHost.h | 8 ++++----
14 interface/VideoPostProcessHost.h | 8 ++++----
15 vpp/vaapipostprocess_host.cpp | 3 +--
16 6 files changed, 16 insertions(+), 16 deletions(-)
17
18diff --git a/decoder/vaapidecoder_host.cpp b/decoder/vaapidecoder_host.cpp
19index bcc9165..d9129f3 100644
20--- a/decoder/vaapidecoder_host.cpp
21+++ b/decoder/vaapidecoder_host.cpp
22@@ -100,9 +100,9 @@ void releaseVideoDecoder(IVideoDecoder * p)
23 {
24 delete p;
25 }
26+} // extern "C"
27
28 std::vector<std::string> getVideoDecoderMimeTypes()
29 {
30 return VaapiDecoderFactory::keys();
31 }
32-} // extern "C"
33diff --git a/encoder/vaapiencoder_host.cpp b/encoder/vaapiencoder_host.cpp
34index 49e903a..3ee9354 100644
35--- a/encoder/vaapiencoder_host.cpp
36+++ b/encoder/vaapiencoder_host.cpp
37@@ -78,9 +78,10 @@ void releaseVideoEncoder(IVideoEncoder* p) {
38 delete p;
39 }
40
41+} // extern "C"
42+
43 std::vector<std::string> getVideoEncoderMimeTypes()
44 {
45 return VaapiEncoderFactory::keys();
46 }
47
48-} // extern "C"
49diff --git a/interface/VideoDecoderHost.h b/interface/VideoDecoderHost.h
50index 86210fe..fd2ba7b 100644
51--- a/interface/VideoDecoderHost.h
52+++ b/interface/VideoDecoderHost.h
53@@ -32,12 +32,12 @@ extern "C" { // for dlsym usage
54 YamiMediaCodec::IVideoDecoder *createVideoDecoder(const char *mimeType);
55 /// \brief destroy the decoder
56 void releaseVideoDecoder(YamiMediaCodec::IVideoDecoder * p);
57-/** \fn void getVideoDecoderMimeTypes()
58- * \brief return the MimeTypes enabled in the current build
59-*/
60-std::vector<std::string> getVideoDecoderMimeTypes();
61
62 typedef YamiMediaCodec::IVideoDecoder *(*YamiCreateVideoDecoderFuncPtr) (const char *mimeType);
63 typedef void (*YamiReleaseVideoDecoderFuncPtr)(YamiMediaCodec::IVideoDecoder * p);
64 }
65+// \fn void getVideoDecoderMimeTypes()
66+// \brief return the MimeTypes enabled in the current build
67+//
68+std::vector<std::string> getVideoDecoderMimeTypes();
69 #endif /* VIDEO_DECODER_HOST_H_ */
70diff --git a/interface/VideoEncoderHost.h b/interface/VideoEncoderHost.h
71index fb80335..5fb5ab3 100644
72--- a/interface/VideoEncoderHost.h
73+++ b/interface/VideoEncoderHost.h
74@@ -32,12 +32,12 @@ extern "C" { // for dlsym usage
75 YamiMediaCodec::IVideoEncoder *createVideoEncoder(const char *mimeType);
76 ///brief destroy encoder
77 void releaseVideoEncoder(YamiMediaCodec::IVideoEncoder * p);
78-/** \fn void getVideoEncoderMimeTypes()
79- * \brief return the MimeTypes enabled in the current build
80-*/
81-std::vector<std::string> getVideoEncoderMimeTypes();
82
83 typedef YamiMediaCodec::IVideoEncoder *(*YamiCreateVideoEncoderFuncPtr) (const char *mimeType);
84 typedef void (*YamiReleaseVideoEncoderFuncPtr)(YamiMediaCodec::IVideoEncoder * p);
85 }
86 #endif /* VIDEO_ENCODER_HOST_H_ */
87+// \fn void getVideoEncoderMimeTypes()
88+// \brief return the MimeTypes enabled in the current build
89+//
90+std::vector<std::string> getVideoEncoderMimeTypes();
91diff --git a/interface/VideoPostProcessHost.h b/interface/VideoPostProcessHost.h
92index de046cd..f1c5ce5 100644
93--- a/interface/VideoPostProcessHost.h
94+++ b/interface/VideoPostProcessHost.h
95@@ -34,12 +34,12 @@ YamiMediaCodec::IVideoPostProcess *createVideoPostProcess(const char *mimeType);
96 * \brief destroy encoder
97 */
98 void releaseVideoPostProcess(YamiMediaCodec::IVideoPostProcess * p);
99-/** \fn void getVideoPostProcessMimeTypes()
100- * \brief return the MimeTypes enabled in the current build
101-*/
102-std::vector<std::string> getVideoPostProcessMimeTypes();
103
104 typedef YamiMediaCodec::IVideoPostProcess *(*YamiCreateVideoPostProcessFuncPtr) (const char *mimeType);
105 typedef void (*YamiReleaseVideoPostProcessFuncPtr)(YamiMediaCodec::IVideoPostProcess * p);
106 }
107 #endif /* VIDEO_POST_PROCESS_HOST_H_ */
108+// \fn void getVideoPostProcessMimeTypes()
109+// \brief return the MimeTypes enabled in the current build
110+//
111+std::vector<std::string> getVideoPostProcessMimeTypes();
112diff --git a/vpp/vaapipostprocess_host.cpp b/vpp/vaapipostprocess_host.cpp
113index cd40dea..bc06b38 100644
114--- a/vpp/vaapipostprocess_host.cpp
115+++ b/vpp/vaapipostprocess_host.cpp
116@@ -75,10 +75,9 @@ void releaseVideoPostProcess(IVideoPostProcess * p)
117 {
118 delete p;
119 }
120+} // extern "C"
121
122 std::vector<std::string> getVideoPostProcessMimeTypes()
123 {
124 return VaapiPostProcessFactory::keys();
125 }
126-
127-} // extern "C"
128--
1292.14.1
130
diff --git a/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch b/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch
new file mode 100644
index 0000000..c9c7452
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch
@@ -0,0 +1,41 @@
1From 27b61f5ab1b1643436f56517e4980734b4b9acca Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:38:05 -0700
4Subject: [PATCH 6/9] Avoid namespace conflicts by adding explicit using
5 <namespace>
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9Upstream-Status: Pending
10
11 decoder/vaapidecoder_h264.h | 1 +
12 decoder/vaapidecoder_h265.h | 1 +
13 2 files changed, 2 insertions(+)
14
15diff --git a/decoder/vaapidecoder_h264.h b/decoder/vaapidecoder_h264.h
16index 57e2c27..ea5c2f2 100644
17--- a/decoder/vaapidecoder_h264.h
18+++ b/decoder/vaapidecoder_h264.h
19@@ -30,6 +30,7 @@ namespace YamiMediaCodec {
20
21 class VaapiDecPictureH264;
22 class VaapiDecoderH264 : public VaapiDecoderBase {
23+using YamiMediaCodec::VaapiDecoderBase::createPicture;
24 public:
25 typedef SharedPtr<VaapiDecPictureH264> PicturePtr;
26 typedef std::vector<PicturePtr> RefSet;
27diff --git a/decoder/vaapidecoder_h265.h b/decoder/vaapidecoder_h265.h
28index f7e2303..159e25f 100644
29--- a/decoder/vaapidecoder_h265.h
30+++ b/decoder/vaapidecoder_h265.h
31@@ -38,6 +38,7 @@ namespace YamiMediaCodec {
32
33 class VaapiDecPictureH265;
34 class VaapiDecoderH265:public VaapiDecoderBase {
35+ using YamiMediaCodec::VaapiDecoderBase::createPicture;
36 typedef YamiParser::H265::SPS SPS;
37 typedef YamiParser::H265::SliceHeader SliceHeader;
38 typedef YamiParser::H265::NalUnit NalUnit;
39--
402.14.1
41
diff --git a/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch b/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch
new file mode 100644
index 0000000..b80774c
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch
@@ -0,0 +1,36 @@
1From b982997c96e11b9c0b3cd58a31af2d0a219713a3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:39:58 -0700
4Subject: [PATCH 7/9] Delete unused variables
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 decoder/vaapidecoder_vp8.cpp | 8 ++++----
11 1 file changed, 4 insertions(+), 4 deletions(-)
12
13diff --git a/decoder/vaapidecoder_vp8.cpp b/decoder/vaapidecoder_vp8.cpp
14index 5fc89ec..ff5b896 100644
15--- a/decoder/vaapidecoder_vp8.cpp
16+++ b/decoder/vaapidecoder_vp8.cpp
17@@ -32,12 +32,12 @@ typedef VaapiDecoderVP8::PicturePtr PicturePtr;
18
19 // the following parameter apply to Intra-Predicted Macroblocks,
20 // $11.2 $11.4: key frame default probs
21-static const uint8_t keyFrameYModeProbs[4] = { 145, 156, 163, 128 };
22-static const uint8_t keyFrameUVModeProbs[3] = { 142, 114, 183 };
23+//static const uint8_t keyFrameYModeProbs[4] = { 145, 156, 163, 128 };
24+//static const uint8_t keyFrameUVModeProbs[3] = { 142, 114, 183 };
25
26 // $16.1: non-key frame default probs
27-static const uint8_t nonKeyFrameDefaultYModeProbs[4] = { 112, 86, 140, 37 };
28-static const uint8_t nonKeyFrameDefaultUVModeProbs[3] = { 162, 101, 204 };
29+//static const uint8_t nonKeyFrameDefaultYModeProbs[4] = { 112, 86, 140, 37 };
30+//static const uint8_t nonKeyFrameDefaultUVModeProbs[3] = { 162, 101, 204 };
31
32 static const uint32_t surfaceNumVP8 = 3;
33
34--
352.14.1
36
diff --git a/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch b/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch
new file mode 100644
index 0000000..18b98be
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch
@@ -0,0 +1,31 @@
1From c54130511c91e457f1c5bb47729f5e3a0fc0cb91 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:42:28 -0700
4Subject: [PATCH 8/9] NalUnit is declared in different namespace
5
6Fixes
7vaapidecoder_h265.h:32:5: error: struct 'NalUnit' was previously declared as a class [-Werror,-Wmismatched-tags] struct NalUnit;
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11Upstream-Status: Pending
12
13 decoder/vaapidecoder_h265.h | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/decoder/vaapidecoder_h265.h b/decoder/vaapidecoder_h265.h
17index 159e25f..674638f 100644
18--- a/decoder/vaapidecoder_h265.h
19+++ b/decoder/vaapidecoder_h265.h
20@@ -29,7 +29,7 @@ namespace YamiParser {
21 namespace H265 {
22 struct SPS;
23 struct SliceHeader;
24- struct NalUnit;
25+ class NalUnit;
26 class Parser;
27 };
28 };
29--
302.14.1
31
diff --git a/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch b/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch
new file mode 100644
index 0000000..08ef455
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch
@@ -0,0 +1,37 @@
1From a54dc7b6a777882f55a3f31bd97748a261db03d2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Aug 2017 18:53:06 -0700
4Subject: [PATCH 9/9] Fix clang warnings
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 encoder/vaapiencoder_h264.cpp | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/encoder/vaapiencoder_h264.cpp b/encoder/vaapiencoder_h264.cpp
14index 98bc2ed..94015cb 100644
15--- a/encoder/vaapiencoder_h264.cpp
16+++ b/encoder/vaapiencoder_h264.cpp
17@@ -509,7 +509,7 @@ bit_writer_write_sps(BitWriter* bitwriter,
18 }
19 /* vcl_hrd_parameters_present_flag */
20 bitwriter->writeBits(0, 1);
21- if (nal_hrd_parameters_present_flag || 0/*vcl_hrd_parameters_present_flag*/) {
22+ if (nal_hrd_parameters_present_flag || !!(0)/*vcl_hrd_parameters_present_flag*/) {
23 /* low_delay_hrd_flag */
24 bitwriter->writeBits(0, 1);
25 }
26@@ -1889,7 +1889,7 @@ bool VaapiEncoderH264::addSliceHeaders (const PicturePtr& picture) const
27 sliceParam->num_macroblocks = curSliceMbs;
28 sliceParam->macroblock_info = VA_INVALID_ID;
29 sliceParam->slice_type = h264_get_slice_type (picture->m_type);
30- assert (sliceParam->slice_type != -1);
31+ assert ((int)sliceParam->slice_type != -1);
32 sliceParam->idr_pic_id = m_idrNum;
33 sliceParam->pic_order_cnt_lsb = picture->m_poc % m_maxPicOrderCnt;
34
35--
362.14.1
37
diff --git a/recipes-multimedia/libyami/libyami_1.2.0.bb b/recipes-multimedia/libyami/libyami_1.2.0.bb
new file mode 100644
index 0000000..1d1d02f
--- /dev/null
+++ b/recipes-multimedia/libyami/libyami_1.2.0.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Yami is media infrastructure base on libva"
2DESCRIPTION = "Yet Another Media Infrastructure \
3light weight hardware codec library base on VA-API "
4
5HOMEPAGE = "https://github.com/01org/libyami"
6BUGTRACKER = "https://github.com/01org/libyami/issues/new"
7
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57"
10
11SRC_URI = "git://github.com/01org/libyami.git;branch=apache \
12 file://0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch \
13 file://0002-typecast-index-from-size_t-to-int.patch \
14 file://0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch \
15 file://0004-Typecast-POWER32SUB2-to-uint8_t.patch \
16 file://0005-move-c-definitions-out-of-extern-C-block.patch \
17 file://0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch \
18 file://0007-Delete-unused-variables.patch \
19 file://0008-NalUnit-is-declared-in-different-namespace.patch \
20 file://0009-Fix-clang-warnings.patch \
21"
22SRCREV = "c884fc3facbf1a0adf2082a1cf95cb146300a5ca"
23S = "${WORKDIR}/git"
24
25PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}"
26PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender"
27
28DEPENDS = "libva"
29inherit autotools pkgconfig distro_features_check
30
31REQUIRED_DISTRO_FEATURES = "opengl"
32
33UPSTREAM_CHECK_URI = "https://github.com/01org/libyami/releases"
34UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"