diff options
| author | Tianmi Chen <tianmi.chen@intel.com> | 2014-04-11 17:32:34 +0800 |
|---|---|---|
| committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:02:58 -0700 |
| commit | 6c36d9722df768cfe63e015193459d870f3cdaa9 (patch) | |
| tree | 9d01777db8bb0003a5484a1e04cfda9061d853b9 | |
| parent | d6909bc46ae314eb3cf17b411c095ede37c7465e (diff) | |
| download | android_hardware_intel_common_omx-components-6c36d9722df768cfe63e015193459d870f3cdaa9.tar.gz android_hardware_intel_common_omx-components-6c36d9722df768cfe63e015193459d870f3cdaa9.tar.bz2 android_hardware_intel_common_omx-components-6c36d9722df768cfe63e015193459d870f3cdaa9.zip | |
omx-component: set max buffer count in case of protected video
BZ: 186222
max buffer count is set in case of adaptive playback. Protected
video also needs to override the function.
Change-Id: Ie532c66c5b77ca307bee5f434fe9474cf524948b
Signed-off-by: Tianmi Chen <tianmi.chen@intel.com>
18 files changed, 84 insertions, 0 deletions
diff --git a/videocodec/OMXVideoDecoderH263.cpp b/videocodec/OMXVideoDecoderH263.cpp index b7e6f32..d1c66b1 100644 --- a/videocodec/OMXVideoDecoderH263.cpp +++ b/videocodec/OMXVideoDecoderH263.cpp @@ -145,5 +145,14 @@ OMX_COLOR_FORMATTYPE OMXVideoDecoderH263::GetOutputColorFormat(int width, int he #endif } +OMX_ERRORTYPE OMXVideoDecoderH263::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} + DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.H263", "video_decoder.h263", OMXVideoDecoderH263); diff --git a/videocodec/OMXVideoDecoderH263.h b/videocodec/OMXVideoDecoderH263.h index 47609fc..9da8fef 100644 --- a/videocodec/OMXVideoDecoderH263.h +++ b/videocodec/OMXVideoDecoderH263.h @@ -39,6 +39,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); virtual OMX_COLOR_FORMATTYPE GetOutputColorFormat(int width, int height); DECLARE_HANDLER(OMXVideoDecoderH263, ParamVideoH263); DECLARE_HANDLER(OMXVideoDecoderH263, ParamVideoH263ProfileLevel); diff --git a/videocodec/OMXVideoDecoderMPEG4.cpp b/videocodec/OMXVideoDecoderMPEG4.cpp index d472577..ee831cd 100644 --- a/videocodec/OMXVideoDecoderMPEG4.cpp +++ b/videocodec/OMXVideoDecoderMPEG4.cpp @@ -146,6 +146,15 @@ OMX_COLOR_FORMATTYPE OMXVideoDecoderMPEG4::GetOutputColorFormat(int width, int h #endif } +OMX_ERRORTYPE OMXVideoDecoderMPEG4::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} + DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.MPEG4", "video_decoder.mpeg4", OMXVideoDecoderMPEG4); diff --git a/videocodec/OMXVideoDecoderMPEG4.h b/videocodec/OMXVideoDecoderMPEG4.h index 5c7a29f..fcf2425 100644 --- a/videocodec/OMXVideoDecoderMPEG4.h +++ b/videocodec/OMXVideoDecoderMPEG4.h @@ -40,6 +40,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); virtual OMX_COLOR_FORMATTYPE GetOutputColorFormat(int width, int height); DECLARE_HANDLER(OMXVideoDecoderMPEG4, ParamVideoMpeg4); DECLARE_HANDLER(OMXVideoDecoderMPEG4, ParamVideoMpeg4ProfileLevel); diff --git a/videocodec/OMXVideoDecoderVP8.cpp b/videocodec/OMXVideoDecoderVP8.cpp index db50a42..16343a8 100644 --- a/videocodec/OMXVideoDecoderVP8.cpp +++ b/videocodec/OMXVideoDecoderVP8.cpp @@ -121,6 +121,14 @@ OMX_COLOR_FORMATTYPE OMXVideoDecoderVP8::GetOutputColorFormat(int width, int hei #endif } +OMX_ERRORTYPE OMXVideoDecoderVP8::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.VP8", "video_decoder.vp8", OMXVideoDecoderVP8); diff --git a/videocodec/OMXVideoDecoderVP8.h b/videocodec/OMXVideoDecoderVP8.h index 566fbe0..ffe5d7f 100644 --- a/videocodec/OMXVideoDecoderVP8.h +++ b/videocodec/OMXVideoDecoderVP8.h @@ -40,6 +40,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); virtual OMX_COLOR_FORMATTYPE GetOutputColorFormat(int width, int height); DECLARE_HANDLER(OMXVideoDecoderVP8, ParamVideoVp8); diff --git a/videocodec/OMXVideoDecoderWMV.cpp b/videocodec/OMXVideoDecoderWMV.cpp index 78274f8..f2e1e6b 100644 --- a/videocodec/OMXVideoDecoderWMV.cpp +++ b/videocodec/OMXVideoDecoderWMV.cpp @@ -115,4 +115,12 @@ OMX_COLOR_FORMATTYPE OMXVideoDecoderWMV::GetOutputColorFormat(int width, int hei #endif } +OMX_ERRORTYPE OMXVideoDecoderWMV::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.WMV", "video_decoder.wmv", OMXVideoDecoderWMV); diff --git a/videocodec/OMXVideoDecoderWMV.h b/videocodec/OMXVideoDecoderWMV.h index cedc3c8..4e1ea1c 100644 --- a/videocodec/OMXVideoDecoderWMV.h +++ b/videocodec/OMXVideoDecoderWMV.h @@ -40,6 +40,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); virtual OMX_COLOR_FORMATTYPE GetOutputColorFormat(int width, int height); DECLARE_HANDLER(OMXVideoDecoderWMV, ParamVideoWmv); diff --git a/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.cpp b/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.cpp index 7ca2a53..4df4aa6 100644 --- a/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.cpp +++ b/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.cpp @@ -734,4 +734,12 @@ OMX_ERRORTYPE OMXVideoDecoderAVCSecure::ConstructFrameInfo( return OMX_ErrorNone; } +OMX_ERRORTYPE OMXVideoDecoderAVCSecure::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} DECLARE_OMX_COMPONENT("OMX.Intel.hw_vd.h264.secure", "video_decoder.avc", OMXVideoDecoderAVCSecure); diff --git a/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.h b/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.h index 5c92cc7..9f4de21 100644 --- a/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.h +++ b/videocodec/securevideo/baytrail/OMXVideoDecoderAVCSecure.h @@ -177,6 +177,7 @@ protected: virtual OMX_COLOR_FORMATTYPE GetOutputColorFormat(int width, int height); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAvc); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAVCProfileLevel); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, NativeBufferMode); diff --git a/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.cpp b/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.cpp index de920b8..c882bd1 100644 --- a/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.cpp +++ b/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.cpp @@ -527,4 +527,12 @@ OMX_ERRORTYPE OMXVideoDecoderAVCSecure::ConstructFrameInfo( return OMX_ErrorNone; } +OMX_ERRORTYPE OMXVideoDecoderAVCSecure::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} DECLARE_OMX_COMPONENT("OMX.Intel.hw_vd.h264.secure", "video_decoder.avc", OMXVideoDecoderAVCSecure); diff --git a/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.h b/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.h index 77c2748..3c8ceaf 100644 --- a/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.h +++ b/videocodec/securevideo/cherrytrail/OMXVideoDecoderAVCSecure.h @@ -71,6 +71,7 @@ protected: virtual OMX_COLOR_FORMATTYPE GetOutputColorFormat(int width, int height); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAvc); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAVCProfileLevel); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, NativeBufferMode); diff --git a/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.cpp b/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.cpp index dda7026..093945b 100644 --- a/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.cpp +++ b/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.cpp @@ -444,4 +444,12 @@ bool OMXVideoDecoderAVCSecure::EnableIEDSession(bool enable) return ret == 0; } +OMX_ERRORTYPE OMXVideoDecoderAVCSecure::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.AVC.secure", "video_decoder.avc", OMXVideoDecoderAVCSecure); diff --git a/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.h b/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.h index 733f959..5c16a70 100644 --- a/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.h +++ b/videocodec/securevideo/ctp/OMXVideoDecoderAVCSecure.h @@ -43,6 +43,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAvc); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAVCProfileLevel); diff --git a/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.cpp b/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.cpp index cf477c4..af5dbcd 100755 --- a/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.cpp +++ b/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.cpp @@ -487,4 +487,13 @@ void OMXVideoDecoderAVCSecure::KeepAliveTimerCallback() { } } +OMX_ERRORTYPE OMXVideoDecoderAVCSecure::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} + DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.AVC.secure", "video_decoder.avc", OMXVideoDecoderAVCSecure); diff --git a/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.h b/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.h index f9eaa8c..6281c23 100755 --- a/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.h +++ b/videocodec/securevideo/merrifield/OMXVideoDecoderAVCSecure.h @@ -43,6 +43,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAvc); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAVCProfileLevel); diff --git a/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.cpp b/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.cpp index cf477c4..5154508 100644 --- a/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.cpp +++ b/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.cpp @@ -487,4 +487,12 @@ void OMXVideoDecoderAVCSecure::KeepAliveTimerCallback() { } } +OMX_ERRORTYPE OMXVideoDecoderAVCSecure::SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p) { + OMX_ERRORTYPE ret; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + p->nBufferCountActual = OUTPORT_NATIVE_BUFFER_COUNT; + return OMXVideoDecoderBase::SetMaxOutputBufferCount(p); +} DECLARE_OMX_COMPONENT("OMX.Intel.VideoDecoder.AVC.secure", "video_decoder.avc", OMXVideoDecoderAVCSecure); diff --git a/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.h b/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.h index f9eaa8c..6281c23 100644 --- a/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.h +++ b/videocodec/securevideo/moorefield/OMXVideoDecoderAVCSecure.h @@ -43,6 +43,7 @@ protected: virtual OMX_ERRORTYPE PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p); virtual OMX_ERRORTYPE BuildHandlerList(void); + virtual OMX_ERRORTYPE SetMaxOutputBufferCount(OMX_PARAM_PORTDEFINITIONTYPE *p); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAvc); DECLARE_HANDLER(OMXVideoDecoderAVCSecure, ParamVideoAVCProfileLevel); |
