Commit graph

309 commits

Author SHA1 Message Date
Carl-Anton Ingmarsson
726290de21 vdpau: GstVdpOutputSrcPad use gst_pad_alloc when outputting video/x-raw-rgb
we implement "acceptcaps" to prevent us from getting a buffer with different
width and height from what we requested.
2010-07-30 14:07:22 +02:00
Carl-Anton Ingmarsson
ac8dfbea82 vdpau: properly remove "chroma-type" field from transformed caps 2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
aa193a7b43 vdpauvideopostprocess: use GstVdp[Video|Output]BufferPool to cache our buffers
This way we'll reuse the GstVdp[Video|Output]Buffers if they're of the same
size and chroma-type/rgba-format.

Also remove gst_vdp_output_src_pad_negotiate and set a "setcaps" function on
GstVdpOutputSrcPad instead, leaving negotiation to GstVdpVideoPostProcess.
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
57175ece9e vdpausink: use GstVdpOutputBufferPool to alloc our buffers
This way we'll reuse our GstVdpOutputBuffers if they're of the same size and
rgba-format
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
c0e1fba089 vdpau: use GstVdpVideoBufferPool in GstVdpVideoSrcPad
We also don't pad_alloc our GstVdpVideoBuffers anymore since we don't support
downstream negotation anyway.
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
2d9132c590 vdpau: add GstVdpOutputBufferPool
GstVdpVideoOutputPool is a subclass of GstVdpBufferPool that caches
GstVdpOutputBuffers
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
d82c4acd8a vdpau: add GstVdpVideoBufferPool
GstVdpVideoBufferPool is a subclass of GstVdpBuffer that caches
GstVdpVideoBuffers
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
7320eedc04 vdpau: add GstVdpBufferPool base class
GstVdpBufferPool will be used to cache GstVdp[Video|Output]Buffers since
creating these can be a costly operation on some hardware.
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
093fcacc20 vdpau: remove GstVdpOutputSrcPad "template-caps" property
instead we do as GstVdpVideoSrcPad and use the "templ" property of GstPad,
which enable us to change the signature of gst_vdp_output_src_pad_new to match
gst_pad_new_from_template
2010-07-30 11:32:00 +02:00
Carl-Anton Ingmarsson
5626857ac4 vdpau: remove GstVdpOutputSrcPad code to retrieve the device from downstream
we now no longer try to get the GstVdpDevice from downstream since it in
practice didn't give us anything and complicates the code alot. Nevertheless if device
distribution should be done there's probably a lot better ways to do it.
Instead we now simply aquire the device in vdpauvideopostprocess when we're
going into PAUSED.
2010-07-30 11:31:59 +02:00
Carl-Anton Ingmarsson
00ad3c8aeb vdpau: cleanup GstVdpDecoder opening of it's GstVdpDevice
we now no longer try to get the GstVdpDevice from downstream since it in
practice didn't give us anything and complicates the code alot. Nevertheless if device
distribution should be done there's probably a lot better ways to do it.
2010-07-30 11:31:59 +02:00
Carl-Anton Ingmarsson
d564e1bf19 vdpau: fix GstBaseVideoDecoder returning wrong GstStateChangeReturn
when gst_base_video_decoder_[start|stop] fails we now return
GST_STATE_CHANGE_FAILURE instead of returning what the parent class returns
2010-07-30 11:31:59 +02:00
Carl-Anton Ingmarsson
86860beeae vdpaumpegdec: remove unneeded setting of buffer flags
GstBaseVideoDecoder sets GST_VIDEO_BUFFER_TFF for us and
GST_BUFFER_FLAG_DELTA_UNIT doesn't make sense for decoded frames.
2010-07-30 11:31:59 +02:00
Tim-Philipp Müller
8559d5b9e1 vdpau: dist new header file
Fix make distcheck.
2010-07-27 18:07:00 +02:00
Carl-Anton Ingmarsson
0b3c6e4b9e vdpau: add gst_vdp_decoder_render and gst_vdp_decoder_init_decoder 2010-07-23 00:29:34 +02:00
Carl-Anton Ingmarsson
b4e447375b vdpauh264dec: try to calculate framerate if we don't get one from upstream 2010-07-19 21:55:31 +02:00
Thijs Vermeir
d15418d6aa vdpau: fix segfault when vdpau device could not be created 2010-07-19 11:42:26 +02:00
Carl-Anton Ingmarsson
7462a64398 vdpauh264dec: fix problem when encountering GST_NAL_AU_DELIMITER 2010-07-18 21:16:23 +02:00
Carl-Anton Ingmarsson
2d870ee7fd vdpauh264dec: calculate width and height from bitstream info 2010-07-15 13:23:52 +02:00
Carl-Anton Ingmarsson
ecbf5a4e30 vdpauh264dec: fix usage of g_bit_storage 2010-07-15 11:10:03 +02:00
Carl-Anton Ingmarsson
b3ad9d7d04 vdpaumpegdec: rename zigzag matrix 2010-07-14 11:19:49 +02:00
Carl-Anton Ingmarsson
c27468f1a1 vdpauh264dec: use g_bit_storage instead of log2
log2 caused compile issues on certain platforms
2010-07-14 11:19:49 +02:00
Sebastian Dröge
dfeaa7709b vdpau: Check for log2 and only use it if it's available 2010-06-29 11:21:30 +02:00
Carl-Anton Ingmarsson
380ec88b4c vdpauh264dec: don't use deprecated g_ptr_array_free incase glib >= 2.22 2010-06-28 12:00:55 +02:00
Carl-Anton Ingmarsson
0aa4d01c0f vdpauvideopostprocess: fix resizing of output 2010-06-28 11:19:27 +02:00
Carl-Anton Ingmarsson
525c7c3933 vdpauh264dec: don't use glib 2.22 functions 2010-06-28 11:11:52 +02:00
Carl-Anton Ingmarsson
d49cbe69e1 vdpau: change GstBaseVideoDecoder state api 2010-06-28 11:11:52 +02:00
Carl-Anton Ingmarsson
7274d9f142 vdpauh264dec: free frames on finalize in GstH264DPB 2010-06-28 11:11:52 +02:00
Carl-Anton Ingmarsson
d930556a47 vdpau: add display property to GstVdpDecoder 2010-06-28 11:11:52 +02:00
Carl-Anton Ingmarsson
ec815085bf vdpauh264dec: rename GstVdpH264Frame to GstH264Frame 2010-06-28 11:11:52 +02:00
Carl-Anton Ingmarsson
00fd85c0f5 vdpau: fix error handling when plugging "vdpauvideopostprocess ! fakesink" 2010-06-28 11:11:52 +02:00
Carl-Anton Ingmarsson
8e59521efa vdpau: add error parameter to gst_vdp_video_src_pad_get_device 2010-06-28 11:11:51 +02:00
Sebastian Dröge
159b43d17c vdpau: Link to $(LIBM) for log2 and friends 2010-06-28 10:47:52 +02:00
Carl-Anton Ingmarsson
d13a122a56 vdpau: add GstVdpDecoder base class 2010-06-26 21:27:32 +02:00
Carl-Anton Ingmarsson
71620e7fbb vdpauh264dec: add gst_h264_dpb_set_output_func function 2010-06-26 21:27:32 +02:00
Tim-Philipp Müller
730c59e52a vdpay: fix build in uninstalled setup
Add GST_PLUGINS_BASE_CFLAGS to CFLAGS so it finds the gst/video/video.h
headers in an uninstalled setup. Also reshuffle order.
2010-06-24 23:57:16 +01:00
Carl-Anton Ingmarsson
5fbbbaccc3 vdpauh264dec: fix unitialized variable 2010-06-24 22:14:38 +02:00
Carl-Anton Ingmarsson
731d160e6d vdpauh264dec: fix initalization of GstNalReader cache 2010-06-24 22:07:45 +02:00
Carl-Anton Ingmarsson
cfad4aa3d4 vdpau: rename GstBaseVideoDecoder to SatBaseVideoDecoder using CFLAGS 2010-06-24 16:28:36 +02:00
Carl-Anton Ingmarsson
746dcfd09e Revert "vdpau: rename GstBaseVideoDecoder to SatBaseVideoDecoder"
This reverts commit aa0444f204.
2010-06-24 16:28:36 +02:00
Carl-Anton Ingmarsson
aa0444f204 vdpau: rename GstBaseVideoDecoder to SatBaseVideoDecoder 2010-06-24 13:21:34 +02:00
Carl-Anton Ingmarsson
e312e2b121 vdpauh264dec: use bitshifts instead of pow 2010-06-23 22:33:05 +02:00
Carl-Anton Ingmarsson
faa0e1c2eb vdpauh264dec: add interlaced = false to sink caps
we don't support interlaced content yet
2010-06-23 22:22:20 +02:00
Carl-Anton Ingmarsson
7f3252e90a vdpauh264dec: fix parsing of scaling lists 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
dfeff590b2 vdpauh264dec: fix reading of signed exp golomb 2010-06-23 21:51:53 +02:00
Carl-Anton Ingmarsson
90077a6f2b vdpau: fixup decoder timestamping 2010-06-23 21:51:53 +02:00
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