From f910a28b27b8e28f7ad97bfaa9503e1a5073a324 Mon Sep 17 00:00:00 2001 From: Thao Nguyen Date: Thu, 9 Nov 2017 14:20:49 +0700 Subject: rcar-gen3: gstreamer: Upgrade gstreamer to v1.12.2 Gstreamer has been upgraded from 1.6.3 to 1.12.2 for updating following items: [gst-omx] - Support omxvp8dec, omxvp9dec, omxvp8enc. [gst-plugin-vspfilter] - Support NV21/NV16/YUY2 format. Signed-off-by: Thao Nguyen Signed-off-by: Thuy Tran Signed-off-by: Takamitsu Honda --- .../gstreamer/gstreamer1.0-omx/gstomx.conf | 131 +++++++++++++++++++++ .../gstreamer/gstreamer1.0-omx_1.12.2.bbappend | 34 ++++++ .../gstreamer/gstreamer1.0-omx_1.2.0.bbappend | 29 ----- .../gstreamer1.0-plugin-vspfilter_1.0.0.bb | 2 +- .../gstreamer1.0-plugins-bad_1.12.2.bbappend | 29 +++++ .../gstreamer1.0-plugins-bad_1.6.3.bbappend | 29 ----- .../gstreamer1.0-plugins-good_1.12.2.bbappend | 32 +++++ .../gstreamer1.0-plugins-good_1.6.3.bbappend | 32 ----- 8 files changed, 227 insertions(+), 91 deletions(-) create mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf create mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12.2.bbappend delete mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend create mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.2.bbappend delete mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend create mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.2.bbappend delete mode 100644 meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf new file mode 100644 index 0000000..11e5101 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf @@ -0,0 +1,131 @@ +[omxh264dec] +type-name=GstOMXH264Dec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.H264 +rank=512 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-h264,alignment=(string)au,stream-format=(string)byte-stream,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxaaclcdec] +type-name=GstOMXAACDec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.AACLC +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport +sink-template-caps=audio/mpeg,mpegversion=(int){2,4},stream-format=(string){raw,adts},rate=(int)[8000,96000],channels=(int)[1,2],framed=(boolean)true +src-template-caps=audio/x-raw,rate=(int)[8000,96000],channels=(int)[1,2],format=(string)S16LE + +[omxmpeg4videodec] +type-name=GstOMXMPEG4VideoDec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.MPEG4 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/mpeg,mpegversion=(int)4,systemstream=(boolean)false,parsed=(boolean)true,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxvc1dec] +type-name=GstOMXWMVDec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.VC1 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-wmv,wmvversion=(int)3,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxh265dec] +type-name=GstOMXH265Dec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.H265 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-h265,alignment=(string)au,stream-format=(string)byte-stream,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxaacdec] +type-name=GstOMXAACDec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.AAC +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport +sink-template-caps=audio/mpeg,mpegversion=(int){2,4},stream-format=(string){raw,adts},rate=(int)[8000,48000],channels=(int)[1,6],framed=(boolean)true +src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2,6},format=(string)S16LE + +[omxmp3dec] +type-name=GstOMXMP3Dec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.MP3 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport +sink-template-caps=audio/mpeg,mpegversion=(int)1,layer=(int)[1,3],mpegaudioversion=(int)[1,3],rate=(int)[8000,48000],channels=(int)[1,2],parsed=(boolean) true +src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2},format=(string)S16LE + +[omxwmadec] +type-name=GstOMXWMADec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.WMA +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;skip-handle-codec-data +sink-template-caps=audio/x-wma,wmaversion=(int)2,rate=(int)[8000,48000],channels=(int){1,2},block_align=(int)[0,2147483647],bitrate=(int)[0,2147483647] +src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2},format=(string)S16LE + +[omxh264enc] +type-name=GstOMXH264Enc +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.ENCODER.H264 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;renesas-encmc-stride-align +sink-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[80,3840],height=(int)[80,2160] +src-template-caps=video/x-h264,stream-format=(string)byte-stream,width=(int)[80,3840],height=(int)[80,2160] + +[omxvp8dec] +type-name=GstOMXVP8Dec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.VP8 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-vp8,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxvp8enc] +type-name=GstOMXVP8Enc +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.ENCODER.VP8 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;renesas-encmc-stride-align +sink-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[80,1920],height=(int)[80,1080] +src-template-caps=video/x-vp8,width=(int)[80,1920],height=(int)[80,1080] + +[omxvp9dec] +type-name=GstOMXVP9Dec +core-name=/usr/local/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.VP9 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-vp9,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12.2.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12.2.bbappend new file mode 100644 index 0000000..173ca6a --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12.2.bbappend @@ -0,0 +1,34 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:" + +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" +SRC_URI_append = " \ + git://github.com/renesas-rcar/gst-omx.git;branch=RCAR-GEN3/1.12.2 \ + file://gstomx.conf \ +" + +DEPENDS += "omx-user-module mmngrbuf-user-module" + +SRCREV = "7761a2d37dd351f00a6166c80d3cdc7eb94466f4" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://omx/gstomx.h;beginline=1;endline=22;md5=41f577b291a84518889deaaaf2bcbc95 \ +" + +S = "${WORKDIR}/git" + +GSTREAMER_1_0_OMX_TARGET = "rcar" +GSTREAMER_1_0_OMX_CORE_NAME = "${libdir}/libomxr_core.so" +EXTRA_OECONF_append = " --enable-experimental" + +do_configure_prepend() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + install -m 0644 ${WORKDIR}/gstomx.conf ${S}/config/rcar/ + ./autogen.sh --noconfigure + cd ${B} +} + +RDEPENDS_${PN} = "libwayland-egl" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend deleted file mode 100644 index 9a30dd9..0000000 --- a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend +++ /dev/null @@ -1,29 +0,0 @@ -SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" -SRC_URI_append = " git://github.com/renesas-rcar/gst-omx.git;branch=RCAR-GEN3/1.2.0" - -DEPENDS += "omx-user-module mmngrbuf-user-module" - -SRCREV = "50b1a326521f909f6baa4708ce42e671013b8dab" - -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://omx/gstomx.h;beginline=1;endline=22;md5=9281ffe981001da5a13db0303fa7c4ab \ -" - -S = "${WORKDIR}/git" - -GSTREAMER_1_0_OMX_TARGET = "rcar" -GSTREAMER_1_0_OMX_CORE_NAME = "${libdir}/libomxr_core.so" -EXTRA_OECONF_append = " --enable-experimental" -EXTRA_OECONF_append = " --with-omx-header-path=${S}/omx/openmax" - -do_configure_prepend() { - export http_proxy=${http_proxy} - export https_proxy=${https_proxy} - export HTTP_PROXY=${HTTP_PROXY} - export HTTPS_PROXY=${HTTPS_PROXY} - cd ${S} - ./autogen.sh --noconfigure - cd ${B} -} - -RDEPENDS_${PN} = "libwayland-egl" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb index 1957520..dadfc3d 100644 --- a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb @@ -18,7 +18,7 @@ SRC_URI = " \ file://${VSPFILTER_CONF} \ " -SRCREV = "50eefe877d2198092ba41316456d73e02dba0def" +SRCREV = "7f156a6064c11b4e623347fd7d0141ecee75eb36" S = "${WORKDIR}/git" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.2.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.2.bbappend new file mode 100644 index 0000000..65ac292 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.2.bbappend @@ -0,0 +1,29 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz" +SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-bad.git;branch=RCAR-GEN3/1.12.2" + +SRCREV = "aded603643de9a4bdbf54fb8847351f97ab46867" + +DEPENDS += "weston" + +S = "${WORKDIR}/git" + +# submodule is extracted before do_populate_lic +addtask do_init_submodule after do_unpack before do_patch + +do_init_submodule() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + git submodule init + git submodule update +} + +do_configure_prepend() { + cd ${S} + ./autogen.sh --noconfigure + cd ${B} +} + +RDEPENDS_${PN}_append = " libwayland-egl" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend deleted file mode 100644 index 73b5529..0000000 --- a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend +++ /dev/null @@ -1,29 +0,0 @@ -SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz" -SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-bad.git;branch=RCAR-GEN3/1.6.3" - -SRCREV = "e336b2dacf29a155dc8f6896ee0f3a89d87d805e" - -DEPENDS += "weston" - -S = "${WORKDIR}/git" - -# submodule is extracted before do_populate_lic -addtask do_init_submodule after do_unpack before do_patch - -do_init_submodule() { - export http_proxy=${http_proxy} - export https_proxy=${https_proxy} - export HTTP_PROXY=${HTTP_PROXY} - export HTTPS_PROXY=${HTTPS_PROXY} - cd ${S} - git submodule init - git submodule update -} - -do_configure_prepend() { - cd ${S} - ./autogen.sh --noconfigure - cd ${B} -} - -RDEPENDS_${PN} = "libwayland-egl" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.2.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.2.bbappend new file mode 100644 index 0000000..925acca --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.2.bbappend @@ -0,0 +1,32 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" +SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-good.git;branch=RCAR-GEN3/1.12.2" + +SRCREV = "5d270515831f80f022e09291d826ab45d6d19492" + +DEPENDS += "mmngrbuf-user-module" + +S = "${WORKDIR}/git" + +EXTRA_OECONF_append = " \ + --enable-cont-frame-capture \ + --enable-ignore-fps-of-video-standard \ +" + +# submodule is extracted before do_populate_lic +addtask do_init_submodule after do_unpack before do_patch + +do_init_submodule() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + git submodule init + git submodule update +} + +do_configure_prepend() { + cd ${S} + ./autogen.sh --noconfigure + cd ${B} +} diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend deleted file mode 100644 index 1d353ec..0000000 --- a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend +++ /dev/null @@ -1,32 +0,0 @@ -SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" -SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-good.git;branch=RCAR-GEN3/1.6.3" - -SRCREV = "00beed48b36e0b7f2c92199806cc4cb9e0990166" - -DEPENDS += "mmngrbuf-user-module" - -S = "${WORKDIR}/git" - -EXTRA_OECONF_append = " \ - --enable-cont-frame-capture \ - --enable-ignore-fps-of-video-standard \ -" - -# submodule is extracted before do_populate_lic -addtask do_init_submodule after do_unpack before do_patch - -do_init_submodule() { - export http_proxy=${http_proxy} - export https_proxy=${https_proxy} - export HTTP_PROXY=${HTTP_PROXY} - export HTTPS_PROXY=${HTTPS_PROXY} - cd ${S} - git submodule init - git submodule update -} - -do_configure_prepend() { - cd ${S} - ./autogen.sh --noconfigure - cd ${B} -} -- cgit 1.2.3-korg