diff options
| author | Khem Raj <raj.khem@gmail.com> | 2017-08-14 22:27:02 -0700 |
|---|---|---|
| committer | Saul Wold <sgw@linux.intel.com> | 2017-08-15 14:03:05 -0700 |
| commit | 75e31097d90b83dae81181670d48bc896c4c1360 (patch) | |
| tree | a9947e8fbd75fbbc0cb5cea7d8823fed13a7099b /common | |
| parent | 0d32b245e44574a612b9b48789498a78d80e9098 (diff) | |
| download | meta-intel-75e31097d90b83dae81181670d48bc896c4c1360.tar.gz | |
libyami: Fix build with musl/clang
These patches are interesting from upstreaming point of view as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'common')
10 files changed, 417 insertions, 1 deletions
diff --git a/common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch b/common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch new file mode 100644 index 00000000..a96c9b85 --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0001-bitWriter.cpp-Delete-unused-CACHEBYTES.patch | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | From 294874b610a5b8af9b736b3afc938010af58785e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 17:15:45 -0700 | ||
| 4 | Subject: [PATCH 1/9] bitWriter.cpp: Delete unused CACHEBYTES | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | codecparsers/bitWriter.cpp | 1 - | ||
| 11 | 1 file changed, 1 deletion(-) | ||
| 12 | |||
| 13 | diff --git a/codecparsers/bitWriter.cpp b/codecparsers/bitWriter.cpp | ||
| 14 | index 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 | -- | ||
| 26 | 2.14.1 | ||
| 27 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch b/common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch new file mode 100644 index 00000000..a216566c --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0002-typecast-index-from-size_t-to-int.patch | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | From 88fa048e22ad00b04054b8a64df53bd440e01537 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 17:29:02 -0700 | ||
| 4 | Subject: [PATCH 2/9] typecast index from size_t to int | ||
| 5 | |||
| 6 | size_t is not consistent across architectures e.g. on arm its unsigned int | ||
| 7 | |||
| 8 | Fixes | ||
| 9 | error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare] | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | Upstream-Status: Pending | ||
| 14 | |||
| 15 | codecparsers/jpegParser.cpp | 4 ++-- | ||
| 16 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/codecparsers/jpegParser.cpp b/codecparsers/jpegParser.cpp | ||
| 19 | index 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 | -- | ||
| 41 | 2.14.1 | ||
| 42 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch b/common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch new file mode 100644 index 00000000..17289602 --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0003-Add-Wno-invalid-offsetof-to-compiler-commandline.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 533d63287e9dd8f269b137c18fbe6c19206c8668 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 17:49:43 -0700 | ||
| 4 | Subject: [PATCH 3/9] Add -Wno-invalid-offsetof to compiler commandline | ||
| 5 | |||
| 6 | clang++ is fussy about offsetof on non-POD types | ||
| 7 | |||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | --- | ||
| 10 | Upstream-Status: Pending | ||
| 11 | |||
| 12 | codecparsers/Makefile.am | 1 + | ||
| 13 | 1 file changed, 1 insertion(+) | ||
| 14 | |||
| 15 | diff --git a/codecparsers/Makefile.am b/codecparsers/Makefile.am | ||
| 16 | index 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 | -- | ||
| 28 | 2.14.1 | ||
| 29 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch b/common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch new file mode 100644 index 00000000..27eca39b --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0004-Typecast-POWER32SUB2-to-uint8_t.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From d9c831ee38da4551396fad5cd53c3dfc0e5e0cf8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 17:57:34 -0700 | ||
| 4 | Subject: [PATCH 4/9] Typecast POWER32SUB2 to uint8_t | ||
| 5 | |||
| 6 | Fixes | ||
| 7 | |||
| 8 | h265Parser.cpp:1064:5: error: comparison of constant 4294967294 with expression | ||
| 9 | of type 'uint8_t' (aka 'unsigned char') is always false [-Werror,-Wtautological-constant-out-of-range-compare] | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | Upstream-Status: Pending | ||
| 14 | |||
| 15 | codecparsers/h265Parser.cpp | 2 +- | ||
| 16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/codecparsers/h265Parser.cpp b/codecparsers/h265Parser.cpp | ||
| 19 | index 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 | -- | ||
| 32 | 2.14.1 | ||
| 33 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch b/common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch new file mode 100644 index 00000000..e77e85f7 --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0005-move-c-definitions-out-of-extern-C-block.patch | |||
| @@ -0,0 +1,130 @@ | |||
| 1 | From 3748cf904089878971cfcf66abf14c4d74f8241a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 18:03:07 -0700 | ||
| 4 | Subject: [PATCH 5/9] move c++ definitions out of extern "C" block | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-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 | |||
| 18 | diff --git a/decoder/vaapidecoder_host.cpp b/decoder/vaapidecoder_host.cpp | ||
| 19 | index 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" | ||
| 33 | diff --git a/encoder/vaapiencoder_host.cpp b/encoder/vaapiencoder_host.cpp | ||
| 34 | index 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" | ||
| 49 | diff --git a/interface/VideoDecoderHost.h b/interface/VideoDecoderHost.h | ||
| 50 | index 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_ */ | ||
| 70 | diff --git a/interface/VideoEncoderHost.h b/interface/VideoEncoderHost.h | ||
| 71 | index 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(); | ||
| 91 | diff --git a/interface/VideoPostProcessHost.h b/interface/VideoPostProcessHost.h | ||
| 92 | index 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(); | ||
| 112 | diff --git a/vpp/vaapipostprocess_host.cpp b/vpp/vaapipostprocess_host.cpp | ||
| 113 | index 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 | -- | ||
| 129 | 2.14.1 | ||
| 130 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch b/common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch new file mode 100644 index 00000000..c9c74520 --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0006-Avoid-namespace-conflicts-by-adding-explicit-using-n.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | From 27b61f5ab1b1643436f56517e4980734b4b9acca Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 18:38:05 -0700 | ||
| 4 | Subject: [PATCH 6/9] Avoid namespace conflicts by adding explicit using | ||
| 5 | <namespace> | ||
| 6 | |||
| 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 8 | --- | ||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | decoder/vaapidecoder_h264.h | 1 + | ||
| 12 | decoder/vaapidecoder_h265.h | 1 + | ||
| 13 | 2 files changed, 2 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/decoder/vaapidecoder_h264.h b/decoder/vaapidecoder_h264.h | ||
| 16 | index 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; | ||
| 27 | diff --git a/decoder/vaapidecoder_h265.h b/decoder/vaapidecoder_h265.h | ||
| 28 | index 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 | -- | ||
| 40 | 2.14.1 | ||
| 41 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch b/common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch new file mode 100644 index 00000000..b80774c9 --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0007-Delete-unused-variables.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | From b982997c96e11b9c0b3cd58a31af2d0a219713a3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 18:39:58 -0700 | ||
| 4 | Subject: [PATCH 7/9] Delete unused variables | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | decoder/vaapidecoder_vp8.cpp | 8 ++++---- | ||
| 11 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/decoder/vaapidecoder_vp8.cpp b/decoder/vaapidecoder_vp8.cpp | ||
| 14 | index 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 | -- | ||
| 35 | 2.14.1 | ||
| 36 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch b/common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch new file mode 100644 index 00000000..18b98be8 --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0008-NalUnit-is-declared-in-different-namespace.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From c54130511c91e457f1c5bb47729f5e3a0fc0cb91 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 18:42:28 -0700 | ||
| 4 | Subject: [PATCH 8/9] NalUnit is declared in different namespace | ||
| 5 | |||
| 6 | Fixes | ||
| 7 | vaapidecoder_h265.h:32:5: error: struct 'NalUnit' was previously declared as a class [-Werror,-Wmismatched-tags] struct NalUnit; | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | decoder/vaapidecoder_h265.h | 2 +- | ||
| 14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 15 | |||
| 16 | diff --git a/decoder/vaapidecoder_h265.h b/decoder/vaapidecoder_h265.h | ||
| 17 | index 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 | -- | ||
| 30 | 2.14.1 | ||
| 31 | |||
diff --git a/common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch b/common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch new file mode 100644 index 00000000..08ef455b --- /dev/null +++ b/common/recipes-multimedia/libyami/libyami/0009-Fix-clang-warnings.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From a54dc7b6a777882f55a3f31bd97748a261db03d2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 11 Aug 2017 18:53:06 -0700 | ||
| 4 | Subject: [PATCH 9/9] Fix clang warnings | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | encoder/vaapiencoder_h264.cpp | 4 ++-- | ||
| 11 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/encoder/vaapiencoder_h264.cpp b/encoder/vaapiencoder_h264.cpp | ||
| 14 | index 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 | -- | ||
| 36 | 2.14.1 | ||
| 37 | |||
diff --git a/common/recipes-multimedia/libyami/libyami_1.2.0.bb b/common/recipes-multimedia/libyami/libyami_1.2.0.bb index dfc4fc2a..e3462dd2 100644 --- a/common/recipes-multimedia/libyami/libyami_1.2.0.bb +++ b/common/recipes-multimedia/libyami/libyami_1.2.0.bb | |||
| @@ -8,7 +8,17 @@ BUGTRACKER = "https://github.com/01org/libyami/issues/new" | |||
| 8 | LICENSE = "Apache-2.0" | 8 | LICENSE = "Apache-2.0" |
| 9 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57" | 9 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57" |
| 10 | 10 | ||
| 11 | SRC_URI = "https://github.com/01org/libyami/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz" | 11 | SRC_URI = "https://github.com/01org/libyami/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ |
| 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 | " | ||
| 12 | SRC_URI[md5sum] = "2e2ed3bd900866476eced140799ee48b" | 22 | SRC_URI[md5sum] = "2e2ed3bd900866476eced140799ee48b" |
| 13 | SRC_URI[sha256sum] = "fdc3025f828c065a4434e73f5629e7ab8af593f1abbe097449dd5a13fa7d465f" | 23 | SRC_URI[sha256sum] = "fdc3025f828c065a4434e73f5629e7ab8af593f1abbe097449dd5a13fa7d465f" |
| 14 | 24 | ||
