diff options
author | Umesh Pandey <umeshp@codeaurora.org> | 2017-10-03 17:47:20 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-10-04 18:15:56 -0700 |
commit | f8a2e3f935c072a98fe6dfa170323a2289ab5c73 (patch) | |
tree | 85b0cd2bcd476d3174268d11c70a512ae27d5fb5 /mm-video-v4l2 | |
parent | c6a3f9f24edf92868aac5f1f59d1b98ce914b1be (diff) | |
download | media-f8a2e3f935c072a98fe6dfa170323a2289ab5c73.tar.gz |
mm-video-v4l2: vidc: venc: Push input buffer for TP10 color format
Base class checks whether color format needs to go to C2D and
if it does not requires C2D and is a Venus color format. Adding
TP10 colorformat to the list of Venus color format supported so
as to queue TP10 YUV to the driver.
CRs-Fixed: 2101805
Change-Id: I1b814703a2443d25290066102f9311931850ca86
Diffstat (limited to 'mm-video-v4l2')
-rw-r--r-- | mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index 958b71ce..941c53d7 100644 --- a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -5218,6 +5218,12 @@ OMX_ERRORTYPE omx_video::push_input_buffer(OMX_HANDLETYPE hComp) } else { VideoGrallocMetadata *media_buffer = (VideoGrallocMetadata *)psource_frame->pBuffer; private_handle_t *handle = (private_handle_t *)media_buffer->pHandle; + bool is_venus_supported_format = (handle->format == HAL_PIXEL_FORMAT_NV12_ENCODEABLE || + handle->format == QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m || + handle->format == QOMX_COLOR_FORMATYUV420PackedSemiPlanar32mCompressed || + handle->format == QOMX_COLOR_Format32bitRGBA8888Compressed || + handle->format == HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC); + Input_pmem_info.buffer = media_buffer; Input_pmem_info.fd = handle->fd; Input_pmem_info.offset = 0; @@ -5225,11 +5231,7 @@ OMX_ERRORTYPE omx_video::push_input_buffer(OMX_HANDLETYPE hComp) m_graphicbuffer_size = Input_pmem_info.size; if (is_conv_needed(handle->format, handle->flags)) ret = convert_queue_buffer(hComp,Input_pmem_info,index); - else if (handle->format == HAL_PIXEL_FORMAT_NV12_ENCODEABLE || - handle->format == QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m || - handle->format == QOMX_COLOR_FORMATYUV420PackedSemiPlanar32mCompressed || - handle->format == HAL_PIXEL_FORMAT_RGBA_8888 || - handle->format == QOMX_COLOR_Format32bitRGBA8888Compressed) + else if (is_venus_supported_format) ret = queue_meta_buffer(hComp); else ret = OMX_ErrorBadParameter; |