Commit graph

263 commits

Author SHA1 Message Date
Carl-Anton Ingmarsson
3826b3b57b vdpau: remove parse_codec_data from GstBaseVideoDecoder 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
8eed6f2ab9 vdpauh264dec: fix initialization of fallback scaling matrix 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
3ea3a084e4 vdpauh264dec: improve further 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
322d1ff946 vdpauh264dec: now works for simple streams 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
80749da166 vdpau: change gst_vdp_video_src_pad_get_device behaviour
it now creates the device if it's not available
2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
f8846a463d vdpau: more work on h264 decoder 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
686d2d2303 vdpau: add beginning of h264 decoder 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
0490cb89c6 vdpau: base vdpaumpegdec on GstBaseVideoDecoder 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
4926c6c617 vdpauvideopostprocess: fix small bug 2010-06-23 21:51:52 +02:00
Carl-Anton Ingmarsson
a9687846f6 vdpaumpegdec: use READ_UINT[8|16|32] macros 2010-06-23 21:51:52 +02:00
Carl-Anton Ingmarsson
6933d12a9b vdpau: remove gst_vdp_video_src_pad_set_caps 2010-06-23 21:51:52 +02:00
Carl-Anton Ingmarsson
10ee677b63 vdpau: fix small typo 2010-05-01 15:00:27 +02:00
Carl-Anton Ingmarsson
edcaf36377 vdpau: add leftover gstvdp.h 2010-05-01 14:58:30 +02:00
Carl-Anton Ingmarsson
a661b7c3ca vdpauvideopostprocess: fix crasher on setting properties before we're in READY 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
41492e3452 vdpau: remove debug code 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
8a355f1a24 vdpau: small api cleanup
merge gst_vdp_video_buffer_get_allowed_[video|yuv]_caps into
gst_vdp_video_buffer_get_allowed_caps
2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
5739eb3c8f vdpau: small fixes 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
7d253da43f vdpau: add back gstvdpau.c 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
ae660783f5 vdpau: add gst_vdp_init function where we register types 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
c4f60760ed vdpau: add better error handling to GstVdpOutputSrcPad
gst_vdp_output_src_pad_push, gst_vdp_output_src_pad_alloc_buffer and
gst_vdp_output_src_pad_get_device now take a GError parameter to be able to
signal errors to the caller
2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
ff7381109f vdpau: make GstVdpVideoSrcPad(Class)? private 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
2cb7696f86 vdpaumpegdec: follow GstVdpVideoSrcPad changes 2010-05-01 14:46:11 +02:00
Carl-Anton Ingmarsson
6afb2c5e8d vdpau: remove template-caps propery form GstVdpVideoSrcPad
GstVdpVideoSrcPad now use the template property of GstPad instead. Also changed
the _new function to be like gst_pad_new_from_template.
2010-05-01 14:46:11 +02:00
Sebastian Dröge
aabe73387a vdpau: Initialize possibly uninitialized variable 2010-04-15 21:38:54 +02:00
Sebastian Dröge
bad2aae7ae vdpau: Correctly link to the local libgstvdp-0.10 by using the libtool archive 2010-04-12 09:16:19 +02:00
Sebastian Dröge
2a81495bff vdpau: Fix compiler warnings 2010-03-22 08:45:27 +01:00
Wim Taymans
966c83dfea vdpau: fix build 2009-11-26 15:33:32 -06:00
Edward Hervey
635e2774e6 vdpau: Fix includes 2009-11-23 09:17:39 +01:00
Carl-Anton Ingmarsson
d57488461a vdpauvideopostprocess: convert to 1/1 pixel-aspect-ratio for rgb too 2009-11-22 22:54:27 +01:00
Carl-Anton Ingmarsson
7401cd90ad vdpausink: intersect allowed caps with our template caps 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
6aba832e7f vdpau: fix gst_vdp_[video|yuv]_to_output_caps to also add rgb caps 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
2d03815e19 vdpauvideopostprocess: use GstVdpVideoSrcPad 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
4dd36435a7 vdpau: add functions to GstVdpOutputBuffer needed for rgb download 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
64601993c9 vdpau: add GstPad subclass GstVdpOutputSrcPad
GstVdpOutputSrcPad is a subclass of GstPad that is used for pushing out
GstVdpOutputBuffers. It takes care of caps negotiation and conversion to
video/x-raw-rgb.
2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
a71cf4dfb2 gstvdpvideosrcpad: add "template-caps" property
The property limits the available output caps
2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
65bc7c87b2 gstvdpvideobuffer: fix typo 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
9046f1e089 gstvdpvideosrcpad: replace get_pad_template() with get_template_caps() 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
7f198163ec gstvdpvideosrcpad: don't recreate caps in getcaps 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
b7aa03570c vdpau: add GstPad subclass GstVdpVideoSrcPad
GstVdpVideoSrcPad takes care of caps negotiation and conversion of
GstVdpVideoBuffers to the negotiated output format.
2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
9c1b87aaa6 vdpausink: rework presentation blocking a bit
instead of blocking until the previous surface has been displayed, we new only
add surfaces to the queue if it's idle.
2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
ea364d7a5a vdpauvideopostprocess: split up chain function 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
51caa55d4e vdpauvideopostprocess: implement basic qos handling 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
55b108f7ca vdpaumpegdec: add display property 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
8998198703 vdpau: remove unused functions 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
f9e00471e3 vdpau: use local libgstvdp headers 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
25014f8e7c vdpau: remove now unneeded vdpauvideoyuv and vdpauyuvvideo elements 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
7753f80cf5 vdpauvideopostprocess: add display property 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
c094db8170 vdpausink: add debug output 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
4609e07c5e vdpauvideopostprocess: add support for video/x-raw-yuv input 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
a801e81efb vdpaumpegdec: add src_getcaps func
this way we can return only the caps we really support, since we're able to query vdpau
about it
2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
1b4094e5e6 vdpaumpegdec: add support for negotation of x-raw-yuv output 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
79c600f7be vdpau: create a libgstvdp library.
The library contains GstVdpDevice GstVdpVideoBuffer and GstVdpOutputBuffer. The
library will (apart from the plugins here) be used by the upcoming gst-ffmpeg
vdpau support.
2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
8ba3df0939 vdpaumpegdec: check for sink element returning wrong buffer type 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
325bd7aad2 vdpau: remove unneeded gst_vdp_video_buffer_add_reference function 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
c621101faa vdpauvideopostprocess: fix longname 2009-11-22 22:38:07 +01:00
Jan Schmidt
08a6997add dist: Include vdpsink.h in the tarball to fix the dist. 2009-10-16 11:53:14 +01:00
Jan Schmidt
6e1a735075 vdpau: Fix bogus check before unreffing 2009-09-16 10:28:20 +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
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
Carl-Anton Ingmarsson
f3ce431efc vdpau: fixup some debug prints 2009-09-16 10:25:39 +01:00
Carl-Anton Ingmarsson
ecaf3b85f1 vdpau: make GstVdpVideoYUV inherit from GstBaseTransform 2009-09-16 10:25:38 +01:00
Tim-Philipp Müller
5bc1290431 vdpau: blacklist for generic states test, and demote to GST_RANK_NONE
These elements are not fit for autoplugging, so demoting to RANK_NONE.
Also blacklisting for generic states test, since fixing these elements
up to do some minimal error handling seems to be a bit more work.
Partially fixes #591538.
2009-08-12 16:51:21 +01:00
Jan Schmidt
aba7cfa064 vdpau: Fix a compiler warning about uninitialised variable use. 2009-07-15 18:28:46 +01:00
Jan Schmidt
eb528cbcc4 VDPAU: Move I420/YV12 to the front of the caps. Add debug.
Make I420/YV12 caps be preferred when downloading to YUV buffers,
when possible, by listing them first in the set of output caps.
Add some debug in the caps selection code.
2009-06-23 22:22:02 +01:00
Jan Schmidt
deb03ee2ca VDPAU: Add some debug statements 2009-06-20 15:21:47 +01:00
Jan Schmidt
8c89eb9a5b VDPAU: Fix build flags to pull in gst-plugins-base libs 2009-06-20 15:21:47 +01:00
Jan Schmidt
0d94e5a656 VDPAU: Refactor the error path to a common output, and fix a leak.
Don't leak the input buffer on errors. Add some debug statements.
2009-06-20 15:21:47 +01:00
Jan Schmidt
8ded28b126 VDPAU: Fix up caps in vdpaumpegdec. Remove extra semicolon
Fix a typo in the caps for the VDPAU mpeg decoder (chroma_type->chroma-type)
and use the GST_VDP_VIDEO_CAPS for the pad template.
Remove a stray semicolon.
2009-06-20 15:21:46 +01:00
Jan Schmidt
f45f87709c VDPAU: Enhance the configure tests
Check for the VDPAU headers in /usr/include/nvidia as they are on some
platforms (Fedora/rpmfusion). Also check that the libvdpau library is
available.
2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
b4fa8a4ef0 vdpaumpegdec: use fixed src caps 2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
53a5272f73 vdpaumpegdec: drop all frames before a GOP when we seek 2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
aff91bb89a vdpaumpegdec: small cleanup 2009-06-20 15:21:46 +01:00