Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
linphone-cmake-builder
Commits
58c358a8
Commit
58c358a8
authored
Jul 04, 2014
by
Ghislain MARY
Browse files
Add patch to allow more permissive decoding with openh264.
parent
8ef55b20
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
0 deletions
+41
-0
builders/openh264.cmake
builders/openh264.cmake
+1
-0
builders/openh264/permissive.patch
builders/openh264/permissive.patch
+40
-0
No files found.
builders/openh264.cmake
View file @
58c358a8
...
...
@@ -37,6 +37,7 @@ set(EP_openh264_BUILD_METHOD "custom")
set
(
EP_openh264_BUILD_IN_SOURCE
"yes"
)
set
(
EP_openh264_LINKING_TYPE
"-shared"
)
set
(
EP_openh264_BUILD_TYPE
"Release"
)
# Always use Release build type, otherwise the codec is too slow...
set
(
EP_openh264_PATCH_COMMAND
"
${
PATCH_PROGRAM
}
"
"-p1"
"-i"
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/builders/openh264/permissive.patch"
)
set
(
EP_openh264_CONFIGURE_COMMAND_SOURCE
${
CMAKE_CURRENT_SOURCE_DIR
}
/builders/openh264/configure.sh.cmake
)
set
(
EP_openh264_BUILD_COMMAND_SOURCE
${
CMAKE_CURRENT_SOURCE_DIR
}
/builders/openh264/build.sh.cmake
)
set
(
EP_openh264_INSTALL_COMMAND_SOURCE
${
CMAKE_CURRENT_SOURCE_DIR
}
/builders/openh264/install.sh.cmake
)
builders/openh264/permissive.patch
0 → 100644
View file @
58c358a8
commit 6b3de978d928b6c0baec3305c9803c21a4367d0c
Author: Simon Morlat <simon.morlat@linphone.org>
Date: Tue Apr 15 15:19:37 2014 +0200
permissive mode: allow reference frames to be used even if there were lost slices.
diff --git a/codec/decoder/core/src/manage_dec_ref.cpp b/codec/decoder/core/src/manage_dec_ref.cpp
index dcf61ca..5582ec9 100644
--- a/codec/decoder/core/src/manage_dec_ref.cpp
+++ b/codec/decoder/core/src/manage_dec_ref.cpp
@@ -165,6 +165,7 @@
int32_t WelsReorderRefList (PWelsDecoderContext pCtx) {
&& (pSliceHeader->iSpsId != ppRefList[i]->iSpsId)) { //check;
WelsLog (pCtx, WELS_LOG_WARNING, "WelsReorderRefList()-1::::BASE LAYER::::iSpsId:%d, ref_sps_id:%d\n",
pSliceHeader->iSpsId, ppRefList[i]->iSpsId);
+ return ERR_NONE;
pCtx->iErrorCode = dsNoParamSets; //cross-IDR reference frame selection, SHOULD request IDR.--
return ERR_INFO_REFERENCE_PIC_LOST;
} else {
commit a1f3b95ad18d0788c2c803fac80e78d6365673ce
Author: Simon Morlat <simon.morlat@linphone.org>
Date: Tue Apr 15 17:54:58 2014 +0200
permissive mode (2)
diff --git a/codec/decoder/core/src/decoder_core.cpp b/codec/decoder/core/src/decoder_core.cpp
index a14e971..e742dbf 100644
--- a/codec/decoder/core/src/decoder_core.cpp
+++ b/codec/decoder/core/src/decoder_core.cpp
@@ -1738,8 +1738,8 @@
int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3
if ((iLastIdD < 0) || //case 1: first layer
(iLastIdD == iCurrIdD)) { //case 2: same uiDId
InitDqLayerInfo (dq_cur, &pLayerInfo, pNalCur, pCtx->pDec);
-
- if (!dq_cur->sLayerInfo.pSps->bGapsInFrameNumValueAllowedFlag) {
+ if (0){
+ //if (!dq_cur->sLayerInfo.pSps->bGapsInFrameNumValueAllowedFlag) {
const bool kbIdrFlag = dq_cur->sLayerInfo.sNalHeaderExt.bIdrFlag
|| (dq_cur->sLayerInfo.sNalHeaderExt.sNalUnitHeader.eNalUnitType == NAL_UNIT_CODED_SLICE_IDR);
// Subclause 8.2.5.2 Decoding process for gaps in frame_num
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment