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
Carl-Anton Ingmarsson
cee2394a0d
vdpau: s/IS_VDPAU/IS_VDP
2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
64100e4737
vdpaumpegdec: send newsegment event if only the rate has been updated
2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
636ae49bee
vdpaumpegdec: use mutex to protect mpeg_dec->seeking from concurrent access
2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
3fa60712f2
vdpaumpegdec: use gst_pad_get_parent for threadsafety
2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
702cc4a03f
vdpaumpegdec: further work on seeking
2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
d65d4c40f5
vdpaumpegdec: small cleanups
2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
e9f028957d
vdpaumpegdec: set GST_BUFFER_FLAG_DELTA_UNIT on non I_FRAME's
2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
8619160ec8
vdpaumpegdec: rename gstvdpmpegdecoder.[ch] to gstvdpmpegdec.[ch]
2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
f0134f1847
vdpaumpegdec: rename GstVdpMpegDecoder to GstVdpMpegDec
2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
5956df5338
vdpaumpegdec: pass buffer size directly to gst_vdp_mpeg_decoder_decode
2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
7c0e5b5c22
vdpaumpegdec: small cleanup
2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
c4276ae568
vdpaumpegdec: calculate byterate from the size of the incoming data
2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
c9464b9860
vdpaumpegdec: print frame_nr in debug print
2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
b2aa8ae945
vdpaumpegdec: interlaced fixes
2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
757086e3fa
vdpaumpegdec: only set base duration once
2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
3864e0349b
vdpaumpegdec: don't send the EVENT_NEWSEGMENT downstream if we're seeking
2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
7316cfa186
vdpaumpegdec: implement seeking
2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
016f24f8be
vdpaumpegdec: change a GST_DEBUG to GST_WARNING
2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
f4c0de5a67
vdpaumpegdec: remove unused broken_gop field
2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
e2d8cc99b0
vdpaumpegdec: add new gst_vdp_mpeg_decoder_flush for flushing the decoder
2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
f80a727957
vdpaumpegdec: use GSE_DEBUG_FUNCPTR
2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
92335b1a12
vdpaumpegdec: don't drop discont buffers
2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
adeddd0118
vdpaumpegdec: handle GST_QUERY_POSITION and GST_QUERY_DURATION
2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
df3c59a482
vdpaumpegdec: calculate correct duration from data in MPEG_PACKET_EXT_PICTURE_CODING
2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
aee1937579
vdpaumpegdec: fix so that the first frame in a raw mpegvideo stream get timestamp 0
2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
27606d4e10
vpdaumpegdec: remove useless GstVdpDecoder baseclass
2009-06-20 15:21:40 +01:00