Added gst-omx.conf for building 64-bit 02/49802/4 accepted/tizen/mobile/20151022.055800 accepted/tizen/tv/20151022.055817 accepted/tizen/wearable/20151022.055831 submit/tizen/20151022.031014
authorSejun Park <sejun79.park@samsung.com>
Tue, 20 Oct 2015 09:54:10 +0000 (18:54 +0900)
committerSejun Park <sejun79.park@samsung.com>
Wed, 21 Oct 2015 08:45:29 +0000 (17:45 +0900)
Change-Id: I3b1d389f121405129f78a5fe3808885f155f679a
Signed-off-by: Sejun Park <sejun79.park@samsung.com>
config/Makefile.am
config/exynos64/Makefile.am [new file with mode: 0755]
config/exynos64/gstomx.conf [new file with mode: 0755]
configure.ac
omx/gstomx.c
omx/gstomxvideoenc.c
packaging/gst-omx.spec

index b9bac60..cd13a1b 100755 (executable)
@@ -1 +1 @@
-SUBDIRS = bellagio rpi exynos
+SUBDIRS = bellagio rpi exynos exynos64
diff --git a/config/exynos64/Makefile.am b/config/exynos64/Makefile.am
new file mode 100755 (executable)
index 0000000..4c835c8
--- /dev/null
@@ -0,0 +1,6 @@
+EXTRA_DIST = gstomx.conf
+
+if USE_OMX_TARGET_EXYNOS64
+configdir = $(sysconfdir)/xdg
+config_DATA = gstomx.conf
+endif
diff --git a/config/exynos64/gstomx.conf b/config/exynos64/gstomx.conf
new file mode 100755 (executable)
index 0000000..f276db0
--- /dev/null
@@ -0,0 +1,72 @@
+[omxdec_mpeg2]
+type-name=GstOMXMPEG2VideoDec
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.MPEG2.Decoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+
+[omxdec_mpeg4]
+type-name=GstOMXMPEG4VideoDec
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.MPEG4.Decoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+
+[omxdec_h263]
+type-name=GstOMXH263Dec
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.H263.Decoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+
+[omxdec_h264]
+type-name=GstOMXH264Dec
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.AVC.Decoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+
+[omxdec_vc1]
+type-name=GstOMXWMVDec
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.WMV.Decoder
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},width=(int)[1,MAX],height=(int)[1,MAX]
+
+[omxenc_h264]
+type-name=GstOMXH264Enc
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.AVC.Encoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+
+[omxenc_mpeg4]
+type-name=GstOMXMPEG4VideoEnc
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.MPEG4.Encoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
+
+[omxenc_h263]
+type-name=GstOMXH263Enc
+core-name=/usr/lib64/libExynosOMX_Core.so
+component-name=OMX.Exynos.H263.Encoder
+rank=258
+in-port-index=0
+out-port-index=1
+hacks=no-component-role
index 1db36cb..bfa1614 100755 (executable)
@@ -190,7 +190,7 @@ AC_ARG_ENABLE(Bsymbolic,
                LDFLAGS="${SAVED_LDFLAGS}"])
 
 AC_ARG_WITH([omx-target],
-        AS_HELP_STRING([--with-omx-target],[Use this OpenMAX IL target (generic, bellagio, rpi, exynos)]),
+        AS_HELP_STRING([--with-omx-target],[Use this OpenMAX IL target (generic, bellagio, rpi, exynos, exynos64)]),
         [ac_cv_omx_target="$withval"], [ac_cv_omx_target="generic"])
 
 ac_cv_omx_target_struct_packing="none"
@@ -209,6 +209,9 @@ case "${ac_cv_omx_target}" in
  exynos)
     AC_DEFINE(USE_OMX_TARGET_EXYNOS, 1, [Use Exynos OpenMAX IL target])
     ;;
+ exynos64)
+    AC_DEFINE(USE_OMX_TARGET_EXYNOS64, 1, [Use Exynos64 OpenMAX IL target])
+    ;;
   *)
     AC_ERROR([invalid OpenMAX IL target])
     ;;
@@ -217,6 +220,7 @@ AM_CONDITIONAL(USE_OMX_TARGET_GENERIC, test "x$ac_cv_omx_target" = "xgeneric")
 AM_CONDITIONAL(USE_OMX_TARGET_BELLAGIO, test "x$ac_cv_omx_target" = "xbellagio")
 AM_CONDITIONAL(USE_OMX_TARGET_RPI, test "x$ac_cv_omx_target" = "xrpi")
 AM_CONDITIONAL(USE_OMX_TARGET_EXYNOS, test "x$ac_cv_omx_target" = "xexynos")
+AM_CONDITIONAL(USE_OMX_TARGET_EXYNOS64, test "x$ac_cv_omx_target" = "xexynos64")
 
 AC_ARG_WITH([omx-struct-packing],
         AS_HELP_STRING([--with-omx-struct-packing],[Force OpenMAX struct packing, (default is none)]),
@@ -350,6 +354,7 @@ config/Makefile
 config/bellagio/Makefile
 config/rpi/Makefile
 config/exynos/Makefile
+config/exynos64/Makefile
 )
 
 AC_OUTPUT
index dddd0a4..66153b6 100755 (executable)
@@ -1770,7 +1770,7 @@ gst_omx_port_tbm_allocate_dec_buffers (tbm_bufmgr bufMgr, GstOMXPort * port, int
           ptr->handle.dmabuf_fd[0] = gst_omx_tbm_get_bo_fd(ptr->handle.bo[0]);
           ptr->data[0] = gst_omx_tbm_get_bo_ptr(ptr->handle.bo[0]);
           ptr->size[0] = port->port_def.nBufferSize;
-          ptr->type = MM_VIDEO_BUFFER_TYPE_PHYSICAL_ADDRESS;
+          ptr->type = MM_VIDEO_BUFFER_TYPE_TBM_BO;
       }
       else { /* output port */
 
@@ -1867,7 +1867,7 @@ gst_omx_port_tbm_allocate_enc_buffers (tbm_bufmgr bufMgr, GstOMXPort * port, int
           ptr->handle.bo[0] = gst_omx_tbm_allocate_bo(bufMgr, port->port_def.nBufferSize);
           ptr->handle.dmabuf_fd[0] = gst_omx_tbm_get_bo_fd(ptr->handle.bo[0]);
           ptr->handle.paddr[0] = gst_omx_tbm_get_bo_ptr(ptr->handle.bo[0]);
-          ptr->type = MM_VIDEO_BUFFER_TYPE_PHYSICAL_ADDRESS;
+          ptr->type = MM_VIDEO_BUFFER_TYPE_TBM_BO;
           ptr->size[0] = port->port_def.nBufferSize;
           ptr->handle_num = 1;
       }
index 60963c3..82941fc 100755 (executable)
@@ -1354,7 +1354,7 @@ gst_omx_video_enc_set_format (GstVideoEncoder * encoder,
     /*Specific for exynos processors*/
     /*if (gst_omx_port_allocate_buffers (self->enc_out_port) != OMX_ErrorNone)*/
     if(gst_omx_port_tbm_allocate_enc_buffers(self->hTBMBufMgr,self->enc_out_port,
-        self->enc_in_port->port_def.format.video.eCompressionFormat) != OMX_ErrorNone)
+        self->enc_out_port->port_def.format.video.eCompressionFormat) != OMX_ErrorNone)
 #else
     /* And disable output port */
     if (gst_omx_port_set_enabled (self->enc_out_port, FALSE) != OMX_ErrorNone)
index 33218c8..b1bd259 100755 (executable)
@@ -1,7 +1,7 @@
 Name:           gst-omx
 Summary:        GStreamer plug-in that allows communication with OpenMAX IL components
 Version:        1.0.0
-Release:        5
+Release:        6
 License:        LGPL-2.1+
 Group:          Multimedia/Framework
 Source0:        %{name}-%{version}.tar.gz
@@ -25,12 +25,14 @@ cp %{SOURCE1001} .
 %build
 ./autogen.sh --noconfigure
 
-%ifarch %{arm}
 export CFLAGS+=" -DEXYNOS_SPECIFIC"
 export CFLAGS+=" -DUSE_TBM"
-%endif
 
+%ifarch aarch64
+%configure --disable-static --prefix=/usr --with-omx-target=exynos64
+%else
 %configure --disable-static --prefix=/usr --with-omx-target=exynos
+%endif
 
 make %{?jobs:-j%jobs}