mm-video: vidc: enable Dynamic Buffer mode

Dynamic buffer mode is supported by OMX Component.

Change-Id: I8a047bf60646bdf8386cd46f047de76922c22e26
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
index 5057067..01e1f15 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
@@ -49,9 +49,7 @@
 #include <fcntl.h>
 #include <limits.h>
 #include <stdlib.h>
-#ifdef META_DATA_MODE_SUPPORTED
 #include <media/hardware/HardwareAPI.h>
-#endif
 #include <media/msm_media_info.h>
 
 #ifndef _ANDROID_
@@ -70,7 +68,7 @@
 #include "DivXDrmDecrypt.h"
 #endif //_ANDROID_
 
-#ifdef META_DATA_MODE_SUPPORTED
+#ifdef METADATA_FOR_DYNAMIC_MODE
 #include "QComOMXMetadata.h"
 #endif
 
@@ -233,9 +231,7 @@
                     DEBUG_PRINT_HIGH("async_message_thread Exited");
                     break;
                 }
-            }
-#ifdef META_DATA_MODE_SUPPORTED
-            else if (dqevent.type == V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE) {
+            } else if (dqevent.type == V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE) {
                 unsigned int *ptr = (unsigned int *)dqevent.u.data;
                 DEBUG_PRINT_LOW("REFERENCE RELEASE EVENT RECVD fd = %d offset = %d", ptr[0], ptr[1]);
                 omx->buf_ref_remove(ptr[0], ptr[1]);
@@ -264,7 +260,6 @@
                     break;
                 }
             }
-#endif
             else {
                 DEBUG_PRINT_HIGH("VIDC Some Event recieved");
                 continue;
@@ -644,20 +639,16 @@
 #endif
     m_fill_output_msg = OMX_COMPONENT_GENERATE_FTB;
     client_buffers.set_vdec_client(this);
-#ifdef META_DATA_MODE_SUPPORTED
     dynamic_buf_mode = false;
     out_dynamic_list = NULL;
-#endif
 }
 
 static const int event_type[] = {
     V4L2_EVENT_MSM_VIDC_FLUSH_DONE,
     V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_SUFFICIENT,
     V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_INSUFFICIENT,
-#ifdef META_DATA_MODE_SUPPORTED
     V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE,
     V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER,
-#endif
     V4L2_EVENT_MSM_VIDC_CLOSE_DONE,
     V4L2_EVENT_MSM_VIDC_SYS_ERROR
 };
@@ -3424,7 +3415,6 @@
                                      break;
 
                                  }
-#ifdef META_DATA_MODE_SUPPORTED
         case OMX_QcomIndexParamVideoMetaBufferMode:
         {
             StoreMetaDataInBuffersParams *metabuffer =
@@ -3462,7 +3452,6 @@
                 }
                 break;
         }
-#endif
         case OMX_QcomIndexParamVideoDownScalar: {
             QOMX_INDEXDOWNSCALAR* pParam = (QOMX_INDEXDOWNSCALAR*)paramData;
                 struct v4l2_control control;
@@ -3842,11 +3831,9 @@
         *indexType = (OMX_INDEXTYPE)OMX_GoogleAndroidIndexGetAndroidNativeBufferUsage;
     }
 #endif
-#ifdef META_DATA_MODE_SUPPORTED
     else if (!strncmp(paramName, "OMX.google.android.index.storeMetaDataInBuffers", sizeof("OMX.google.android.index.storeMetaDataInBuffers") - 1)) {
         *indexType = (OMX_INDEXTYPE)OMX_QcomIndexParamVideoMetaBufferMode;
     }
-#endif
     else {
         DEBUG_PRINT_ERROR("Extension: %s not implemented", paramName);
         return OMX_ErrorNotImplemented;
@@ -3997,7 +3984,6 @@
         eRet = OMX_ErrorInsufficientResources;
     }
 
-#ifdef META_DATA_MODE_SUPPORTED
     if (dynamic_buf_mode) {
         *bufferHdr = (m_out_mem_ptr + i );
         (*bufferHdr)->pBuffer = NULL;
@@ -4019,7 +4005,6 @@
         (*bufferHdr)->nAllocLen = sizeof(struct VideoDecoderOutputMetaData);
         return eRet;
     }
-#endif
     if (eRet == OMX_ErrorNone) {
 #if defined(_ANDROID_HONEYCOMB_) || defined(_ANDROID_ICS_)
         if (m_enable_android_native_buffers) {
@@ -5620,7 +5605,6 @@
 OMX_ERRORTYPE  omx_vdec::fill_this_buffer(OMX_IN OMX_HANDLETYPE  hComp,
         OMX_IN OMX_BUFFERHEADERTYPE* buffer)
 {
-#ifdef META_DATA_MODE_SUPPORTED
     if (dynamic_buf_mode) {
         private_handle_t *handle = NULL;
         struct VideoDecoderOutputMetaData *meta;
@@ -5655,7 +5639,6 @@
         buf_ref_add(drv_ctx.ptr_outputbuffer[nPortIndex].pmem_fd,
                     drv_ctx.ptr_outputbuffer[nPortIndex].offset);
     }
-#endif
 
     if (m_state == OMX_StateInvalid) {
         DEBUG_PRINT_ERROR("FTB in Invalid State");
@@ -6334,15 +6317,12 @@
             buffer, buffer->pBuffer);
     pending_output_buffers --;
 
-#ifdef META_DATA_MODE_SUPPORTED
     if (dynamic_buf_mode && !secure_mode) {
         unsigned int nPortIndex = 0;
         nPortIndex = buffer-((OMX_BUFFERHEADERTYPE *)client_buffers.get_il_buf_hdr());
         munmap(drv_ctx.ptr_outputbuffer[nPortIndex].bufferaddr,
                         drv_ctx.ptr_outputbuffer[nPortIndex].mmaped_size);
     }
-#endif
-
     if (buffer->nFlags & OMX_BUFFERFLAG_EOS) {
         DEBUG_PRINT_HIGH("Output EOS has been reached");
         if (!output_flush_progress)
@@ -6621,11 +6601,9 @@
                     ((omxhdr - omx->m_out_mem_ptr) < (int)omx->drv_ctx.op_buf.actualcount) &&
                     (((struct vdec_output_frameinfo *)omxhdr->pOutputPortPrivate
                       - omx->drv_ctx.ptr_respbuffer) < (int)omx->drv_ctx.op_buf.actualcount)) {
-#ifdef META_DATA_MODE_SUPPORTED
                 if (omx->dynamic_buf_mode && vdec_msg->msgdata.output_frame.len) {
                     vdec_msg->msgdata.output_frame.len = omxhdr->nAllocLen;
                 }
-#endif
                 if ( vdec_msg->msgdata.output_frame.len <=  omxhdr->nAllocLen) {
                     omxhdr->nFilledLen = vdec_msg->msgdata.output_frame.len;
                     omxhdr->nOffset = vdec_msg->msgdata.output_frame.offset;
@@ -6655,12 +6633,10 @@
                          DEBUG_PRINT_LOW("F_B_D: READONLY BUFFER - REFERENCE WITH F/W fd = %d",
                                     omx->drv_ctx.ptr_outputbuffer[v4l2_buf_ptr->index].pmem_fd);
                     }
-#ifdef META_DATA_MODE_SUPPORTED
                     if (omx->dynamic_buf_mode && !(v4l2_buf_ptr->flags & V4L2_QCOM_BUF_FLAG_READONLY)) {
                         omx->buf_ref_remove(omx->drv_ctx.ptr_outputbuffer[v4l2_buf_ptr->index].pmem_fd,
                             omxhdr->nOffset);
                     }
-#endif
                     if (omxhdr && (v4l2_buf_ptr->flags & V4L2_QCOM_BUF_DROP_FRAME) &&
                             !(v4l2_buf_ptr->flags & V4L2_QCOM_BUF_FLAG_DECODEONLY) &&
                             !(v4l2_buf_ptr->flags & V4L2_QCOM_BUF_FLAG_EOS)) {
@@ -7423,12 +7399,10 @@
         drv_ctx.op_buf_ion_info = NULL;
     }
 #endif
-#ifdef META_DATA_MODE_SUPPORTED
     if (out_dynamic_list) {
         free(out_dynamic_list);
         out_dynamic_list = NULL;
     }
-#endif
 }
 
 void omx_vdec::free_input_buffer_header()
@@ -7810,12 +7784,10 @@
         drv_ctx.op_buf_ion_info = (struct vdec_ion * ) \
                       calloc (sizeof(struct vdec_ion),drv_ctx.op_buf.actualcount);
 #endif
-#ifdef META_DATA_MODE_SUPPORTED
         if (dynamic_buf_mode) {
             out_dynamic_list = (struct dynamic_buf_list *) \
                 calloc (sizeof(struct dynamic_buf_list), drv_ctx.op_buf.actualcount);
         }
-#endif
         if (m_out_mem_ptr && pPtr && drv_ctx.ptr_outputbuffer
                 && drv_ctx.ptr_respbuffer) {
             bufHdr          =  m_out_mem_ptr;
@@ -8969,7 +8941,6 @@
     return status;
 }
 
-#ifdef META_DATA_MODE_SUPPORTED
 void omx_vdec::buf_ref_add(OMX_U32 fd, OMX_U32 offset)
 {
     int i = 0;
@@ -9030,4 +9001,3 @@
     }
     pthread_mutex_unlock(&m_lock);
 }
-#endif