return FALSE;
#endif
+#ifdef TIZEN_FEATURE_OMX
+ self->enc_in_port->use_buffer = klass->cdata.in_port_usebuffer;
+ self->enc_out_port->use_buffer = klass->cdata.out_port_usebuffer;
+
+ /* get extension index and set platform specific buffer enable */
+#if defined(USE_OMX_TARGET_EXYNOS) || defined(USE_OMX_TARGET_EXYNOS64)
+ {
+ OMX_ERRORTYPE err;
+ OMX_INDEXTYPE index = OMX_IndexComponentStartUnused;
+ EnableGemBuffersParams gem_param;
+
+ err = gst_omx_component_get_extension_index (self->enc, (OMX_STRING) EXYNOS_INDEX_PARAM_STORE_METADATA_BUFFER, &index);
+ if (err != OMX_ErrorNone) {
+ GST_WARNING_OBJECT (self, "Failed to get extension index : %s (0x%08x)",
+ gst_omx_error_to_string (err), err);
+ }
+
+ OMX_INIT_PARAM (gem_param);
+ gem_param.enable = OMX_TRUE;
+ gem_param.nPortIndex = 0;
+
+ err = gst_omx_component_set_parameter (self->enc, index, &gem_param);
+ if (err != OMX_ErrorNone) {
+ GST_ERROR_OBJECT (self, "Failed to set platform specific buffer: %s (0x%08x)",
+ gst_omx_error_to_string (err), err);
+ }
+
+ }
+#endif /* USE_OMX_TARGET_EXYNOS || USE_OMX_TARGET_EXYNOS64 */
+#endif /* TIZEN_FEATURE_OMX */
+
return TRUE;
}
gst_omx_video_enc_semi_planar_manual_copy (self, inbuf, outbuf,
info->finfo);
break;
+#ifdef TIZEN_FEATURE_OMX
+ case GST_VIDEO_FORMAT_ST12:
+ case GST_VIDEO_FORMAT_SN12: {
+ tbm_surface_h surface;
+ GstMemory *mem = gst_buffer_peek_memory (inbuf, 0);
+
+ if (!gst_is_tizen_memory (mem)) {
+ GST_ERROR_OBJECT (self, "Invalid input buffer");
+ ret = FALSE;
+ break;
+ }
+
+ if (!(surface = gst_tizen_memory_get_surface (mem))) {
+ GST_ERROR_OBJECT (self, "Failed to get surface from tizen memory");
+ ret = FALSE;
+ break;
+ }
+ outbuf->omx_buf->pBuffer = (OMX_U8 *) surface;
+ outbuf->omx_buf->nAllocLen = (OMX_U32) tbm_surface_internal_get_size (surface);
+ outbuf->omx_buf->nFilledLen = (OMX_U32) tbm_surface_internal_get_size (surface);
+#ifdef CODEC_ENC_INPUT_DUMP
+ gst_omx_video_enc_input_dump (inbuf);
+#endif /* CODEC_ENC_INPUT_DUMP */
+ ret = TRUE;
+ break;
+ }
+#endif /* TIZEN_FEATURE_OMX */
default:
GST_ERROR_OBJECT (self, "Unsupported format");
goto done;
GList *next;
switch (nmap->format) {
+#ifdef TIZEN_FEATURE_OMX
+ case GST_VIDEO_FORMAT_SN12:
+ case GST_VIDEO_FORMAT_ST12:
+#endif /* TIZEN_FEATURE_OMX */
case GST_VIDEO_FORMAT_I420:
case GST_VIDEO_FORMAT_NV12:
case GST_VIDEO_FORMAT_NV12_10LE32: