Commit graph

1412 commits

Author SHA1 Message Date
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
Sebastian Dröge
0f7e4c90d5 cdio: Fix build with cdio >= 1.0
LIBCDIO_VERSION_NUM was defined as e.g. 94 for 0.94 but is now defined
as 1 for 1.0. We had various checks for < 83, which of course succeeded
now although we are >= 0.83.

Fix this by checking for < 76 (0.76) too, as that is the minimum version
we currently support and everything < 76 is going to be >= 1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=791301
2017-12-06 13:01:39 +02:00
Ponnam Srinivas
83d7d2f67a a52dec: Fix out buffer memory leak in error code path
https://bugzilla.gnome.org/show_bug.cgi?id=788119
2017-09-26 11:13:33 +03:00
Deepak Srivastava
9213d690a8 mpeg2dec: Fix buffer memory leak in error code path
https://bugzilla.gnome.org/show_bug.cgi?id=787817
2017-09-18 09:26:21 +01:00
Satya Prakash Gupta
c7594c4acb mpeg2dec: Unmap output video frame if copying to it fails
https://bugzilla.gnome.org/show_bug.cgi?id=787398
2017-09-07 12:56:11 +03:00
Tim-Philipp Müller
aa14b72a99 Remove twolame plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-26 09:35:20 +01:00
Tim-Philipp Müller
b40e1a76b8 Remove lame plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-26 08:51:01 +01:00
Tim-Philipp Müller
83ff57c849 Remove mpg123 plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-20 15:53:50 +01:00
Tim-Philipp Müller
87c58bd3c1 sidplay: hide symbols in meson for this c++ plugin too
Keep things local, as this is the only c++ plugin
in ugly currently.
2017-08-10 15:48:27 +01:00
Mark Nauwelaerts
fc826ac6dc x264enc: add FIXME note for future configuration cleanup 2017-08-09 19:31:56 +02:00
Satya Prakash Gupta
861cff5da1 dvdreadsrc: Fix string memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=785388
2017-07-25 11:23:38 +03:00
Tim-Philipp Müller
0d73cb55b1 x264enc: fix indentation 2017-07-15 15:01:09 +01:00
Tim-Philipp Müller
58a23c99e9 x264enc: fix caps leak
Move creation of supported sink pads into class_init function
which is also the only place where they're used. Unref the
caps when no longer needed, the pad template will take its
own ref.

https://bugzilla.gnome.org/show_bug.cgi?id=784982
2017-07-15 14:59:42 +01:00
Tim-Philipp Müller
841a073154 mpg123audiodec: fix caps leak
The pad template takes its own ref, so we should unref the caps.

https://bugzilla.gnome.org/show_bug.cgi?id=784982
2017-07-15 14:57:49 +01:00
Mark Nauwelaerts
7074d31cb6 x264enc: relax bframes upper limit count to maximum encoder supported 2017-06-24 17:52:09 +02:00
Tim-Philipp Müller
0267575e79 meson: don't error out if sidplay library is not found 2017-06-23 23:44:18 +01:00
Tim-Philipp Müller
27b77f93b5 meson: build sid plugin
https://bugzilla.gnome.org/show_bug.cgi?id=784135
2017-06-23 18:34:14 +01:00
Víctor Manuel Jáquez Leal
c15a00537f x264: fix memory leak
When the allowed caps are the same of template caps the allowed
caps are not unrefed, leaking memory.

https://bugzilla.gnome.org/show_bug.cgi?id=784060
2017-06-21 21:26:53 +02:00
Nicolas Dufresne
d02e7d8029 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:07:56 -04:00
Nicolas Dufresne
e026416a34 sid: Make plugin name match plugin file name 2017-05-09 09:45:27 -04:00
Nirbheek Chauhan
c6a0026137 x264: Use __declspec(dllimport) with MinGW too
x264.h says this isn't needed with MinGW, but it looks like it is.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=779249
2017-04-27 12:20:42 +03:00
Jan Schmidt
09f412dc3c mpeg2dec: Fix latency calculation
The latency calculation was missing a scaling by GST_SECOND,
so it would always report a tiny latency. Fix that.

Spotted by Guillaume Desmottes.
2017-03-01 23:04:00 +11:00
Edgard Lima
b4849c772e Update Edgard Lima's email
https://bugzilla.gnome.org/show_bug.cgi?id=779230
2017-02-27 00:42:15 +00:00
Nirbheek Chauhan
184351ae48 x264: Initialize function vtable in plugin_init()
These values are defined in the x264.h header and are not const on
Windows due to the way DLLs work. See:
https://msdn.microsoft.com/en-us/library/619w14ds.aspx
https://msdn.microsoft.com/en-us/library/zw3za17w.aspx

https://bugzilla.gnome.org/show_bug.cgi?id=777903
2017-02-01 12:38:01 +02:00
Thibault Saunier
8d045b4197 meson: Install presets files 2017-01-03 08:15:43 -03:00
Mathieu Duponchelle
31e9641c4a x264enc: Add a youtube preset.
Based on https://support.google.com/youtube/answer/1722171

https://bugzilla.gnome.org/show_bug.cgi?id=751560
2017-01-03 08:15:43 -03:00
Tim-Philipp Müller
2f767fb24a mad: remove plugin
We have better replacements such as the mpg123 plugin.
The main reason to keep around mad was for 'freeform'
mp3 support, but mpg123 can handle those too nowadays.
Also, mad is GPL and has been unmaintained for years.

https://bugzilla.gnome.org/show_bug.cgi?id=776140
2016-12-28 10:56:42 +00:00
Vivia Nikolaidou
c40b40b36f x264enc: Add information for mixed mode
https://bugzilla.gnome.org/show_bug.cgi?id=775411
2016-11-30 18:54:20 +02:00
Vivia Nikolaidou
dae49907e2 x264enc: Correctly pass interlacing/TFF information
Give the interlacing information correctly to the encoder. Also parse
TFF/BFF information from the caps and pass it too.

https://bugzilla.gnome.org/show_bug.cgi?id=775411
2016-11-30 18:54:20 +02:00
Vivia Nikolaidou
f7d82312bb x264enc: Auto-detect interlace mode from caps
If the caps are interlaced, interlacing is always enabled on the
encoder. If the interlace-mode field is missing or if it's progressive,
the encoder uses the "interlaced" property.

https://bugzilla.gnome.org/show_bug.cgi?id=775228
2016-11-28 15:22:44 +02:00
Mark Nauwelaerts
aab716ac40 dvdreadsrc: dvd-spu-clut-change is a sticky custom event 2016-11-20 20:55:17 +01:00
Sebastian Dröge
7bf576b238 x264enc: Add configure parameter to specify additional x264 libraries with e.g. different depth configuration
x264 has to be compiled specifically for a target bit depth.
Distributions currently ship various libraries in their packages, with
different bit depths.

This change now allows to provide them all at configure time and have
the x264enc element dynamically switch between them based on the bit
depth of the input format.

https://bugzilla.gnome.org/show_bug.cgi?id=763297
2016-11-14 18:26:04 +02:00
Sebastian Dröge
590aa41bf5 x264enc: Set colorimetry and chroma-site information
https://bugzilla.gnome.org/show_bug.cgi?id=772159
2016-09-29 12:39:56 +03:00