diff options
Diffstat (limited to 'msm8974/mm-video-v4l2')
-rw-r--r-- | msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 9 | ||||
-rw-r--r-- | msm8974/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index 90e2425..b202b6f 100644 --- a/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -3454,10 +3454,12 @@ OMX_ERRORTYPE omx_video::empty_this_buffer_proxy(OMX_IN OMX_HANDLETYPE hComp, media_buffer = (encoder_media_buffer_type *)meta_buffer_hdr[nBufIndex].pBuffer; if (media_buffer) { if (media_buffer->buffer_type != kMetadataBufferTypeCameraSource && - media_buffer->buffer_type != kMetadataBufferTypeGrallocSource) { + media_buffer->buffer_type != kMetadataBufferTypeGrallocSource && + media_buffer->buffer_type != kMetadataBufferTypeNativeHandleSource) { met_error = true; } else { - if (media_buffer->buffer_type == kMetadataBufferTypeCameraSource) { + if ((media_buffer->buffer_type == kMetadataBufferTypeCameraSource) || + (media_buffer->buffer_type == kMetadataBufferTypeNativeHandleSource)) { if (media_buffer->meta_handle == NULL) met_error = true; else if ((media_buffer->meta_handle->numFds != 1 && @@ -4474,7 +4476,8 @@ void omx_video::omx_release_meta_buffer(OMX_BUFFERHEADERTYPE *buffer) } else { media_ptr = (encoder_media_buffer_type *) buffer->pBuffer; if (media_ptr && media_ptr->meta_handle) { - if (media_ptr->buffer_type == kMetadataBufferTypeCameraSource && + if ((media_ptr->buffer_type == kMetadataBufferTypeCameraSource || + media_ptr->buffer_type == kMetadataBufferTypeNativeHandleSource) && media_ptr->meta_handle->numFds == 1 && media_ptr->meta_handle->numInts >= 2) { Input_pmem.fd = media_ptr->meta_handle->data[0]; diff --git a/msm8974/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/msm8974/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp index cc8d6ae..6261195 100644 --- a/msm8974/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp +++ b/msm8974/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp @@ -2738,7 +2738,8 @@ bool venc_dev::venc_empty_buf(void *buffer, void *pmem_data_buf, unsigned index, } else if (!color_format) { int color_space = 0; - if (meta_buf->buffer_type == kMetadataBufferTypeCameraSource) { + if ((meta_buf->buffer_type == kMetadataBufferTypeCameraSource) || + (meta_buf->buffer_type == kMetadataBufferTypeNativeHandleSource)) { if (meta_buf->meta_handle->numFds + meta_buf->meta_handle->numInts > 3 && meta_buf->meta_handle->data[3] & private_handle_t::PRIV_FLAGS_ITU_R_709) { buf.flags = V4L2_MSM_BUF_FLAG_YUV_601_709_CLAMP; |