GNOME Bugzilla – Bug 792528
gst-omx: add properties for the Zynqultrascaleplus
Last modified: 2018-01-30 11:52:47 UTC
Most of those properties are specific to the Zynqultrascaleplus but some are part of the official OMX spec and so can be used on all platforms.
Created attachment 366814 [details] [review] omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus Custom property to control the number of internal buffers used in the decoder to smooth out entropy decoding performance.
Created attachment 366815 [details] [review] omxvideoenc: add qp-mode property on zynqultrascaleplus Custom property to control the QP mode of the encoder.
Created attachment 366816 [details] [review] omxvideoenc: document unit of target-bitrate property nTargetBitrate and nEncodeBitrate are defined in bits per second in the OMX spec.
Created attachment 366817 [details] [review] omxvideoenc: tweak control-rate modes on zynqultrascaleplus The zynqultrascaleplus platform doesn't support the OMX_Video_ControlRateVariableSkipFrames and OMX_Video_ControlRateConstantSkipFrame modes but has a special mode to reduce the decoding latency by avoiding bitrate peaks.
Created attachment 366818 [details] [review] omxvideoenc: add min-qp and max-qp properties on zynqultrascaleplus Allow users to control the minimum and maximum QP values allowed for the rate control.
Created attachment 366819 [details] [review] omxvideoenc: add gop-mode and gdr-mode properties on zynqultrascaleplus Allow users to control Group of Pictures and Gradual Decoder Refresh settings.
Created attachment 366820 [details] [review] omxvideoenc: add initial-delay and cpb-size properties on zynqultrascaleplus
Created attachment 366821 [details] [review] omxvideoenc: add scaling-list property on zynqultrascaleplus
Created attachment 366822 [details] [review] omxvideoenc: add low-bandwidth property on zynqultrascaleplus
Created attachment 366823 [details] [review] omxvideoenc: add max-bitrate property on zynqultrascaleplus
Created attachment 366824 [details] [review] omxvideoenc: add aspect-ratio property on zynqultrascaleplus
Created attachment 366825 [details] [review] omxvideoenc: add filler-data property on zynqultrascaleplus
Created attachment 366826 [details] [review] omxh264enc: add entropy-mode property Map the bEntropyCodingCABAC OMX settting.
Created attachment 366827 [details] [review] omxh264enc: add constrained-intra-prediction property Map the bconstIpred OMX settting.
Created attachment 366828 [details] [review] omxh264enc: add loop-filter-mode property Map the eLoopFilterMode OMX settting.
Created attachment 366829 [details] [review] omxh265enc: add constrained-intra-prediction property Similar to the same property on omxh264enc.
Created attachment 366830 [details] [review] omxh265enc: add loop-filter-mode property Similar to the same property on omxh264enc.
Created attachment 366831 [details] [review] omxvideoenc: add num-slices, slice-size and dependent-slice properties on zynqultrascaleplus Custom properties to configure the number of slices per encoded frame.
Also in this git branch: https://gitlab.collabora.com/cassidy/gst-omx/commits/new-props
Review of attachment 366814 [details] [review]: ::: omx/gstomxvideodec.c @@ +86,3 @@ { + PROP_0, +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS No need for ifdef here, it armless to always define in this private enum. @@ +103,3 @@ GST_TYPE_VIDEO_DECODER, DEBUG_INIT); +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS I'f move the ifdef inside, and keep per target properties outside. @@ +146,2 @@ gobject_class->finalize = gst_omx_video_dec_finalize; +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS Move the ifdef after.
Review of attachment 366815 [details] [review]: ::: omx/gstomxvideoenc.c @@ +126,3 @@ PROP_QUANT_P_FRAMES, + PROP_QUANT_B_FRAMES, +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS No need for ifdef, it's a private enum.
Review of attachment 366816 [details] [review]: Better.
Review of attachment 366817 [details] [review]: ::: omx/gstomxvideoenc.c @@ +51,3 @@ +#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS + {OMX_ALG_Video_ControlRateLowLatency, "Low Latency", "low-latency"}, +#else /* Not implemented on zynqultrascaleplus */ This will be messy to maintain, can you just leave them in place, it's not a big deal if it fails at run-time.
Review of attachment 366818 [details] [review]: Seems like a good proof that OMX is full of gaps. ::: omx/gstomxvideoenc.c @@ +132,3 @@ #ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS PROP_QP_MODE, + PROP_MIN_QP, Move out of ifdef.
Review of attachment 366819 [details] [review]: ::: omx/gstomxvideoenc.c @@ +182,3 @@ PROP_MAX_QP, + PROP_GOP_MODE, + PROP_GDR_MODE, Same.
Same small change for all the other patch. You can squash everything Zynq specific here imho.
Fixed review comments and did some squashing.
Created attachment 367625 [details] [review] omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus Custom property to control the number of internal buffers used in the decoder to smooth out entropy decoding performance.
Created attachment 367626 [details] [review] omxvideoenc: document unit of target-bitrate property nTargetBitrate and nEncodeBitrate are defined in bits per second in the OMX spec.
Created attachment 367627 [details] [review] omxvideoenc: add zynqultrascaleplus specific properties
Created attachment 367628 [details] [review] omxh264enc: add some encoding properties entropy-mode, constrained-intra-prediction and loop-filter-mode. Those map standard OMX settings.
Created attachment 367629 [details] [review] omxh265enc: add some encoding properties constrained-intra-prediction and loop-filter-mode. Those map standard OMX settings.
Attachment 367625 [details] pushed as 52de8ea - omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus Attachment 367626 [details] pushed as d14b9ff - omxvideoenc: document unit of target-bitrate property Attachment 367627 [details] pushed as e339621 - omxvideoenc: add zynqultrascaleplus specific properties Attachment 367628 [details] pushed as 74376fe - omxh264enc: add some encoding properties Attachment 367629 [details] pushed as 8bd2b1f - omxh265enc: add some encoding properties