add bUsingNativeBuffers to DescribeColorFormatParams
This is needed to find proper color format for flex-YUV native buffer support. Bug: 19179927 Change-Id: I91ae6764e302c4307a0750c1d6820506d735c942
This commit is contained in:
parent
94ee9b5916
commit
ea5da67d90
@ -174,8 +174,8 @@ struct MediaImage {
|
|||||||
|
|
||||||
Type mType;
|
Type mType;
|
||||||
size_t mNumPlanes; // number of planes
|
size_t mNumPlanes; // number of planes
|
||||||
size_t mWidth; // width of largest plane
|
size_t mWidth; // width of largest plane (unpadded, as in nFrameWidth)
|
||||||
size_t mHeight; // height of largest plane
|
size_t mHeight; // height of largest plane (unpadded, as in nFrameHeight)
|
||||||
size_t mBitDepth; // useable bit depth
|
size_t mBitDepth; // useable bit depth
|
||||||
struct PlaneInfo {
|
struct PlaneInfo {
|
||||||
size_t mOffset; // offset of first pixel of the plane in bytes
|
size_t mOffset; // offset of first pixel of the plane in bytes
|
||||||
@ -194,12 +194,26 @@ struct MediaImage {
|
|||||||
// other than invalid. The color-format, frame width/height, and stride/
|
// other than invalid. The color-format, frame width/height, and stride/
|
||||||
// slice-height parameters are ones that are associated with a raw video
|
// slice-height parameters are ones that are associated with a raw video
|
||||||
// port (input or output), but the stride/slice height parameters may be
|
// port (input or output), but the stride/slice height parameters may be
|
||||||
// incorrect. The component shall fill out the MediaImage structure that
|
// incorrect. bUsingNativeBuffers is OMX_TRUE if native android buffers will
|
||||||
|
// be used (while specifying this color format).
|
||||||
|
//
|
||||||
|
// The component shall fill out the MediaImage structure that
|
||||||
// corresponds to the described raw video format, and the potentially corrected
|
// corresponds to the described raw video format, and the potentially corrected
|
||||||
// stride and slice-height info.
|
// stride and slice-height info.
|
||||||
//
|
//
|
||||||
// For non-YUV packed planar/semiplanar image formats, the component shall set
|
// The behavior is slightly different if bUsingNativeBuffers is OMX_TRUE,
|
||||||
// mNumPlanes to 0, and mType to MEDIA_IMAGE_TYPE_UNKNOWN.
|
// though most implementations can ignore this difference. When using native buffers,
|
||||||
|
// the component may change the configured color format to an optimized format.
|
||||||
|
// Additionally, when allocating these buffers for flexible usecase, the framework
|
||||||
|
// will set the SW_READ/WRITE_OFTEN usage flags. In this case (if bUsingNativeBuffers
|
||||||
|
// is OMX_TRUE), the component shall fill out the MediaImage information for the
|
||||||
|
// scenario when these SW-readable/writable buffers are locked using gralloc_lock.
|
||||||
|
// Note, that these buffers may also be locked using gralloc_lock_ycbcr, which must
|
||||||
|
// be supported for vendor-specific formats.
|
||||||
|
//
|
||||||
|
// For non-YUV packed planar/semiplanar image formats, or if bUsingNativeBuffers
|
||||||
|
// is OMX_TRUE and the component does not support this color format with native
|
||||||
|
// buffers, the component shall set mNumPlanes to 0, and mType to MEDIA_IMAGE_TYPE_UNKNOWN.
|
||||||
struct DescribeColorFormatParams {
|
struct DescribeColorFormatParams {
|
||||||
OMX_U32 nSize;
|
OMX_U32 nSize;
|
||||||
OMX_VERSIONTYPE nVersion;
|
OMX_VERSIONTYPE nVersion;
|
||||||
@ -209,6 +223,7 @@ struct DescribeColorFormatParams {
|
|||||||
OMX_U32 nFrameHeight;
|
OMX_U32 nFrameHeight;
|
||||||
OMX_U32 nStride;
|
OMX_U32 nStride;
|
||||||
OMX_U32 nSliceHeight;
|
OMX_U32 nSliceHeight;
|
||||||
|
OMX_BOOL bUsingNativeBuffers;
|
||||||
|
|
||||||
// output: fill out the MediaImage fields
|
// output: fill out the MediaImage fields
|
||||||
MediaImage sMediaImage;
|
MediaImage sMediaImage;
|
||||||
|
Loading…
Reference in New Issue
Block a user