Commit graph

560 commits

Author SHA1 Message Date
Carl-Anton Ingmarsson
323b563c24 vdpaumpegdec: fixup state change 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
e417b2eea0 vdpau: init "vdpaudevice" debug catoegory in gst_vdp_get_device 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
de7fb2006e vdpaumpegdec: hold the lock in change_state 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
6b05d01898 vdpaumpegdec: the B_FRAME decoding was completely wrong, fix it
the buffers don't come in output order so fix the decoder to handle this

add new gst_vdp_video_buffer_add_reference method to GstVdpVideoBuffer to be able to keep
buffers alive. Ie. a B_FRAME need to have both the forward reference and the backward
reference alive during it's lifetime.

add mutex to protect for threadsafety issues when we reset the decoder in FLUSH_STOP
2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
b8a7986775 vdpaumpegdec: set full_pel_forward_vector to 0 when pic_type == P_FRAME 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
3a7a2af1fa vdpaumpegdec: drop frames if we haven't got an I_FRAME yet 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
66231a619a vdpau: set vdpauvideoyuv and vdpauyuvvideo to GST_RANK_PRIMARY 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
e737b9a916 vdpaumpegdec: destroy the VdpDecoder and reset the decoder on state change 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
fb70c1e7b5 vdpau: fix error where we forgot to pass a trailing NULL to g_object_new 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
612a46a565 vdpau: close display on finalize 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
f16aa7271e vdpau: small fixes
init create GstVdpDevice on GST_STATE_CHANGE_READY_TO_PAUSED instead of on
GST_STATE_CHANGE_NULL_TO READY

add back incrementing of frame_nr
2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
a94f5fe520 vdpau: use g_once_init_enter instead of g_once 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
2eb479f825 vdpaumpegdec: if available use incoming buffer timestamp as output timestamp 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
2d996a3ff4 vdpaumpegdec: clear the adapter when we reset the decoder 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
8c78a4850f vdpau: fixup renaming
the rename work done in commit 24cf84d06b2f4b2edec3383b198441a07829618b didn't
include typecasts. This commit fixes this.
2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
8bbd794961 vdpaumpegdec: reset decoder on GST_EVENT_FLUSH_STOP 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
4d69d761d2 vdpaumpegdec: reset decoder when we get a discont buffer 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
8b3261f91a vdpaumpegdec: add "MPEG_PACKET_EXT_PICTURE_CODING" debug statement 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
035b5f4efb vdpaumpegdec: handle broken_gop field 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
17102ad0fa vdpaumpegdec: convert all manual parsing to use read_bits instead 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
806d4ced04 vdpaumpegdec: remove unneded gst_buffer_ref and the accompanying gst_buffer_unref 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
fc3c9dba95 vdpaumpegdec: fixup error where we set forward_reference instead of backward_reference 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
e0ddcabd7a vdpaumpegdec: handle multiple B_FRAMEs in a row 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
a168fdc1d3 vdpaumpegdec: more B_FRAME work 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
da191134a1 vdpaumpegdec: inital support at handling B_FRAMES 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
7ca750c422 vdpaumpegdec: fixup GstFlowReturn propagation a bit 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
000db36020 vdpaumpegdec: parse PICTURE_CODING_EXTENSION alternate_scan bit 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
375935d9c4 vdpaumpegdec: fixup quantmatrix extension parsing 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
ee591b9f3d vdpaumpegdec: correct some default values
mpeg1 now give nearly correct output :)
2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
638a35eacc vdpaumpegdecoder: remove unused slice field 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
08690f10f8 vdpau: rename "video/vdpau-video" caps to "video/x-vdpau-video" 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
4ee4429c1a vdpau: remove "silent" property from GstVdpDecoder 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
500861d517 vdpau: don't set element details in GstVdpDecoder 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
4470b61f80 vdpaumpegdecoder: rename to "vdpaumpegdec" 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
71c398566c vdpaumpegdecoder: remove unnecesary want_slice field 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
1af393a72d vdpau: small cosmetical fix 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
48143abdab vdpau: rename all files and objects from Vdpau to Vdp 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
d2efd275a4 vdpau: decode slices when we get the next picture header. MPEG2 now kindof works. 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
1234267cb5 vdpau: small improvement to mpeg decoder 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
91ff1579f3 vdpau: remove unused "silent" properties 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
a7170c6ef7 vdpau: implement GstVdpauVideoBuffer -> I420 conversion 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
86cd9b20f8 vdpau: move definition of the VdpChromaType array and the VdpauFormats to gstdevice.h 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
072f869548 vdpau: small fix
set vdp_info.forward_reference to VDP_INVALID handle when unreffing the old
buffer
2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
f8e0c0bcc1 vdpau: add new GstVdpauYUVVideo element
the GstVdpauYUVVideo element takes raw YUV video and outputs
GstVdpauVideoBuffers
2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
74485f6fa2 vdpau: VideoYUV unref buffer in chain so that we don't leak them MpegDecoder parse sequence headers 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
17a758ec71 vdpau: remove some unneded includes 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
3d4a340cfa vdpau: move plugin definition to a new gstvdpau.c file fix up debug categories 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
85158b07ea vdpau: add new GstVdpauVideoYUV element
GstVdpauDecoder now pushes GstVdpauVideoBuffers instead of doing
VdpSurface -> YUV conversion. To get YUV data you now put in a GstVdpauVideoYUV
element which takes GstVdpauVideoBuffers and outputs YUV data.
2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
5e73b7272b vdpau: small indent fix 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
f72dc12373 vdpau: remove obosolete FIXME and some debug prints from gstvdpaudevice.c 2009-06-20 15:21:24 +01:00