From 044ace6bde97eb71ca5a5cae12a93c5b101c55f3 Mon Sep 17 00:00:00 2001 From: Jamie Gennis Date: Fri, 29 Oct 2010 15:19:29 -0700 Subject: Stop using OMX_COLOR_FormatAndroidPrivateStart. This removes the use (and definition) of the Android-private range of OMX color formats from Stagefright. Instead we will just be interpreting the video color format of an OMX port as an Android pixel format if the port is in native buffer mode. Change-Id: I3ea50703336a88249e7563bc7022dfedbeac506e --- include/media/stagefright/HardwareAPI.h | 18 ++++-------------- media/libstagefright/OMXCodec.cpp | 7 +------ 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/include/media/stagefright/HardwareAPI.h b/include/media/stagefright/HardwareAPI.h index b009e1b..4fd281b 100644 --- a/include/media/stagefright/HardwareAPI.h +++ b/include/media/stagefright/HardwareAPI.h @@ -37,11 +37,11 @@ namespace android { // buffers. This is the mode that will be used when CPU access to the buffer is // required. // -// When Android native buffer use has been enabled, the OMX node must support -// only color formats in the range [OMX_COLOR_FormatAndroidPrivateStart, -// OMX_COLOR_FormatAndroidPrivateEnd). The node should then expect to receive +// When Android native buffer use has been enabled for a given port, the video +// color format for the port is to be interpreted as an Android pixel format +// rather than an OMX color format. The node should then expect to receive // UseAndroidNativeBuffer calls (via OMX_SetParameter) rather than UseBuffer -// calls. +// calls for that port. struct EnableAndroidNativeBuffersParams { OMX_U32 nSize; OMX_VERSIONTYPE nVersion; @@ -75,16 +75,6 @@ struct StoreMetaDataInBuffersParams { OMX_BOOL bStoreMetaData; }; -// Color formats in the range [OMX_COLOR_FormatAndroidPrivateStart, -// OMX_COLOR_FormatAndroidPrivateEnd) will be converted to a gralloc pixel -// format when used to allocate Android native buffers via gralloc. The -// conversion is done by subtracting OMX_COLOR_FormatAndroidPrivateStart from -// the color format reported by the codec. -enum { - OMX_COLOR_FormatAndroidPrivateStart = 0xA0000000, - OMX_COLOR_FormatAndroidPrivateEnd = 0xB0000000, -}; - // A pointer to this struct is passed to OMX_SetParameter when the extension // index for the 'OMX.google.android.index.useAndroidNativeBuffer' extension is // given. This call will only be performed if a prior call was made with the diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index ce48d1c..9e1b436 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -1710,16 +1710,11 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() { return err; } - // Check that the color format is in the correct range. - CHECK(OMX_COLOR_FormatAndroidPrivateStart <= def.format.video.eColorFormat); - CHECK(def.format.video.eColorFormat < OMX_COLOR_FormatAndroidPrivateEnd); - err = native_window_set_buffers_geometry( mNativeWindow.get(), def.format.video.nFrameWidth, def.format.video.nFrameHeight, - def.format.video.eColorFormat - - OMX_COLOR_FormatAndroidPrivateStart); + def.format.video.eColorFormat); if (err != 0) { LOGE("native_window_set_buffers_geometry failed: %s (%d)", -- cgit v1.1