Commit graph

16 commits

Author SHA1 Message Date
Guillaume Desmottes
d3c2a7c8d1 omxvideoenc: remove unsupported formats from caps template
Our encoder implementation actually supports a small subset of the
formats supported by the decoder. Those are the formats for which we
have a copy path in gst_omx_video_enc_fill_buffer() and which are not
filtered out in filter_supported_formats().
2020-04-10 11:53:23 +02:00
Stéphane Cerveau
84e9906076 omxh26xenc: fix coverity with frame test
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
2020-04-08 16:54:24 +02:00
Guillaume Desmottes
1c3f39c4d7 omxvideoenc: add support of alternate interlace mode on zynq
It's only supported by the Zynq HEVC encoder for now.
2020-02-27 04:05:48 +00:00
Guillaume Desmottes
5f212c159b omxh265enc: handle CODECCONFIG buffers
Exact same code as omxh264enc.
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
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
f9922a1a56 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
Move the profile <-> enum mapping to one place. Make changes easier as
I'm about to add some profiles.

No semantic change.

https://bugzilla.gnome.org/show_bug.cgi?id=794177
2018-04-25 09:20:02 +02:00
Guillaume Desmottes
5b55041bb4 omxh265: update 422 profile names
h265parse is gaining support for the format range extension profile
(bgo#793876).
Use the profile names defined in h265parse.

https://bugzilla.gnome.org/show_bug.cgi?id=793928
2018-03-05 13:59:22 -05: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
7cf70e650b omxh265enc: fix typo in "periodicty-idr" property name
Also fix the 'nick' of the property.

omxh265enc is based on the code from omxh264enc and suffers the same
typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370

This element isn't part of a stable release yet so it's not an API
break.

https://bugzilla.gnome.org/show_bug.cgi?id=793390
2018-02-12 15:47:19 +00:00
Guillaume Desmottes
8bd2b1f550 omxh265enc: add some encoding properties
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
2da61ef2bf omxh265: fix enum casting when using Allegro HEVC extensions
Allegro's HEVC implementation defines a superset of the profiles and
enums from the Android implementation.
Properly cast to fix -Wenum-conversion warnings from clang.

https://bugzilla.gnome.org/show_bug.cgi?id=789057
2017-10-19 16:19:16 +02:00
Guillaume Desmottes
cc0e3c8320 properly cast extension enums
OMX's allow 3rds party to define extensions using their own enums
(like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
ones (like OMX_VIDEO_CODINGTYPE).
Properly cast those to fix -Wenum-conversion warnings from some
compilers such as clang.

https://bugzilla.gnome.org/show_bug.cgi?id=789057
2017-10-19 16:19:16 +02:00
Ponnam Srinivas
27cd61a21a omxh265enc: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=787714
2017-09-21 20:48:50 -04:00
Guillaume Desmottes
cf9f1903db omxh265enc: add H265 encoder
The OMX spec doesn't support HEVC but the OMX stack of the
zynqultrascaleplus adds it as a custom extension.
It uses the same API as the one of Android's OMX stack.

I used the H264 encoder code as a template.

https://bugzilla.gnome.org/show_bug.cgi?id=785434
2017-09-06 14:50:18 -04:00