Commit graph

1444 commits

Author SHA1 Message Date
Stéphane Cerveau
e3a35c127f sidplay: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
1b9f99d19f mpeg2dec: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
afa744b218 dvdread: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
3a42409898 cdio: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
4873c01b4a amrwbdec: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
d6055ac6d4 amrnb: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
a423f23fc7 a52dec: 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-ugly/-/merge_requests/79>
2021-03-29 19:13:36 +00:00
Matthew Waters
6399179d7a gst: don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead.  GCC 11 has started warning about using volatile
with atomic operations.

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/78>
2021-03-19 15:17:05 +11:00
Sebastian Dröge
951e2604e7 x264: Update for gst_video_transfer_function_*() function renaming
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/68>
2020-09-07 12:14:13 +03:00
Sebastian Dröge
60337ffed9 x264enc: Allow maximum quantizer value of 63 instead of 51
QP_MAX_SPEC in x264 is set to 63 nowadays and in theory it allows even
up to 81 (QP_MAX) but that seems to be outside the spec.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/67>
2020-08-24 23:23:43 +01:00
Thibault Saunier
ed0470e81b x264enc: Add a 'Zero Latency' profile
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/42>
2020-07-23 21:05:40 -04:00
Jan Alexander Steffens (heftig)
05bb87ea0f x264enc: Separate high-10 video formats from 8-bit formats
If downstream is constrained to an 8-bit profile, caps queries would
still allow I420_10LE as input. If upstream actually sends such a caps
event, downstream would fail to accept the high-10 profile.

The following pipeline now fails earlier, during the negotiation phase
instead of the stream start:

    gst-launch-1.0 videotestsrc ! video/x-raw,format=I420_10LE \
        ! x264enc ! video/x-h264,profile=constrained-baseline \
        ! fakesink

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59>
2020-07-21 15:41:52 +02:00
Thibault Saunier
de77207bfa x264enc: Forward downstream colorimetry and chroma-site upstream
So that the value can be used by upstream converters when necessary.

This whole logic has been copied from `__gst_video_element_proxy_caps`
but those 2 fields were missing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/60>
2020-07-10 08:47:29 -04:00
Philippe Normand
84cebf9fab siddec: update gst_type_mark_as_plugin_api() calls
This was left behind in commit bc1ab5e8e0.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/55>
2020-06-06 10:15:25 +01:00
Mathieu Duponchelle
bc1ab5e8e0 plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:41:38 +02:00
Sebastian Dröge
dddf71b18d plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-06-03 22:44:20 -04:00
Guillaume Desmottes
887416db4b dvdreadsrc: fix uninitialized warning
Variable is always set in actual code paths but let's keep gcc happy.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/51>
2020-05-27 09:13:17 +02:00
Nirbheek Chauhan
8562bb304d meson: Pass native: false to add_languages()
This is needed for cross-compiling without a build machine compiler
available. The option was added in 0.54, but we only need this in
Cerbero and it doesn't affect older versions so it should be ok.
Will just cause a spurious warning.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/50>
2020-05-12 05:07:47 +05:30
Nicolas Dufresne
15440f2ddc x264enc: Fix 'ref' property range and default
The --ref option indicate the size of the DPB, hence should be in the range of
0 to 16. This patch also fix the default to match x264enc default 3. This
change isn't a behaviour change since we don't enforce the reported default.
2020-04-02 20:26:07 +00:00
Thibault Saunier
9b1e183256 a52dec: Mark as converter
It is able to do channel downminxing, so technically it is also a
converter

This is also important so validate knows about that when doing its
checks
2020-03-19 18:09:50 -03:00
Thibault Saunier
9273903286 x264enc: Respect Youtube bitrate recommandation
Properly follow google recommendations[0] concerning bitrate when the
user wants to use the youtube profile.

[0]: https://support.google.com/youtube/answer/1722171?hl=en
2020-01-07 21:21:42 +00:00
Stéphane Cerveau
a47b6b5f3c ugly: use of g_value_dup_string
Use helper method to get string from GValue.
2019-12-18 16:09:42 +01:00
Dmitry Shusharin
0dd89a1dd2 x264enc: fixed codestyle 2019-12-14 18:49:54 +07:00
Dmitry Shusharin
9d3b96e5f7 x264enc: corrected em_data value in CEA-708 CC SEI message (fixes #28)
Section 4.4 of CEA-708-D specification (table 2) requires all bits to be
set inside em_data field. h264parse element (and possible third-party
decoders such as libav) also follows this requirement.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/issues/28
2019-12-14 17:24:33 +07:00
Tim-Philipp Müller
3cd445a490 Remove autotools build system 2019-10-13 14:19:11 +01:00
Aaron Boxer
3f24460e37 documentation: fix some typos 2019-09-02 09:33:15 -04:00
Mathieu Duponchelle
b3f0008b34 docstrings: port ulinks to markdown links 2019-08-23 19:06:59 +02:00
Seungha Yang
f31f085e7b x264enc: Port to color_{primaries,transfer,matrix}_to_iso
... with more color value mapping
2019-07-15 17:06:23 +00:00
Mathieu Duponchelle
dd96c2a989 doc: remove xml from comments 2019-05-29 23:00:48 +02:00
Thibault Saunier
21ac37c61a docs: Port documentation to hotdoc 2019-05-13 17:00:00 -04:00
Thibault Saunier
2df9f6e5ce docs: Port all docstring to gtk-doc markdown 2019-04-26 20:32:26 -04:00
Tim-Philipp Müller
e778c5594f meson: sidplay: use library() instead of shared_module()
Like we do for other plugins, and also install a .pc file
if we build the plugin statically.
2019-04-26 18:28:04 +01:00
Sebastian Dröge
8c994a632b meson: Always require the gmodule dependency
It's needed by the dvdread plugin but also by the x264 plugin in certain
circumstances. As it's part of GLib and always available, simply move it
as a hard dependency to the top-level meson.build.
2019-04-22 12:51:33 +03:00
Nirbheek Chauhan
647ef1b2af meson: Add a subproject fallback for x264 2019-03-27 21:59:45 +05:30
Mathieu Duponchelle
c4456d574f x264enc: inject CEA708 closed captions 2019-02-28 16:24:39 +01:00
Tim-Philipp Müller
ba08aa1c2f sidplay: fix indentation 2019-02-22 23:54:56 +00:00
Sebastian Dröge
aebb6bd9f3 dvdreadsrc: Work around GCC9 compiler warning
It's technically true but not for this specific type.

dvdreadsrc.c:394:65: error: taking address of packed member of ‘struct <anonymous>’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
  394 |       gst_dvd_read_src_make_clut_change_event (src, src->cur_pgc->palette);
      |                                                     ~~~~~~~~~~~~^~~~~~~~~
2019-02-12 18:08:59 +02:00
Sebastian Dröge
2942f7d931 x264: Only enable dynamic loading code for x264 < 253
Otherwise we get some compiler warnings:

../subprojects/gst-plugins-ugly/ext/x264/gstx264enc.c:200:1: warning: ‘unload_x264’ defined but not used [-Wunused-function]
 unload_x264 (GstX264EncVTable * vtable)
 ^~~~~~~~~~~
../subprojects/gst-plugins-ugly/ext/x264/gstx264enc.c:154:1: warning: ‘load_x264’ defined but not used [-Wunused-function]
 load_x264 (const gchar * filename)
 ^~~~~~~~~
2019-01-25 14:38:05 +02:00
Sebastian Dröge
7ac2f7fec5 x264: Link to gmodule in the meson build if extra x264 libraries are provided
We would dynamically load additional x264 libraries then.
2019-01-25 14:36:55 +02:00
Seungha Yang
7e63943361 x264enc: Avoid format decision per frame
Avoid switch/case per frame for format decision and detect the format
only if where it could be changed. Note that, whenever encoder->input_state
is changed, gst_x264_enc_init_encoder() is called.

https://bugzilla.gnome.org/show_bug.cgi?id=797164
2018-09-22 12:42:34 +01:00
Jan Alexander Steffens (heftig)
cf385f20cf x264enc: Set bit depth for x264 ≥ 153
https://bugzilla.gnome.org/show_bug.cgi?id=796975
2018-08-16 16:43:01 +03:00
Jan Alexander Steffens (heftig)
484ee3e032 x264enc: Remove superfluous x264_param_default
https://bugzilla.gnome.org/show_bug.cgi?id=796973
2018-08-16 16:42:51 +03:00
Nirbheek Chauhan
c5cddfcec4 Add feature options for all plugins
The only automagic dependency left is C++ availability detection.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:34:01 +05:30
Xavier Claessens
6b01999087 Meson: Generate pc file for all plugins in ugly
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:07:39 +01:00
Tim-Philipp Müller
83c38dc446 x264enc: fix build with newer x264 with support for multiple bit depths
libx264 used to be built for one specific bit depth, and if we
wanted to support multiple bit depths we would have to dynamically
load the right .so from different paths. That has changed now, and
libx264 can include support for multiple depths in the same lib,
so we don't need to do the dlopen() dance any more. We'll keep
the vtable stuff around until we can drop support for older x264.

gstx264enc.c:2927:36: error: ‘x264_bit_depth’ undeclared

https://bugzilla.gnome.org/show_bug.cgi?id=792111
2018-02-28 10:07:13 +00:00
Alicia Boya García
725de9b92e x264enc: Add format example for option-string
https://bugzilla.gnome.org/show_bug.cgi?id=793879
2018-02-27 13:51:19 -05:00
Tim-Philipp Müller
4007aaf3a7 meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:34:54 +00:00
Edward Hervey
63f8d33a6f amrnbdec: Don't use g_return_*_if_fail() on data parsing
Those functions can be disabled. Instead just use the (existing)
function.

CID #1427121
2018-01-03 16:04:26 +01:00
Edward Hervey
6da70e278a amrwbdec: Don't use g_return_*_if_fail() on data parsing
Those functions can be disabled. Instead just use the (existing)
function.

CID #1427093
2018-01-03 16:02:08 +01:00
Justin Kim
8100d781b7 x264enc: add 'insert-vui' property for users to choose
VUI(Video Usability Information) parameters should be set
according to the specification. However, some of the existing
hardware decoders refuse to decode in certain combinations of
the resolution and VUI parameters. To support the legacy
decoders, this patch provides 'insert-vui' to skip the settings.

https://bugzilla.gnome.org/show_bug.cgi?id=791331
2017-12-08 15:40:47 -05:00