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
Carl-Anton Ingmarsson
e5c0cd7587
vdpau: make GstVdpYUVVideo inherit from GstBaseTransform
2009-09-16 10:25:39 +01:00