mm-video: vdic: Fix issue in time stamp reordering

Adds support for time stamp reordering. Time stamp
reordering is not taking into effect since the
default is set to Decode order. This change makes
the defalut to Display order.Client can update at
any time dynamically.

Change-Id: Iee784eaa19c68a62748bd6ec8a32c365530c76fc
CRs-Fixed: 417428
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
diff --git a/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
index 4ecf0b5..bfea061 100644
--- a/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
+++ b/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
@@ -1326,6 +1326,7 @@
 	struct v4l2_fmtdesc fdesc;
 	struct v4l2_format fmt;
 	struct v4l2_requestbuffers bufreq;
+	struct v4l2_control control;
 	unsigned int   alignment = 0,buffer_size = 0;
 	int fds[2];
 	int r,ret=0;
@@ -1614,7 +1615,6 @@
 				}
 		DEBUG_PRINT_HIGH("\n Set Format was successful \n ");
 		if(secure_mode){
-			struct v4l2_control control;
 			control.id = V4L2_CID_MPEG_VIDC_VIDEO_SECURE;
 			control.value = 1;
 			DEBUG_PRINT_LOW("Omx_vdec:: calling to open secure device %d\n", ret);
@@ -1638,7 +1638,10 @@
 		}
 		drv_ctx.interlace = VDEC_InterlaceFrameProgressive;
 		drv_ctx.extradata = 0;
-		drv_ctx.picture_order = VDEC_ORDER_DECODE;
+		drv_ctx.picture_order = VDEC_ORDER_DISPLAY;
+		control.id = V4L2_CID_MPEG_VIDC_VIDEO_OUTPUT_ORDER;
+		control.value = V4L2_MPEG_VIDC_VIDEO_OUTPUT_ORDER_DISPLAY;
+		ret = ioctl(drv_ctx.video_driver_fd, VIDIOC_S_CTRL, &control);
 		drv_ctx.idr_only_decoding = 0;
 
 		m_state = OMX_StateLoaded;