summaryrefslogtreecommitdiff
path: root/omx/gstomxh264enc.c
Commit message (Collapse)AuthorAgeFilesLines
* omxh26xenc: fix coverity with frame testStéphane Cerveau2020-04-081-3/+1
| | | | | | | | | | | | | Coverity was complaining with: Null pointer dereferences (REVERSE_INULL) Null-checking "frame" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. The frame == NULL has been removed as 'frame' is actively used in the code above without any change of dereferencing and setting its value to NULL before the test. CID: 1461287
* omxh264enc: send codec data downstreamGuillaume Desmottes2019-12-221-2/+7
| | | | | | | | | | | 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.
* omxh264enc: no need to check if codeconfig has startcodeGuillaume Desmottes2019-12-221-18/+14
| | | | | We currently only support stream-format=byte-stream so there is no point re-checking for it when handling CODECCONFIG buffer.
* omxh26xenc: Negotiate subframe modeNicolas Dufresne2019-12-221-3/+25
| | | | | | | | 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 ! ...
* omxh264enc: Add 'ref-frames' propertyShinya Saito2019-06-041-1/+23
| | | | | | Add a property to control the number of frames for reference. Min and max value is based on OpenMAX IL 1.2.0 Specification.
* omx: Add hardware classifiers to encoders/decodersCharlie Turner2019-03-261-1/+1
|
* omxh26{4,5}enc: don't pick default 10-bit profileGuillaume Desmottes2018-04-261-13/+0
| | | | | | | | | 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
* omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()Guillaume Desmottes2018-04-251-26/+5
| | | | | | | | | 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
* add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplusGuillaume Desmottes2018-02-281-6/+19
| | | | | | | The encoder and decoder on zynqultrascaleplus support these new 10 bits format. https://bugzilla.gnome.org/show_bug.cgi?id=793694
* omxh264enc: add some encoding propertiesGuillaume Desmottes2018-01-301-0/+105
| | | | | | | entropy-mode, constrained-intra-prediction and loop-filter-mode. Those map standard OMX settings. https://bugzilla.gnome.org/show_bug.cgi?id=792528
* zynqultrascaleplus: add support for extra AVC levelsGuillaume Desmottes2017-11-231-0/+14
| | | | | | | 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
* omxh264enc: fix caps leakPonnam Srinivas2017-09-221-4/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=787711
* omxh264enc: Re-add periodicty-idr property for backward compatJan Schmidt2017-07-131-0/+12
| | | | | | | Retain backwards compatibility by adding a duplicate property for periodicty-idr https://bugzilla.gnome.org/show_bug.cgi?id=784370
* omxh264enc: fix typo in "periodicty-idr" property nameGuillaume Desmottes2017-07-121-1/+1
| | | | | | Also fix the 'nick' of the property. https://bugzilla.gnome.org/show_bug.cgi?id=784370
* omxh264enc: move profile and level parsing functions to their own filesGuillaume Desmottes2017-07-111-65/+3
| | | | | | Will allow to re-use them in the decoder element. https://bugzilla.gnome.org/show_bug.cgi?id=783114
* omxh264enc: raise a warning if AVCIntraPeriod is not supportedGuillaume Desmottes2017-07-031-1/+5
| | | | | | | | 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
* omxh264enc: add 'b-frames' propertyGuillaume Desmottes2017-07-031-6/+60
| | | | | | | 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
* omxh264enc: fix typo in 'set_avc_intra_period'Guillaume Desmottes2017-07-031-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=784379
* omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as wellGuillaume Desmottes2017-06-291-0/+55
| | | | | | | | | | 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
* omxh264enc: factor out update_param_profile_level()Guillaume Desmottes2017-06-291-30/+56
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=783862
* omxh264enc: factor out string to profile/level enum conversionGuillaume Desmottes2017-06-291-50/+67
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=783862
* omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on piGuillaume Desmottes2017-06-281-0/+52
| | | | | | | | 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
* omxh264enc: factor out set_avc_intra_perdiod()Guillaume Desmottes2017-06-281-39/+48
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=783829
* omxh264enc: Properly accumulate headers and push before the next frameSebastian Dröge2014-06-291-6/+37
| | | | | | | 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
* omxh264enc: Don't let baseclass finish frames for SPS/PPS buffersSebastian Dröge2014-06-241-0/+5
| | | | | | | 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
* fix filemodeMichal Lazo2014-03-191-0/+0
|
* omxh264enc: Fix compiler warningsSebastian Dröge2014-03-161-1/+2
|
* omxh264enc: IDR interval, SPS and PPS headers for rpiMichal Lazo2014-03-161-1/+188
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=720031
* omx: more printf format fixesTim-Philipp Müller2013-04-181-2/+3
| | | | | | | | 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.
* omx: fix printf formats in debug messagesTim-Philipp Müller2013-04-081-1/+1
| | | | | OMX_U32 is typedefed to an unsigned long, OMX_TICKS to a 64-bit integer.
* omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERTTim-Philipp Müller2013-03-221-2/+2
| | | | | As we do for releases. Fixes 'variable may be used uninitialized' warnings.
* omx: Only unref caps after usage of its fieldsSebastian Dröge2013-03-141-2/+2
|
* omxh264enc: If caps specify no profile/level use the component's defaultsSebastian Dröge2013-03-111-32/+37
|
* omxh264enc: The h264 encoders are supposed to output byte-stream/auSebastian Dröge2013-03-111-1/+3
|
* omxvideoenc: And set it actually on the right portSebastian Dröge2013-03-011-2/+5
|
* omxvideoenc: Set the coding type in the subclasses to the specific codecSebastian Dröge2013-03-011-0/+7
|
* omxvideoenc: Rename component variableSebastian Dröge2013-02-251-4/+4
|
* omx: Port to video base classes from -baseSebastian Dröge2012-10-221-20/+12
|
* omx: gst_element_class_set_details_simple() -> set_static_metadata()Tim-Philipp Müller2012-10-171-1/+1
|
* Port to Gst 0.11Olivier Crête2012-04-131-55/+45
|
* omxh264enc: Add support for resending headers after a forced-keyframeJonas Larsson2011-11-291-0/+10
|
* omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the ↵Sebastian Dröge2011-11-151-0/+24
| | | | caps for this format
* omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict ↵Sebastian Dröge2011-08-101-1/+0
| | | | I420 caps
* omxvideoenc: Don't fail if setting the bitrate or profile is not supported ↵Sebastian Dröge2011-08-021-107/+113
| | | | | | by the component Also always set/get the profile, even if there are no peer caps.
* omxh264enc: Add support for setting profile/level via capsSebastian Dröge2011-07-281-1/+197
|
* omxh264enc: Add H.264 encoder elementSebastian Dröge2011-07-251-0/+125