diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-01-21 09:23:23 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-01-21 09:24:11 +0000 |
commit | 7f0daebf8f73db51bd26a01aace179e07f59d188 (patch) | |
tree | 7c69b85f8be94203cc69e12a47a567ab396eb676 /main/vlc/0004-omxil-bcm-h264-Don-t-wait-for-error-free-frame.patch | |
parent | a48995c297ca129b2beeac0533379e9f44c8a1f7 (diff) | |
download | aports-7f0daebf8f73db51bd26a01aace179e07f59d188.tar.bz2 aports-7f0daebf8f73db51bd26a01aace179e07f59d188.tar.xz |
main/vlc: cherrypick some omxil (rpi) patches
Diffstat (limited to 'main/vlc/0004-omxil-bcm-h264-Don-t-wait-for-error-free-frame.patch')
-rw-r--r-- | main/vlc/0004-omxil-bcm-h264-Don-t-wait-for-error-free-frame.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/main/vlc/0004-omxil-bcm-h264-Don-t-wait-for-error-free-frame.patch b/main/vlc/0004-omxil-bcm-h264-Don-t-wait-for-error-free-frame.patch new file mode 100644 index 0000000000..502f9671ce --- /dev/null +++ b/main/vlc/0004-omxil-bcm-h264-Don-t-wait-for-error-free-frame.patch @@ -0,0 +1,56 @@ +From 18cbe9639c57d5d3cc676909c64acd89997bcac3 Mon Sep 17 00:00:00 2001 +From: Julian Scheel <julian@jusst.de> +Date: Thu, 12 Sep 2013 10:14:13 +0200 +Subject: [PATCH] omxil: bcm: h264: Don't wait for error free frame. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The bcm h264 decoder is not able to detect when the first error free frame has +been decoded for certain h264 streams. To avoid not getting any frames out of +the decoder, disable the StartWithValidFrame flag until that is fixed at bcm. +See https://github.com/huceke/omxplayer/issues/96 for details. + +Signed-off-by: Julian Scheel <julian@jusst.de> +Signed-off-by: Martin Storsjö <martin@martin.st> +--- + modules/codec/omxil/omxil.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c +index 0fafedf..da86e23 100644 +--- a/modules/codec/omxil/omxil.c ++++ b/modules/codec/omxil/omxil.c +@@ -50,6 +50,7 @@ + /* Defined in the broadcom version of OMX_Index.h */ + #define OMX_IndexConfigRequestCallback 0x7f000063 + #define OMX_IndexParamBrcmPixelAspectRatio 0x7f00004d ++#define OMX_IndexParamBrcmVideoDecodeErrorConcealment 0x7f000080 + + /* Defined in the broadcom version of OMX_Core.h */ + #define OMX_EventParamOrConfigChanged 0x7F000001 +@@ -745,6 +746,21 @@ static OMX_ERRORTYPE InitialiseComponent(decoder_t *p_dec, + if(omx_error != OMX_ErrorNone) goto error; + } + ++ if(!strncmp(p_sys->psz_component, "OMX.broadcom.", 13) && ++ p_sys->in.p_fmt->i_codec == VLC_CODEC_H264) ++ { ++ OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE concanParam; ++ OMX_INIT_STRUCTURE(concanParam); ++ concanParam.bStartWithValidFrame = OMX_FALSE; ++ ++ omx_error = OMX_SetParameter(omx_handle, ++ OMX_IndexParamBrcmVideoDecodeErrorConcealment, &concanParam); ++ if (omx_error == OMX_ErrorNone) ++ msg_Dbg(p_dec, "StartWithValidFrame disabled."); ++ else ++ msg_Dbg(p_dec, "Could not disable StartWithValidFrame."); ++ } ++ + /* Allocate our array for the omx buffers and enable ports */ + for(i = 0; i < p_sys->ports; i++) + { +-- +1.8.5.2 + |