summaryrefslogtreecommitdiff
path: root/mm-video-v4l2/vidc/vdec/src
diff options
context:
space:
mode:
authorSurajit Podder <spodder@codeaurora.org>2018-01-31 16:38:52 +0530
committerSanthosh Behara <santhoshbehara@codeaurora.org>2018-04-05 12:55:26 +0530
commitd7429f70394fe53a84358066576d50dc71694fc9 (patch)
tree7d7851e83b7ac62e881a43c0c36400fb41f38c48 /mm-video-v4l2/vidc/vdec/src
parent47f48706a8d5827dbe73280c47ec67798ac1f5d7 (diff)
downloadmedia-d7429f70394fe53a84358066576d50dc71694fc9.tar.gz
mm-video-v4l2: Fix issue with crop update
Initiate port reconfig on sequence changed sufficient event with change in resolution, if downscalar is not enabled and split mode is enabled, to ensure OPB resolution is correctly set. This ensures output port resolution is consistent in capture port format and output extradata. Change-Id: Ifda1915f9d49cabeb77529df980e3474f5372186
Diffstat (limited to 'mm-video-v4l2/vidc/vdec/src')
-rwxr-xr-xmm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
index 2aa3fc2a..46413664 100755
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
@@ -313,6 +313,12 @@ void* async_message_thread (void *input)
}
}
+ if (!omx->is_down_scalar_enabled && omx->m_is_split_mode &&
+ (omx->drv_ctx.video_resolution.frame_height != ptr[0] ||
+ omx->drv_ctx.video_resolution.frame_width != ptr[1])) {
+ event_fields_changed = true;
+ }
+
if (event_fields_changed) {
DEBUG_PRINT_HIGH("VIDC Port Reconfig Old Resolution(H,W) = (%d,%d) New Resolution(H,W) = (%d,%d))",
omx->drv_ctx.video_resolution.frame_height,
@@ -722,7 +728,8 @@ omx_vdec::omx_vdec(): m_error_propogated(false),
m_queued_codec_config_count(0),
secure_scaling_to_non_secure_opb(false),
m_force_compressed_for_dpb(true),
- m_is_display_session(false)
+ m_is_display_session(false),
+ m_is_split_mode(false)
{
m_poll_efd = -1;
drv_ctx.video_driver_fd = -1;
@@ -1036,6 +1043,7 @@ OMX_ERRORTYPE omx_vdec::set_dpb(bool is_split_mode, int dpb_color_format)
DEBUG_PRINT_ERROR("Failed to set ext ctrls for opb_dpb: %d\n", rc);
return OMX_ErrorUnsupportedSetting;
}
+ m_is_split_mode = is_split_mode;
return OMX_ErrorNone;
}