From 7e3007cdb606d5a087ca24c7eb32ea2868513b29 Mon Sep 17 00:00:00 2001 From: Deva Ramasubramanian Date: Mon, 14 Dec 2015 18:45:23 -0800 Subject: mm-video: vidc: Communicate the right colorformat to the driver While going thru the C2D path, we never re-configured the driver to expect NV12 input rather than QOMX_DEFAULT_COLOR_FMT. Change-Id: Ia445e37b0b7e0e2521b618d7b2ecd9d7ff93cdf4 --- mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 2 +- mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 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 aa554123..fa1ada42 100644 --- a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -4829,7 +4829,7 @@ OMX_ERRORTYPE omx_video::empty_this_buffer_opaque(OMX_IN OMX_HANDLETYPE hComp, } c2d_opened = true; #ifdef _MSM8974_ - if (!dev_set_format(handle->format)) + if (!dev_set_format(NV12_128m)) DEBUG_PRINT_ERROR("cannot set color format"); #endif } diff --git a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp index 78d6a4ad..a6179cb5 100644 --- a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp +++ b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp @@ -782,9 +782,17 @@ int venc_dev::venc_set_format(int format) { int rc = true; - if (format) + if (format) { color_format = format; - else { + + switch (color_format) { + case NV12_128m: + return venc_set_color_format((OMX_COLOR_FORMATTYPE)QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m); + default: + return false; + } + + } else { color_format = 0; rc = false; } -- cgit v1.2.3