Commit graph

127 commits

Author SHA1 Message Date
Stéphane Cerveau 891be51105 gst-plugins: 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/2110>
2021-04-11 16:16:55 +00:00
Aaron Boxer 6d3429af34 documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
Tim-Philipp Müller f218ec2794 Remove autotools build system 2019-10-14 13:54:27 +01:00
Thibault Saunier 47a49f3381 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
Xavier Claessens 83d0623293 Meson: Generate pc file for all plugins in bad
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Nicolas Dufresne 4261692187 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:05:52 -04:00
Thibault Saunier 78022a6e0c docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
Jan Schmidt 17430e7b82 dvdspu: Handle vob display rect starting on an odd line
DVDs always have subpictures that start on an even Y
coordinate, but gstspu does more generic vobsubs these
days, so handle ones that start on an odd vertical position.

https://bugzilla.gnome.org/show_bug.cgi?id=777400
2017-01-18 13:31:24 +11:00
Nirbheek Chauhan 42af2d66d8 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:35:54 +01:00
Tim-Philipp Müller f991e09319 dvdspu: don't crash if video frame could not be mapped
As might happen with e.g. vaapi and the test file from
https://bugzilla.gnome.org/show_bug.cgi?id=736227
2016-08-06 16:17:06 +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
Vineeth TM 7c42ba97d7 plugins-bad: Fix example pipelines
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples

https://bugzilla.gnome.org/show_bug.cgi?id=759432
2015-12-15 10:30:49 +00:00
Vineeth T M b328fbe31a spu-pgs: Fix array memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=758517
2015-11-24 15:23:00 +00:00
Jan Schmidt 7d27dc7e23 Revert "dvdspu: render to AYUV overlay"
This reverts commit 5016a73190.
2015-09-27 00:26:07 +10:00
Jan Schmidt 23771469ea Revert "dvdspu: render to ARGB overlay instead of AYUV"
This reverts commit dd3e9deb2a.
2015-09-27 00:26:07 +10:00
Jan Schmidt a31978643c Revert "dvdspu: handle frame size event from upstream"
This reverts commit 46aaaa6c30.
2015-09-27 00:24:17 +10:00
Jan Schmidt de568c4896 Revert "dvdspu: cache overlay composition"
This reverts commit aabb8a1a68.
2015-09-27 00:24:17 +10:00
Jan Schmidt 259a7bbf6c Revert "dvdspu: improve negotiation of overlay composition"
This reverts commit 1899e2a099.
2015-09-27 00:24:15 +10:00
Arnaud Vrac 7a7f358e6d dvdspu: fix pgs palette colors
U and V were inverted

https://bugzilla.gnome.org/show_bug.cgi?id=755239
2015-09-26 23:29:55 +10:00
Arnaud Vrac 1899e2a099 dvdspu: improve negotiation of overlay composition
Support negotiating GstVideoOverlayComposition downstream
while not providing it upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:29:15 +10:00
Arnaud Vrac aabb8a1a68 dvdspu: cache overlay composition
This avoids rendering the overlay buffer for each video frame.

https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:22:44 +10:00
Arnaud Vrac 46aaaa6c30 dvdspu: handle frame size event from upstream
An IDX file or codec_data normally contains the original frame size of
the video. Allow upstream to provide this information by sending a
custom event, which will allow scaling the overlay correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:18:38 +10:00
Arnaud Vrac a41e7c5bec dvdspu: allow suffix in dvd event name to allow multiple sticky dvd events
https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:18:32 +10:00
Arnaud Vrac dd3e9deb2a dvdspu: render to ARGB overlay instead of AYUV
https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:17:58 +10:00
Arnaud Vrac 5016a73190 dvdspu: render to AYUV overlay
Instead of only supporting writing SPU data directly to YUV frames,
render the SPU data to an intermediate AYUV overlay buffer. The overlay
data is then attached to the video frame if downstream supports overlay
composition, otherwise the AYUV overlay is blended to the video frame.

For the PGS format, the overlay buffer size is set to the size of the
Composition Window, and its position in the overlay composition is set
to the window position. The objects to render are now cropped when the
cropping flag is set.

For the Vobsub format, the overlay buffer size is set to the size of the
Display Area.

Once rendered, the overlay composition rectangle is now moved and scaled
to fit the video output size, to avoid clipping.

https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:17:03 +10:00
Arnaud Vrac 35e6d79d40 dvdspu: pass dvdspu argument to set_caps functions
https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:16:51 +10:00
Arnaud Vrac 344fe03f09 dvdspu: skip unneeded reading of RLE data
The RLE data was being read for dumping the SPU image even when the
DUMP_FULL_IMAGE macro was not set.

https://bugzilla.gnome.org/show_bug.cgi?id=663750
2015-09-26 23:16:37 +10:00
Tim-Philipp Müller fade5a6d8a dvdspu: pgs: fix printf format/argument mismatch in debug statements
Fixes compiler warnings when extra debugging is enabled at compile time.
2015-09-17 19:57:16 +01:00
Vineeth TM 6fb346717b spu-pgs: fix buffer and event leak
When playing mts files with embedded subtitles, the buffer is mapped,
but not unmapped at the end resulting in a memory leak.

Also unref event in handle_dvd_event as it takes ownership of the event.

https://bugzilla.gnome.org/show_bug.cgi?id=753539
2015-08-13 14:56:00 +01:00
Vineeth TM 0812437293 dvdspu: Fix event leaks
When playing mts files with embedded subtitles, there are few event leaks.
Events are supposed to be transfer full. So if not forwarding the event,
they need to be freed.

https://bugzilla.gnome.org/show_bug.cgi?id=753539
2015-08-13 14:38:03 +01:00
Jan Schmidt 6fde1dfa88 dvdspu: Map the pixel data once per render, not *ahem* twice per byte.
The naive port to 1.0 from years ago was silly, make it better.
2015-06-09 09:10:09 +10:00
Tim-Philipp Müller 699452ef31 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 18:59:32 +01:00
Rob Clark b4df029030 dvdspu: some optimizations
Detect invisible pixels, and skip gstspu_vobsub_blend_comp_buffers()
when there are only invisible pixels.  This significantly reduces the
CPU load in cases of DVDs which don't use the clip_rect to exclude
processing for parts of the screen where the video is visible.

https://bugzilla.gnome.org/show_bug.cgi?id=667221
2015-02-08 06:17:01 +11:00
Jan Schmidt cb7c99b8ee dvdspu: Avoid warning if the video for a still frame arrives after the SPU
When we don't have a segment on the video pad yet during a still frame
don't freak out.
2015-02-08 06:16:49 +11:00
Vineeth T M 14acb6fb37 gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
There are unnecessary definitions for disabling deprecation warnings.
Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files,
removing the same.

https://bugzilla.gnome.org/show_bug.cgi?id=737559
2014-10-02 10:51:35 +03:00
Luis de Bethencourt efca04f23f style: remove unnecessary break statements
Code flow never arrives to these break statements due to the gotos preceding
them. So the breaks are unnecessary, as discussed in bug 736942.

https://bugzilla.gnome.org/show_bug.cgi?id=737370
2014-09-25 16:41:15 +01:00
Matthieu Bouron a6bfde1ea6 dvdspu: set proxy allocation flag on the video sink pad
https://bugzilla.gnome.org/show_bug.cgi?id=725893
2014-03-08 15:18:19 +01:00
Sebastian Dröge c2de786117 dvdspu: Remove unused variable 2014-02-08 18:45:10 +01:00
Jan Schmidt d92b6f7995 dvdspu: Don't unmap an unreffed buffer
gst_dvd_spu_finish_spu_buf drops the reference to the current
buffer, so make sure to call gst_buffer_unmap before it.
2013-11-25 15:17:33 +11:00
Mark Nauwelaerts db915754c1 dvdspu: pop new packet when invalid next command block
... to prevent staying stuck on current command block and busy looping.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712219
2013-11-23 14:35:06 +01:00
Jan Schmidt c336f7642c dvdspu: Handle vobsub packets smaller than 4 bytes
In particular, handle the case of an empty packet with size 0 bytes.

Partially fixes: #712643
2013-11-21 02:21:01 +11:00
Matej Knopp f489ae5d55 dvdspu: handle sticky dvd events
palette-changed events are now sticky.

https://bugzilla.gnome.org/show_bug.cgi?id=709454
2013-10-05 10:50:15 +01:00
Edward Hervey 97426a1caa all: Fix for GST_DISABLE_GST_DEBUG
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +02:00
Matej Knopp f42176b877 dvdspu: artifacts when rendering clipped spu
https://bugzilla.gnome.org/show_bug.cgi?id=705039
2013-07-29 08:43:25 +02:00
Sebastian Dröge e51cd4fe2f gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Jan Schmidt 0344b33f40 dvdspu: Fix the rendering of PGS windows with left != 0
When rendering a PGS window area where the left edge is not at
pixel 0, the chroma was being rendered in the wrong place since
commit 4dc648d343
2013-02-07 22:51:05 +11:00
Tim-Philipp Müller 9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller 32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Rob Clark 4dc648d343 dvdspu: add YV12 and NV12 support
https://bugzilla.gnome.org/show_bug.cgi?id=667220

Conflicts:
	gst/dvdspu/gstdvdspu.c
	gst/dvdspu/gstdvdspu.h
	gst/dvdspu/gstspu-pgs.c
	gst/dvdspu/gstspu-vobsub-render.c
2012-10-03 03:35:51 +10:00
Mark Nauwelaerts 578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00