Commit graph

7948 commits

Author SHA1 Message Date
Sebastian Dröge
c7aa0aae4e pnm: Remove the experimental status from the pnm plugin 2009-09-17 09:39:09 +02:00
Dave Robillard
fa47a5ff3a More tolerate port group support, plugin cleanup.
Gracefully handle plugins with illegal groups that contain no symbol by
treating ports in that group normally (i.e. as if they weren't part of a
group).  The port groups spec mandates that groups have a valid unique
symbol, but plugins aren't perfect...

Make (conceptually) static plugin variables actually (C) static,
and clean up SLV2 related things with a GCC shared library destructor,
if GCC is in use.
2009-09-17 09:46:50 +03:00
Dave Robillard
9956118be8 Make mono warning visible in public documentation. 2009-09-17 09:46:49 +03:00
Dave Robillard
374d52d257 Multi-channel support with channel positions.
This queries port roles from the LV2 data and converts it into GStreamer
channel positions.  This should allow any type of multi-channel plugin
(including beyond stereo, e.g. surround) to work fine in GStreamer,
and with elements that require channel positions to be explicitly stated.
2009-09-17 09:46:49 +03:00
Dave Robillard
8538d382e3 Add documentation for LV2 element. 2009-09-17 09:46:49 +03:00
Dave Robillard
d051620fcc Fix typo in LADSPA element documentation. 2009-09-17 09:46:49 +03:00
Dave Robillard
05e9de937e Bump SLV2 dependency to 0.6.6. 2009-09-17 09:46:49 +03:00
Dave Robillard
00a4088950 Add swh and calf LV2 port group patches. 2009-09-17 09:46:48 +03:00
Dave Robillard
403f58b562 Working multi-channel pads for LV2 plugins. 2009-09-17 09:46:48 +03:00
Dave Robillard
c076e7d34f Allocate a static predicate for pg:inGroup. 2009-09-17 09:46:48 +03:00
Dave Robillard
1ef08edb7c Only allocate lv2:inPlaceBroken predicate once. 2009-09-17 09:46:48 +03:00
Dave Robillard
7b14e0cb01 Eliminate use of static mono pad template. 2009-09-17 09:46:48 +03:00
Dave Robillard
b849ae89b5 Separate port discovery from pad template creation.
This first counts ports (using the builtin slv2 functions to do so
rather than manually as before), then creates descriptors for each port
and finds all port groups.  Only then are pad templates created (towards
using group information for creating multi-channel pads).
2009-09-17 09:46:48 +03:00
Dave Robillard
28b35ae923 Use silly glib types :). 2009-09-17 09:46:48 +03:00
Dave Robillard
8eeb2f3751 Query and store port group information.
Replace port index arrays with a struct for holding more information
than just indices (e.g. groups).
2009-09-17 09:46:48 +03:00
Dave Robillard
db1a4ba50b Working basic LV2 signal processing.
LV2 plugins, short of any surprises, should work with the same basic
functionality as LADSPA plugins.
2009-09-17 09:46:47 +03:00
Dave Robillard
ab96789f58 Set class inPlaceBroken property. 2009-09-17 09:46:47 +03:00
Stefan Kost
9e12fb5675 docs: fix example and mention difference to vorbisdec 2009-09-17 09:46:47 +03:00
Jan Schmidt
6e1a735075 vdpau: Fix bogus check before unreffing 2009-09-16 10:28:20 +01:00
Jan Schmidt
16124a1c1e vdpau: Fix pkg-config test
If the pkg-config check doesn't succeed, test with the old method
instead of bailing out of configure with an error.
2009-09-16 10:28:12 +01:00
Carl-Anton Ingmarsson
f85c84af1f vdpauvideopostprocess: handle pixel-aspect-ratio better
the implementation is not entirely correct since we assume that the sink
element's pixel-aspect-ratio is 1/1
2009-09-16 10:25:47 +01:00
Carl-Anton Ingmarsson
0b979b48fc vdpauvideopostprocess: remove par from caps since we don't handle it yet 2009-09-16 10:25:47 +01:00
Carl-Anton Ingmarsson
370520682d vdpauvideopostprocess: don't remove interlaced flag in video_to_output_caps() 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
ba69dd4747 vdpauvideopostprocess: add inverse-telecine property 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
13075eb07e vdpauvideopostprocess: fix noise-reduction property getter 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
a7ea771f36 vdpauvideopostprocess: add sharpening property 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
1aea922f3c vdpau: remove gst_vdp_device_new from header 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
64f4970c84 vdpausink: fix error handling if gst_vdp_get_device returns NULL 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
61710ee3e4 vdpau: add back vdpausink and vdpauvideopostprocess 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
a3452808a1 vdpdevice: fix error handling and threadsafety
return NULL incase of initalization errors and guard hashtable access with a mutex
2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
6bd853f128 vdpauvideopostprocess: get correct number of needed frames if we're doing noise reduction 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
26d48501e0 vdpaumpegdec: small indent fix 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
b7d5e59c9a vdpaumpegdec: fix gst_byte_reader_masked_scan_uint32 usage 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
6705bfa129 vdpauvidepostprocess: remove boolean noise-reduction property
Use the float one to determine if we should enable noise reduction or not
2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
daf6c7ad52 vdpauvideopostprocess: add support for noise reduction 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
feba003d80 vdpauvideopostprocess: add support for deinterlacing
The code is roughly modeled after the deinterlace plugin
2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
707bbfcea3 vdpausink: add myself to copyright 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
c6bf1e0537 vdpauvideopostprocess: s/gst_vdp_vpp_set_caps/gst_vdp_vpp_sink_setcaps 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
49835d98a7 vdpaumpegdec: use gst_byte_reader_masked_scan_uint32 instead of our own version 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
f1799ce0d6 vdpau: use G_N_ELEMENTS instead of hardcoding array sizes 2009-09-16 10:25:43 +01:00
Carl-Anton Ingmarsson
9661b77ea1 vdpau: use G_N_ELEMENTS instead of NULL terminating array 2009-09-16 10:25:43 +01:00
Carl-Anton Ingmarsson
3e05ddca61 vdpau: add new vdpausink and vdpauvideopostprocess elements
vdpausink is as the name implies a sink which takes vide/x-vdpau-output buffers
and outputs it to the screen.

vdpauvideopostprocess is an element which takes video/x-vdpau-video buffers and
outputs video/x-vdpau-output buffers. The element can also do things like
deinterlacing and other postprocessing but this is not implemented yet.
2009-09-16 10:25:42 +01:00
Carl-Anton Ingmarsson
3b2faded12 vdpau: check for vdpau with pkg-config first 2009-09-16 10:25:42 +01:00
Carl-Anton Ingmarsson
d849563bda vdpau: split gst_vdp_mpeg_dec_reset into start and stop 2009-09-16 10:25:42 +01:00
Carl-Anton Ingmarsson
58c8198f4d vdpau: don't put the GstVdpDevice in the caps 2009-09-16 10:25:41 +01:00
Carl-Anton Ingmarsson
054840555b vdpau: make GstVdpVideoYUV implement pad_alloc
also change GstVdpMpegDec and GstVdpYUVVideo to make use of this
2009-09-16 10:25:41 +01:00
Carl-Anton Ingmarsson
ecd81041e0 vdpau: add support for YUY2 2009-09-16 10:25:40 +01:00
Carl-Anton Ingmarsson
0a423e1de0 vdpau: add support for UYVY 2009-09-16 10:25:40 +01:00
Carl-Anton Ingmarsson
da05417b13 vdpau: factor out common caps calculation and put it in gstvdputils.[ch] 2009-09-16 10:25:40 +01:00
Carl-Anton Ingmarsson
3545720d7a vdpau: refactor GstVdpVideoYUV and GstVdpYUVVideo 2009-09-16 10:25:39 +01:00