Stéphane Cerveau
8fa3dd4bf3
openh264: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00
Thibault Saunier
927bd289e5
openh264enc: Add support for main and high profiles
...
Those are supported (to a certain extent) so we should not limit
ourself to baseline
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1789 >
2021-02-11 14:58:35 +00:00
Mathieu Duponchelle
a048ce81d4
plugins: uddate gst_type_mark_as_plugin_api() calls
2020-06-06 00:40:42 +02:00
Sebastian Dröge
74f2f733be
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
2020-06-04 13:33:16 -04:00
Stéphane Cerveau
1711369526
openh264enc: keep the headers
...
be able to resend the headers on demand after a key-unit request
2019-12-06 08:35:00 +00:00
Víctor Manuel Jáquez Leal
d2f6facbfb
openh264enc: Fix compilation with openh264 v2.0
...
As OpenH264 increased its version to 2.0 the guard for structure
member is not valid.
This patch will fix the compilation with gst-build and openh264.
2019-05-08 12:02:50 +00:00
Nicola Murino
e8f11615bd
openh264enc: set GST_PARAM_MUTABLE_PLAYING for bitrate/max-bitrate properties
...
This way is documented that these properties can be changed in any state
https://bugzilla.gnome.org/show_bug.cgi?id=784988
2017-07-17 19:13:19 -04:00
Nicola Murino
11e8cf92f2
openh264enc: allow to dynamically change bitrate
...
https://bugzilla.gnome.org/show_bug.cgi?id=784988
2017-07-17 19:13:18 -04:00
Nicola Murino
20b5db0615
openh264enc: fix indentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=784988
2017-07-17 19:13:18 -04:00
Tim-Philipp Müller
538c4456aa
openh264: add "qp-min" and "qp-max" properties
2017-01-24 14:39:35 +00:00
Nirbheek Chauhan
bb0a83b018
plugins: Use explicit type conversion from enums
...
MSVC warns about this because it's a C++ compiler, and this actually
results in useful things such as the incorrect 'gboolean' return value
for functions that return GstFlowReturn, so let's do explicit
conversions to reduce the noise and increase its efficacy.
2016-10-27 23:06:26 +05:30
Tim-Philipp Müller
9f2dfaaa7a
openh264: fix up for API changes in v1.6.0
...
Update for API changes in v1.6.0.
https://bugzilla.gnome.org/show_bug.cgi?id=768771
2016-07-18 18:36:42 +01:00
Sebastian Dröge
659032b3d9
openh264enc: Set frame timestamps before sending to the encoder
2016-06-30 23:38:26 +02:00
Sebastian Dröge
27c0a9306e
openh264enc: Fix initial time-per-frame calculation
2016-06-30 23:35:33 +02:00
Sebastian Dröge
593ed6f3d7
openh264enc: Remove meaningless drop bitrate handling
...
This doesn't even have a property.
2016-06-30 23:33:38 +02:00
Sebastian Dröge
1e242edeb4
openh264enc: Expose maximum bitrate setting
2016-06-30 23:30:13 +02:00
Sebastian Dröge
c8666c58e8
openh264enc: Actually hook up the rate-control property
2016-06-30 23:30:13 +02:00
Sebastian Dröge
f5f437b707
openh264enc: Use a constant SPS/PPS ID no matter if openh264 older or newer than 1.4 is used
2016-06-30 23:30:13 +02:00
Sebastian Dröge
4cba0d5fab
openh264enc: Make slice settings more explicit and don't set any number if not a fixed number of slices is selected
2016-06-30 23:30:13 +02:00
Sebastian Dröge
e7f8c62d42
openh264enc: Remove broken byte-stream to avc conversion and just output byte-stream as generated by the encoder
...
The byte-stream to avc conversion did not consider NAL sizes bigger than 2^16,
multiple layers, multiple NALs per layer, and various other things. This
caused corrupted streams in higher bitrates and other circumstances.
Let's just forward byte-stream as generated by the encoder and let h264parse
handle conversion to avc if needed. That way we only have to keep around one
version of the conversion and don't have to fix it in multiple places.
2016-06-30 10:37:08 +02:00
Tim-Philipp Müller
9617a371ca
openh264: remove unnecessary instance private structures
...
Element instance structures are not public API, so no need
for the extra indirection to hide the data.
2016-04-11 20:11:53 +01:00
Tim-Philipp Müller
41d8a49c52
openh264: fix indentation
2016-04-11 20:04:00 +01:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Robert Swain
e5c73c8c8c
openh264enc: Add complexity property for speed/quality tradeoff
2015-04-17 14:57:14 +02:00
Edward Hervey
f31127b9ff
open264: Fix GType/gsize usage
...
gstopenh264enc.cpp:108:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
2015-04-07 11:24:30 +02:00
Edward Hervey
29387e85c7
openh264: Detect 1.4 API change
...
As mentionned in release notes : Added new Sps/Pps strategies for real-time
video (replace the old setting variable 'bEnableSpsPpsIdAddition' with
'eSpsPpsIdStrategy')
2015-04-07 11:24:28 +02:00
Arun Raghavan
561cab9003
openh264: Implement the preset interface
...
Will be useful when we want to set presets on the encoder via encodebin
or such.
2015-01-22 11:07:49 +05:30
Sebastian Dröge
80e02cbdf9
Constify some static arrays everywhere
2015-01-21 10:18:50 +01:00
Zaheer Abbas Merali
3a4d988a29
Revert "Revert "openh264: fix to work with released versions and master of upstream""
...
This reverts commit 329f0ccba1
.
2015-01-13 11:32:03 -08:00
Zaheer Abbas Merali
21b7ce5504
openh264: remove all trace output to console from encoder
2015-01-13 11:31:21 -08:00
Tim-Philipp Müller
329f0ccba1
Revert "openh264: fix to work with released versions and master of upstream"
...
This reverts commit 15394aa705
.
The latest release (v1.1) does not have pkg-config support
yet, so this plugin won't be built with the latest release.
Cerbero uses the latest release, so this makes cerbero
builds fail, which expect the plugin to be built.
We can re-commit this once there's a release that includes
pkg-config support.
2014-12-12 20:58:49 +00:00
Zaheer Abbas Merali
15394aa705
openh264: fix to work with released versions and master of upstream
2014-12-12 10:05:23 -08:00
Sebastian Dröge
9e700adf83
openh264enc: Use a fixed number of slices by default
2014-11-24 19:21:29 +01:00
Sebastian Dröge
c43b9aad66
openh264enc: Add some more encoding properties
...
Merged from https://github.com/EricssonResearch/openwebrtc-gst-plugins
based on a patchset by Robert Swain <robert.swain@ericsson.com>
2014-11-24 19:16:20 +01:00
Sebastian Dröge
354fa3f2c9
openh264enc: Add new enable-frame-skip property and disable it by default
...
Otherwise e.g. videotestsrc ! openh264enc ! ... will drop every second frame
because otherwise the target bitrate can't be reached without loosing too
much quality.
2014-11-12 11:54:09 +01:00
Nicola Murino
4d8d9b009b
openh264enc: make denoise work
...
https://bugzilla.gnome.org/show_bug.cgi?id=737894
2014-10-06 12:31:29 +03:00
Sebastian Dröge
088cf16bf9
openh264: Run gst-indent over everything
2014-10-03 17:23:36 +03:00
Sebastian Dröge
68baaf19c3
openh264: Add FIXME comment about missing API in openh264
2014-10-03 17:23:36 +03:00
Sebastian Dröge
10475b6793
openh264enc: Properly drain the encoder on ::finish()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
8aedcc6bde
openh264enc: We always get a single frame as output, not a NAL
...
No need to accumulate NALs.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
70d4e6b740
openh264enc: Fix up caps and stride handling
2014-10-03 17:23:35 +03:00
Sebastian Dröge
f3cabe3cc3
openh264enc: Add support for GstVideoMeta
...
This will allow upstream elements to work more efficiently.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
739a10d84e
openh264enc: Don't set caps manually
...
This will break the order of events in GStreamer.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
cf4ec9b04e
openh264: Add OpenH264 based encoder/decoder elements
...
These are the openh264 elements released under the BSD-2 license
by Ericsson as part of the OpenWebRTC project.
https://github.com/EricssonResearch/openwebrtc-gst-plugins
https://bugzilla.gnome.org/show_bug.cgi?id=737788
2014-10-03 17:23:35 +03:00