Guillaume Desmottes
4c9b8052c7
omxh264enc: send codec data downstream
...
We are operating in stream-format=byte-stream so the codec data buffer
is meant to be part of the buffer flow.
The base class will push it when a key frame is requested (as we stored
it with gst_video_encoder_set_headers()) but we still have to push it
right away as part of the normal buffer flow.
Also set the HEADER flag on this buffer.
2019-12-22 05:43:40 +00:00
Guillaume Desmottes
bb0d9add24
omxh264enc: no need to check if codeconfig has startcode
...
We currently only support stream-format=byte-stream so there is no point
re-checking for it when handling CODECCONFIG buffer.
2019-12-22 05:43:40 +00:00
Nicolas Dufresne
d6d2a5b194
omxh26xenc: Negotiate subframe mode
...
We now negotiate subframe mode through the caps. To enabled subframe
mode, the caps need to specify alignment=nal:
... ! omxh264enc ! video/x-h264,alignment=nal ! ...
... ! omxh265enc ! video/x-h265,alignment=nal ! ...
2019-12-22 05:43:40 +00:00
Shinya Saito
5d8d478ff8
omxh264enc: Add 'ref-frames' property
...
Add a property to control the number of frames for reference.
Min and max value is based on OpenMAX IL 1.2.0 Specification.
2019-06-04 12:25:15 +09:00
Charlie Turner
7412b39765
omx: Add hardware classifiers to encoders/decoders
2019-03-26 12:17:26 +00:00
Guillaume Desmottes
b644699c8d
omxh26{4,5}enc: don't pick default 10-bit profile
...
The OMX stack of the zynqultrascaleplus (the only one supporting
NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
has been requested. Best to rely on its default than hardcoding a
specific one in gst-omx.
https://bugzilla.gnome.org/show_bug.cgi?id=794319
2018-04-26 10:07:54 +02:00
Guillaume Desmottes
7242d0a2e2
omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
...
Move the profile <-> enum mapping to one place. Make changes easier as
I'm about to add extra profiles.
No semantic change.
https://bugzilla.gnome.org/show_bug.cgi?id=794177
2018-04-25 09:20:02 +02:00
Guillaume Desmottes
ea2df994f3
add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
...
The encoder and decoder on zynqultrascaleplus support these new 10 bits
format.
https://bugzilla.gnome.org/show_bug.cgi?id=793694
2018-02-28 08:32:26 -05:00
Guillaume Desmottes
74376fea2d
omxh264enc: add some encoding properties
...
entropy-mode, constrained-intra-prediction and loop-filter-mode.
Those map standard OMX settings.
https://bugzilla.gnome.org/show_bug.cgi?id=792528
2018-01-30 11:51:10 +00:00
Guillaume Desmottes
a4c18ff243
zynqultrascaleplus: add support for extra AVC levels
...
The Zynqultrascaleplus has support for extra AVC levels not defined in
the OMX spec as a customer extension.
https://bugzilla.gnome.org/show_bug.cgi?id=790758
2017-11-23 11:39:33 -05:00
Ponnam Srinivas
1f36637434
omxh264enc: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=787711
2017-09-22 11:53:01 +03:00
Jan Schmidt
fe9cdb9b19
omxh264enc: Re-add periodicty-idr property for backward compat
...
Retain backwards compatibility by adding a duplicate
property for periodicty-idr
https://bugzilla.gnome.org/show_bug.cgi?id=784370
2017-07-13 16:42:24 +10:00
Guillaume Desmottes
2034b26347
omxh264enc: fix typo in "periodicty-idr" property name
...
Also fix the 'nick' of the property.
https://bugzilla.gnome.org/show_bug.cgi?id=784370
2017-07-12 16:23:29 -04:00
Guillaume Desmottes
1e570fed17
omxh264enc: move profile and level parsing functions to their own files
...
Will allow to re-use them in the decoder element.
https://bugzilla.gnome.org/show_bug.cgi?id=783114
2017-07-11 11:57:50 -04:00
Guillaume Desmottes
8e0dc1d89d
omxh264enc: raise a warning if AVCIntraPeriod is not supported
...
Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
So raise a warning instead of an error if this API is not implemented.
https://bugzilla.gnome.org/show_bug.cgi?id=784379
2017-07-03 10:22:20 -04:00
Guillaume Desmottes
ebeae6d869
omxh264enc: add 'b-frames' property
...
Add a property to control the number of B-frames produced by the
encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
https://bugzilla.gnome.org/show_bug.cgi?id=784379
2017-07-03 10:22:20 -04:00
Guillaume Desmottes
1fbb8a3fb8
omxh264enc: fix typo in 'set_avc_intra_period'
...
https://bugzilla.gnome.org/show_bug.cgi?id=784379
2017-07-03 10:22:20 -04:00
Guillaume Desmottes
1fa2ea274f
omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
...
The OMX specification defines two API to set the AVC profile and level:
using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
We were already supporting the former but not the latter. We are now
setting both so implementation don't have to rely on a specific one.
https://bugzilla.gnome.org/show_bug.cgi?id=783862
2017-06-29 15:39:56 -04:00
Guillaume Desmottes
0dbe604209
omxh264enc: factor out update_param_profile_level()
...
https://bugzilla.gnome.org/show_bug.cgi?id=783862
2017-06-29 15:39:56 -04:00
Guillaume Desmottes
af207f8956
omxh264enc: factor out string to profile/level enum conversion
...
https://bugzilla.gnome.org/show_bug.cgi?id=783862
2017-06-29 15:39:56 -04:00
Guillaume Desmottes
424776ba5e
omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
...
The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
the raspbery pi. Instead it uses a custom extension to define the I
frame period.
https://bugzilla.gnome.org/show_bug.cgi?id=783829
2017-06-28 17:05:46 -04:00
Guillaume Desmottes
895086e2e2
omxh264enc: factor out set_avc_intra_perdiod()
...
https://bugzilla.gnome.org/show_bug.cgi?id=783829
2017-06-28 17:05:46 -04:00
Sebastian Dröge
33e083fff6
omxh264enc: Properly accumulate headers and push before the next frame
...
Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
is in a separate OMX buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=726669
2014-06-29 19:10:19 +02:00
Sebastian Dröge
6617d6f577
omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
...
Otherwise we a) send them twice, and b) finish a frame for something
that does not even include a frame.
https://bugzilla.gnome.org/show_bug.cgi?id=726669
2014-06-24 11:11:28 +02:00
Michal Lazo
c832b03b3b
fix filemode
2014-03-19 08:53:02 +01:00
Sebastian Dröge
922d036ae7
omxh264enc: Fix compiler warnings
2014-03-16 17:32:05 +01:00
Michal Lazo
e55bf0a4c5
omxh264enc: IDR interval, SPS and PPS headers for rpi
...
https://bugzilla.gnome.org/show_bug.cgi?id=720031
2014-03-16 17:31:01 +01:00
Tim-Philipp Müller
2cbbab3128
omx: more printf format fixes
...
Fix printf formats again, so that gst-omx compiles warning-
free on the Raspberry Pi as well. Unfortunately OMX_UINT32
maybe be typedefed to uint32_t or unsigned long, which
doesn't work well with our debugging printf format strings,
so just use %u for those and cast to guint.
2013-04-18 23:10:13 +01:00
Tim-Philipp Müller
0c08d375f4
omx: fix printf formats in debug messages
...
OMX_U32 is typedefed to an unsigned long,
OMX_TICKS to a 64-bit integer.
2013-04-08 17:02:32 +01:00
Tim-Philipp Müller
f17c8ac55b
omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
...
As we do for releases. Fixes 'variable may be used uninitialized'
warnings.
2013-03-22 19:23:46 +00:00
Sebastian Dröge
02335ef953
omx: Only unref caps after usage of its fields
2013-03-14 15:03:02 +01:00
Sebastian Dröge
77f95de529
omxh264enc: If caps specify no profile/level use the component's defaults
2013-03-11 13:49:38 +01:00
Sebastian Dröge
bd53faacc9
omxh264enc: The h264 encoders are supposed to output byte-stream/au
2013-03-11 13:13:22 +01:00
Sebastian Dröge
0b348473fa
omxvideoenc: And set it actually on the right port
2013-03-01 12:24:09 +01:00
Sebastian Dröge
eef92abf28
omxvideoenc: Set the coding type in the subclasses to the specific codec
2013-03-01 12:18:08 +01:00
Sebastian Dröge
92c7944499
omxvideoenc: Rename component variable
2013-02-25 09:19:08 +01:00
Sebastian Dröge
5fdb490f1a
omx: Port to video base classes from -base
2012-10-22 14:20:41 +02:00
Tim-Philipp Müller
49ba281e8b
omx: gst_element_class_set_details_simple() -> set_static_metadata()
2012-10-17 17:57:43 +01:00
Olivier Crête
ff2603a727
Port to Gst 0.11
2012-04-13 12:16:34 -04:00
Jonas Larsson
9c4b926c41
omxh264enc: Add support for resending headers after a forced-keyframe
2011-11-29 12:21:32 +01:00
Sebastian Dröge
1b58fa487e
omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
2011-11-15 08:40:07 -08:00
Sebastian Dröge
75c843670f
omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
2011-08-10 10:24:48 +02:00
Sebastian Dröge
714ba59b11
omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
...
Also always set/get the profile, even if there are no peer caps.
2011-08-02 15:14:37 +02:00
Sebastian Dröge
27a0cb4c91
omxh264enc: Add support for setting profile/level via caps
2011-07-28 14:14:45 +02:00
Sebastian Dröge
e01eb8c35c
omxh264enc: Add H.264 encoder element
2011-07-25 11:32:51 +02:00