Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f39f604 authored by Lajos Molnar's avatar Lajos Molnar
Browse files

Clarify some android-specific OMX extensions for native buffers.



Clarify the use of enableAndroidNativeBuffers and
storeMetaDataInBuffers extensions.

Change-Id: Ia1ca4a262525de74f133619f92ef6ba8271a6f72
Signed-off-by: default avatarLajos Molnar <lajos@google.com>
parent 59a99aaa
Loading
Loading
Loading
Loading
+12 −4
Original line number Original line Diff line number Diff line
@@ -38,9 +38,13 @@ namespace android {
//
//
// When Android native buffer use has been enabled for a given port, the video
// 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
// 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
// rather than an OMX color format.  Enabling Android native buffers may also
// UseAndroidNativeBuffer calls (via OMX_SetParameter) rather than UseBuffer
// change how the component receives the native buffers.  If store-metadata-mode
// calls for that port.
// is enabled on the port, the component will receive the buffers as specified
// in the section below. Otherwise, unless the node supports the
// 'OMX.google.android.index.useAndroidNativeBuffer2' extension, it should
// expect to receive UseAndroidNativeBuffer calls (via OMX_SetParameter) rather
// than UseBuffer calls for that port.
struct EnableAndroidNativeBuffersParams {
struct EnableAndroidNativeBuffersParams {
    OMX_U32 nSize;
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_VERSIONTYPE nVersion;
@@ -62,11 +66,15 @@ struct EnableAndroidNativeBuffersParams {
//
//
// Currently, this is specifically used to pass meta data from video source
// Currently, this is specifically used to pass meta data from video source
// (camera component, for instance) to video encoder to avoid memcpying of
// (camera component, for instance) to video encoder to avoid memcpying of
// input video frame data. To do this, bStoreMetaDta is set to OMX_TRUE.
// input video frame data. To do this, bStoreMetaData is set to OMX_TRUE.
// If bStoreMetaData is set to false, real YUV frame data will be stored
// If bStoreMetaData is set to false, real YUV frame data will be stored
// in the buffers. In addition, if no OMX_SetParameter() call is made
// in the buffers. In addition, if no OMX_SetParameter() call is made
// with the corresponding extension index, real YUV data is stored
// with the corresponding extension index, real YUV data is stored
// in the buffers.
// in the buffers.
//
// For video decoder output port, the metadata buffer layout is defined below.
//
// Metadata buffers are registered with the component using UseBuffer calls.
struct StoreMetaDataInBuffersParams {
struct StoreMetaDataInBuffersParams {
    OMX_U32 nSize;
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_VERSIONTYPE nVersion;