6 years agowaylandsink: Remove dependency with dri2 master
Karthik Ramanan [Thu, 18 Dec 2014 06:38:29 +0000 (12:08 +0530)]
waylandsink: Remove dependency with dri2

Signed-off-by: Karthik Ramanan <>
6 years agowaylandsink: Enable moving wayland video sink window
Harinarayan Bhatta [Wed, 20 Aug 2014 10:46:45 +0000 (16:16 +0530)]
waylandsink: Enable moving wayland video sink window

This patch enables moving wayland sink window
using touch or mouse pointer.

Signed-off-by: Subhajit Paul <>
Signed-off-by: Harinarayan Bhatta <>
7 years agojpegparse: change caps/prio to be picked by decodebin2
Harinarayan Bhatta [Tue, 8 Apr 2014 10:15:31 +0000 (15:45 +0530)]
jpegparse: change caps/prio to be picked by decodebin2

Signed-off-by: Harinarayan Bhatta <>
7 years agokmssink: Increase num of held buffers to fix video tearing
Harinarayan Bhatta [Tue, 8 Apr 2014 10:13:24 +0000 (15:43 +0530)]
kmssink: Increase num of held buffers to fix video tearing

Increased to 4 from 2.

Signed-off-by: Harinarayan Bhatta <>
7 years agowaylandsink: added missing dependencies
Olivier Naudan [Wed, 10 Oct 2012 08:25:40 +0000 (04:25 -0400)]
waylandsink: added missing dependencies

7 years agowayland: workaround for UV offset issue
Chandramohan [Mon, 2 Dec 2013 09:25:19 +0000 (14:55 +0530)]
wayland: workaround for UV offset issue

Creating the framebuffer with padded height will render the
complete buffer and the color info will not get affected.
But the strides will appear on top and bottom of the frame.
This is a hack not a solution.

7 years agowayland:drm interface changes according to wayland1.0 protocol
Chandramohan [Wed, 11 Dec 2013 14:45:58 +0000 (20:15 +0530)]
wayland:drm interface changes according to wayland1.0 protocol

drm interface API is modified according to the wayland 1.0 protocol
and fixes the compilation issues

Signed-off-by: Chandramohan <>
7 years agoWIP: wayland: update to support drm/dri
Rob Clark [Fri, 10 Aug 2012 20:22:53 +0000 (15:22 -0500)]
WIP: wayland: update to support drm/dri

This way we can directly share YUV buffers from decoder to compositor,
with no copy.

Signed-off-by: Chandramohan <>
7 years agoconfigure: fix wayland check
Tim-Philipp Müller [Fri, 30 Nov 2012 18:32:36 +0000 (18:32 +0000)]
configure: fix wayland check

Get rid of cruft we don't need, and make work properly
when wayland is installed in a non-standard prefix, by
not overriding WAYLAND_CFLAGS and WAYLAND_LIBS for no

7 years agowaylandsink: Port to 1.0 protocol
Rob Bradford [Fri, 30 Nov 2012 12:02:33 +0000 (12:02 +0000)]
waylandsink: Port to 1.0 protocol

- The globals are now notified through a wl_registry object
- Since surface state is double buffered in the compositor it is now necessary
to call wl_surface_commit to atomically update surface state
- Implement the ping/pong protocol which the compositor uses to check the
client is still alive
- SHM buffers are now allocated through a pool
- It is necessary to make the surface top level before the contents will be
presented by the compositor
- Adopt the new event handling - through wl_display_dispatch
- Update the configure check to look for Wayland 1.0

7 years agowaylandsink: fail gracefully with an error message if we can't connect to wayland
Tim-Philipp Müller [Thu, 13 Sep 2012 00:07:46 +0000 (01:07 +0100)]
waylandsink: fail gracefully with an error message if we can't connect to wayland

g_return_val_if_fail() is not for error handling, it's for
catching programming errors in public API.

Fixes problem with generic/states unit test.


7 years agoRevert "WIP: wayland: update to support drm/dri"
Chandramohan [Wed, 20 Nov 2013 11:08:15 +0000 (16:38 +0530)]
Revert "WIP: wayland: update to support drm/dri"

This reverts commit 97a2321f6ca06d31152e29eebefb8a3a46d386e0.

7 years agoRevert "waylandsink: added missing dependencies"
Chandramohan [Wed, 20 Nov 2013 11:07:49 +0000 (16:37 +0530)]
Revert "waylandsink: added missing dependencies"

This reverts commit 862e361582d7844f8926d9b3b5169fdbeeecc220.

7 years agokmssink: header file alignment with latest libdce release
Chandramohan [Thu, 3 Oct 2013 10:42:42 +0000 (16:12 +0530)]
kmssink: header file alignment with latest libdce release

libdce header file name changed from dce.h to libdce.h in the
latest release and this patch is to change the dce.h to libdce.h
in the c files incuded it.

Signed-off-by: Chandramohan <>
7 years agoDEBIAN: Removed delivery of glsdk-6_00_00_07
Nikhil Devshatwar [Tue, 14 May 2013 06:52:59 +0000 (06:52 +0000)]
DEBIAN: Removed delivery of

7 years agoDEBIAN: removed wayland compilation
Nikhil Devshatwar [Mon, 13 May 2013 11:16:08 +0000 (11:16 +0000)]
DEBIAN: removed wayland compilation

7 years agoDEBIAN: debianization
Nikhil Devshatwar [Wed, 15 May 2013 13:20:17 +0000 (18:50 +0530)]
DEBIAN: debianization

7 years agovp8dec: set rank to NONE, ffdec_vp8 is preferred
Vincent Penquerc'h [Wed, 12 Dec 2012 16:46:47 +0000 (16:46 +0000)]
vp8dec: set rank to NONE, ffdec_vp8 is preferred

vp8dec is a fair bit slower than ffdec_vp8, so ensure vp8dec is only
used when specifically requested.

7 years agodri2videosink: fix performance issue with software decoders
Vincent Penquerc'h [Wed, 12 Dec 2012 16:45:03 +0000 (16:45 +0000)]
dri2videosink: fix performance issue with software decoders

When I420 is selected, we allocate a normal memory buffer as
bo memory is uncached, and will be slower than normal memory.
The buffer is copied to bo memory when displayed.

This fixes slow VP8 video.

7 years agowaylandsink: added missing dependencies
Olivier Naudan [Wed, 10 Oct 2012 08:25:40 +0000 (04:25 -0400)]
waylandsink: added missing dependencies

7 years agopvrvideosink: link explicitly with DRI2 library
Olivier Naudan [Mon, 23 Jul 2012 14:25:40 +0000 (10:25 -0400)]
pvrvideosink: link explicitly with DRI2 library

7 years agopvrvideosink: fix rendering of sources with a non-nultiple-of-32 stride
Vincent Penquerc'h [Wed, 5 Dec 2012 15:19:06 +0000 (15:19 +0000)]
pvrvideosink: fix rendering of sources with a non-nultiple-of-32 stride

This multiple of 32 stride is a limitation of the lower layer, so we
have to copy the input when this is not what we get.

7 years agoh264parse: disable passthrough when we might see B frames
Vincent Penquerc'h [Wed, 5 Dec 2012 15:17:05 +0000 (15:17 +0000)]
h264parse: disable passthrough when we might see B frames

Passthrough mode will bypass parsing of poc values, which the
decoder may need in order to perform frame reordering.

In the 1.0 port, this will all be removed as reordering will be
pushed back into the decoder, with no need for poc parsing here.

7 years agoomxcamerabinsrc: use the modes we know are working
Vincent Penquerc'h [Thu, 22 Nov 2012 16:16:11 +0000 (16:16 +0000)]
omxcamerabinsrc: use the modes we know are working

The "video" modes are meant for a higher resolution video stream,
while the "preview" mode is for what is actually implemented in
omx_camera. Modes 0 and 3 are the modes that I've been testing
most of the time, and they're known to (kinda) work, so best not
to have more test surface than necessary.

7 years agokmssink: fix bo leak
Vincent Penquerc'h [Mon, 19 Nov 2012 13:28:52 +0000 (13:28 +0000)]
kmssink: fix bo leak

This was the root cause of the remaining issue with the device
failing to be opened as master after being closed.

7 years agodri2videosink: Added GST_PERFORMANCE traces, in order to measure latencies
Olivier Naudan [Tue, 23 Oct 2012 14:38:12 +0000 (10:38 -0400)]
dri2videosink: Added GST_PERFORMANCE traces, in order to measure latencies

7 years agoh264parse: fix AU chunking for interlaced streams
Vincent Penquerc'h [Mon, 12 Nov 2012 14:43:38 +0000 (14:43 +0000)]
h264parse: fix AU chunking for interlaced streams

It was sending SEI chunks alone on a test stream, confusing
a decoder which expected AU alignment.

7 years agoh264parse: simulate passthrough mode when it is scheduled
Vincent Penquerc'h [Mon, 12 Nov 2012 14:41:14 +0000 (14:41 +0000)]
h264parse: simulate passthrough mode when it is scheduled

When we are meant to be in passthrough mode, but are waiting till
we know the video resolution before setting passthrough mode,
send all data as we received it to simulate passthrough mode,
so our not-quite-passthrough setup is as unobtrusive as possible.

7 years agoh264parse: use num-reorder-frames from caps if not found in stream
Vincent Penquerc'h [Mon, 29 Oct 2012 13:20:08 +0000 (13:20 +0000)]
h264parse: use num-reorder-frames from caps if not found in stream

The stream information is optional, and since ducatih264enc now
sets this on the caps, use it in case it's not in the stream.

7 years agokmssink: mark connector-name property as non-construct
Vincent Penquerc'h [Mon, 29 Oct 2012 10:07:59 +0000 (10:07 +0000)]
kmssink: mark connector-name property as non-construct

This avoids it being called with "" at start.

7 years agokmssink: allow specifying a connector with a type based name
Vincent Penquerc'h [Fri, 26 Oct 2012 16:05:55 +0000 (17:05 +0100)]
kmssink: allow specifying a connector with a type based name

Allowed are type, type-index, and typeindex (eg, DVI-A, DVI-A-1,
DVI-A1, etc). Indices are 1 based to match what xrandr says.

7 years agopvrvideosink: remove -strided caps remnants, and allow up to 2048 height
Vincent Penquerc'h [Fri, 26 Oct 2012 14:40:43 +0000 (15:40 +0100)]
pvrvideosink: remove -strided caps remnants, and allow up to 2048 height

Using a height higher than 1080 would cause -strided caps to be used,
and this could happen for 1080 high video with padding.

7 years agoh264parser: make poc ordering cross IDR boundaries
Vincent Penquerc'h [Thu, 25 Oct 2012 17:58:13 +0000 (17:58 +0000)]
h264parser: make poc ordering cross IDR boundaries

poc is local to IDR boundaries, but if we want to reorder frames
based on it, we need it global as a B frame with presentation
timestamp before an IDR frame may be encoded after it.

7 years agopvrvideosink: lock writes to render_rect
Vincent Penquerc'h [Wed, 24 Oct 2012 09:01:24 +0000 (10:01 +0100)]
pvrvideosink: lock writes to render_rect

7 years agokmssink: make automatic connector selection the default
Vincent Penquerc'h [Mon, 22 Oct 2012 11:23:03 +0000 (12:23 +0100)]
kmssink: make automatic connector selection the default

7 years agokmssink: allow automatic selection of connector
Vincent Penquerc'h [Mon, 22 Oct 2012 11:20:43 +0000 (12:20 +0100)]
kmssink: allow automatic selection of connector

As valid connector values are 1-7, allow 0 for automatic selection.
Also make the property unsigned while we're here.

7 years agokmssink: do not unref a NULL buffer on error
Vincent Penquerc'h [Mon, 22 Oct 2012 10:53:50 +0000 (11:53 +0100)]
kmssink: do not unref a NULL buffer on error

There are error paths where the buffer may not have been set yet.

7 years agopvrvideosink: call _got_window_handle after creating a window
Vincent Penquerc'h [Mon, 22 Oct 2012 10:12:16 +0000 (11:12 +0100)]
pvrvideosink: call _got_window_handle after creating a window

The X overlay interface semantics call for this.

7 years agodri2videosink: call _got_window_handle when creating a window
Vincent Penquerc'h [Mon, 22 Oct 2012 10:11:20 +0000 (11:11 +0100)]
dri2videosink: call _got_window_handle when creating a window

The X overlay interface semantics call for this.

7 years agoh264parser: fix poc value resetting on IDR pictures
Vincent Penquerc'h [Mon, 22 Oct 2012 09:56:57 +0000 (10:56 +0100)]
h264parser: fix poc value resetting on IDR pictures

For reasons which are unclear, but may well boil down to
"an IDR slice isn't the same as an IDR picture", the
idr_pic_flag isn't set iff the slice type is IDR. Since
the poc decoding algorithm in the H264 spec does different
things depending on whether the current picture is IDR or
not, replacing the slice type test with the idr_pic_flag
test fixes poc based reordering on at least one sample,
without breaking another. All the samples (admittedly not
many of them) I have now seem to reorder correctly.

7 years agocodecparsers: use the new start code scanner where appropriate
Vincent Penquerc'h [Fri, 19 Oct 2012 16:01:45 +0000 (17:01 +0100)]
codecparsers: use the new start code scanner where appropriate

7 years agompeg4parser: speed up scan for start codes
Vincent Penquerc'h [Fri, 19 Oct 2012 14:47:29 +0000 (15:47 +0100)]
mpeg4parser: speed up scan for start codes

While some may be suspicious of the call to memchr, GCC is
expected to have an intrinsic definition for it, which should
see it turned into a set of asm opcodes tailored for the task.

7 years agokmssink: remove GstVideoContext implementation
Thibault Saunier [Wed, 17 Oct 2012 16:30:29 +0000 (13:30 -0300)]
kmssink: remove GstVideoContext implementation

We now rely one libdce to provide the fd, so all elements that will
make use dce will share the same fd through libdce, no need of the
VideoContext use.

Moreover, in our case the VideoContext was not actually working as if we
implemented it in, for example ducatividdec, we ended up having the issues unsolved
when using playbin2 as the dec and the sink are not linked at the time their
states are set to PAUSED, and the user would be in charge of setting the fd,
which is far from being optimal.

7 years agokms: Use dce to get device instead of doing it ourself
Thibault Saunier [Wed, 17 Oct 2012 15:56:05 +0000 (12:56 -0300)]
kms: Use dce to get device instead of doing it ourself

This way we do not need to bother about using the GstVideoContext as
we share the fd through libdce.

7 years agokmssink: wind down the drm machinery on reset
Vincent Penquerc'h [Wed, 17 Oct 2012 16:06:46 +0000 (17:06 +0100)]
kmssink: wind down the drm machinery on reset

7 years agokmssink: fix leak
Vincent Penquerc'h [Wed, 17 Oct 2012 16:06:33 +0000 (17:06 +0100)]
kmssink: fix leak

7 years agokmssink: make fb_id the right type the DRM API expects
Vincent Penquerc'h [Wed, 17 Oct 2012 16:05:54 +0000 (17:05 +0100)]
kmssink: make fb_id the right type the DRM API expects

7 years agokmssink: do not free mode, we do not own it
Vincent Penquerc'h [Wed, 17 Oct 2012 16:05:17 +0000 (17:05 +0100)]
kmssink: do not free mode, we do not own it

7 years agodri2videosink: pipe through gst-indent
Vincent Penquerc'h [Wed, 10 Oct 2012 15:46:52 +0000 (16:46 +0100)]
dri2videosink: pipe through gst-indent

7 years agodri2videosink: heed to map/unmap events
Vincent Penquerc'h [Wed, 10 Oct 2012 15:45:11 +0000 (16:45 +0100)]
dri2videosink: heed to map/unmap events

When the window is minimized, we want to stop displaying the

7 years agoh264parse: add num-reorder-frames to the caps, if present
Vincent Penquerc'h [Tue, 9 Oct 2012 13:02:54 +0000 (14:02 +0100)]
h264parse: add num-reorder-frames to the caps, if present

This value is the number of frames that we need to buffer
when doing manual frame reordering, so downstream needs to
know about it.

7 years agoh264parser: fix poc memory of past reference frame
Vincent Penquerc'h [Tue, 9 Oct 2012 13:01:59 +0000 (14:01 +0100)]
h264parser: fix poc memory of past reference frame

We need to remember these values for possible later use.

This fixes reordering on some samples.

7 years agoh264parser: rename variables from spec naming to gst naming
Vincent Penquerc'h [Tue, 9 Oct 2012 10:23:37 +0000 (11:23 +0100)]
h264parser: rename variables from spec naming to gst naming

While it's easier to use if the variables are named after what
they are called in the spec, it doesn't match what GStreamer
code uses, so change it to match this, and add a comment at
the declaration sites to give the corresponding spec naming.

7 years agodri2videosink: fix locking bug
Vincent Penquerc'h [Mon, 8 Oct 2012 16:03:16 +0000 (17:03 +0100)]
dri2videosink: fix locking bug

Do not unlock a mutex we did not lock. Call sites do take and
release the lock in the first place.

7 years agoWIP: wayland: update to support drm/dri
Rob Clark [Fri, 10 Aug 2012 20:22:53 +0000 (15:22 -0500)]
WIP: wayland: update to support drm/dri

This way we can directly share YUV buffers from decoder to compositor,
with no copy.

7 years agowayland: compile against older wayland
Wim Taymans [Thu, 24 May 2012 07:45:20 +0000 (09:45 +0200)]
wayland: compile against older wayland

7 years agowaylandsink: Fix warnings, proper structuring, dead code removal, adding doc section.
Sreerenj Balachandran [Wed, 7 Mar 2012 23:48:56 +0000 (01:48 +0200)]
waylandsink: Fix warnings, proper structuring, dead code removal, adding doc section.

7 years agowaylandsink: Fix in shell_surface_set_fullscreen
Sreerenj Balachandran [Tue, 28 Feb 2012 19:00:24 +0000 (21:00 +0200)]
waylandsink: Fix in shell_surface_set_fullscreen

7 years agowaylandsink: More fixes -- update to Wayland 0.85 protocol -- Added shell surface...
Sreerenj Balachandran [Thu, 16 Feb 2012 20:27:23 +0000 (22:27 +0200)]
waylandsink: More fixes -- update to Wayland 0.85 protocol -- Added shell surface -- Added format query for shm format -- Create the window based on width and height of video extracted from upstream caps.

7 years agoUpdate with new APIs in wayland-client.
Sreerenj Balachandran [Wed, 2 Nov 2011 14:23:02 +0000 (16:23 +0200)]
Update with new APIs in wayland-client.

7 years agoMore Fixes: * Adding buffer_alloc * perform buffer_damage before surface_attach ...
Sreerenj Balachandran [Wed, 2 Nov 2011 11:51:13 +0000 (13:51 +0200)]
More Fixes: * Adding buffer_alloc * perform buffer_damage before surface_attach * Fix typo, Remove Dead code etc.

7 years agoInitial Commit: Adding Wayland Video Sink
Sreerenj Balachandran [Wed, 2 Nov 2011 09:02:11 +0000 (11:02 +0200)]
Initial Commit: Adding Wayland Video Sink

7 years agodri2videosink: fix caps leak
Vincent Penquerc'h [Mon, 8 Oct 2012 13:45:21 +0000 (14:45 +0100)]
dri2videosink: fix caps leak

7 years agoh264parse: attach picture order count to buffers
Vincent Penquerc'h [Thu, 4 Oct 2012 14:46:55 +0000 (15:46 +0100)]
h264parse: attach picture order count to buffers

They go in OFFSET_END for now, which isn't ideal.

7 years agoh264parser: add poc calculation
Vincent Penquerc'h [Thu, 4 Oct 2012 11:25:30 +0000 (12:25 +0100)]
h264parser: add poc calculation

Only for type 0 at the moment, which is what the sample I have

7 years agodri2videosink: fix cropping with software decoders
Vincent Penquerc'h [Wed, 3 Oct 2012 13:02:18 +0000 (14:02 +0100)]
dri2videosink: fix cropping with software decoders

Normal elements send a crop event, but ducati has another
per-buffer system to attach a crop rectangle. When a buffer
has no crop rectangle, but we received a crop event, use
the crop event data instead.

This fixes borders being wrongly displayed with software

7 years agoh264parse: do not send PPS and SPS alone in byte-stream mode
Vincent Penquerc'h [Wed, 3 Oct 2012 12:06:03 +0000 (13:06 +0100)]
h264parse: do not send PPS and SPS alone in byte-stream mode

They could be sent alone for interlaced streams, which would
confuse the ducati decoder which expects more data after them.

7 years agodri2videosink, pvrvideosink: Accept height up to 2048 pixels
Thibault Saunier [Tue, 2 Oct 2012 12:58:19 +0000 (14:58 +0200)]
dri2videosink, pvrvideosink: Accept height up to 2048 pixels

This is what hw actually limits to.

7 years agopvrvideosink: Limit size to 1080p as it is a hardware limitation
Thibault Saunier [Wed, 26 Sep 2012 16:53:11 +0000 (18:53 +0200)]
pvrvideosink: Limit size to 1080p as it is a hardware limitation

7 years agodri2videosink: Limit size to 2k as it is the maximum size the hardware handles
Thibault Saunier [Wed, 26 Sep 2012 16:51:35 +0000 (18:51 +0200)]
dri2videosink: Limit size to 2k as it is the maximum size the hardware handles

7 years agodri2videosink: Limit size to 1080p as it is a hardware limitation
Thibault Saunier [Wed, 26 Sep 2012 15:27:12 +0000 (17:27 +0200)]
dri2videosink: Limit size to 1080p as it is a hardware limitation

7 years agoh264parse: do not use VUI values if they were not found in the stream
Vincent Penquerc'h [Wed, 19 Sep 2012 14:52:33 +0000 (14:52 +0000)]
h264parse: do not use VUI values if they were not found in the stream

7 years agodrm: do not dereference a NULL pointer
Vincent Penquerc'h [Tue, 11 Sep 2012 11:02:43 +0000 (11:02 +0000)]
drm: do not dereference a NULL pointer

If omap_bo_new fails, return NULL early.

7 years agodrm: do not dereference a NULL pointer
Vincent Penquerc'h [Tue, 11 Sep 2012 11:02:43 +0000 (11:02 +0000)]
drm: do not dereference a NULL pointer

If omap_bo_new fails, return NULL early.

7 years agodrm: add a signal for notifying when a buffer is returned to the pool
Vincent Penquerc'h [Thu, 6 Sep 2012 09:14:23 +0000 (09:14 +0000)]
drm: add a signal for notifying when a buffer is returned to the pool

7 years agoAdd a pkg-config file for the drm lib
Vincent Penquerc'h [Wed, 5 Sep 2012 08:25:59 +0000 (08:25 +0000)]
Add a pkg-config file for the drm lib

7 years agodrm and dri: Enhance debug messages
Thibault Saunier [Tue, 4 Sep 2012 23:44:39 +0000 (20:44 -0300)]
drm and dri: Enhance debug messages

7 years agodri2 and drm: Pass through gst-indent
Thibault Saunier [Tue, 4 Sep 2012 23:29:49 +0000 (20:29 -0300)]
dri2 and drm: Pass through gst-indent

7 years agodrmbufferpool: fix dmabuf leak
Vincent Penquerc'h [Thu, 23 Aug 2012 17:35:31 +0000 (17:35 +0000)]
drmbufferpool: fix dmabuf leak

As the comment in gst_drm_buffer_initialize says, gst_buffer_set_dma_buf
does not take ownership of the passed dmabuf, so unref it when done.

7 years agocodecparsers: mpeg4: do not expect a marker bit where not specified
Mark Nauwelaerts [Fri, 18 May 2012 14:17:13 +0000 (16:17 +0200)]
codecparsers: mpeg4: do not expect a marker bit where not specified

Fixes #672447.

7 years agodri2videosink: fix a crash on resizing the window
Vincent Penquerc'h [Fri, 3 Aug 2012 14:54:57 +0000 (14:54 +0000)]
dri2videosink: fix a crash on resizing the window

7 years agodri2videosink: deinterlaced interlaced input
Vincent Penquerc'h [Fri, 3 Aug 2012 14:21:09 +0000 (14:21 +0000)]
dri2videosink: deinterlaced interlaced input

This might miss some cases (single memcpy and non memcpy), but this
takes care of the sample I have.

7 years agodri2videosink: DRI2 stride has a pixel constraint, not a byte one
Vincent Penquerc'h [Fri, 3 Aug 2012 11:20:49 +0000 (11:20 +0000)]
dri2videosink: DRI2 stride has a pixel constraint, not a byte one

The hardware wants the stride to be a multiple of 32 pixels, not 32
bytes, so packed formats with 2 bytes per pixel will need aligning
to 64 bytes, not 32, to match 32 pixels.

7 years agodri2videosink: fix window/video width confusion
Vincent Penquerc'h [Thu, 2 Aug 2012 17:58:38 +0000 (17:58 +0000)]
dri2videosink: fix window/video width confusion

Also since we copy more than one plane at once when possible,
avoid double copies if libgstvideo allows us to do so.

7 years agodri2videosink: copy correct number of bytes for interlaved foramts
Vincent Penquerc'h [Thu, 2 Aug 2012 16:55:42 +0000 (16:55 +0000)]
dri2videosink: copy correct number of bytes for interlaved foramts

The width of a component is expressed in pixels, and not bytes,
so we need to multiply by the pixel stride to get the width in bytes.

7 years agodri2videosink: copy buffers which do not match strides dri2 needs
Vincent Penquerc'h [Thu, 2 Aug 2012 14:17:26 +0000 (14:17 +0000)]
dri2videosink: copy buffers which do not match strides dri2 needs

7 years agodri2videosink: bump rank to PRIMARY + 1
Vincent Penquerc'h [Tue, 24 Jul 2012 10:56:38 +0000 (10:56 +0000)]
dri2videosink: bump rank to PRIMARY + 1

To match the preferred usage priority.

7 years agokmssink: bump rank to PRIMARY + 1
Vincent Penquerc'h [Tue, 24 Jul 2012 10:55:38 +0000 (10:55 +0000)]
kmssink: bump rank to PRIMARY + 1

To match the preferred usage priority.

7 years agodri2videosink: destroy context only whe window is destroyed
Vincent Penquerc'h [Fri, 20 Jul 2012 12:16:33 +0000 (12:16 +0000)]
dri2videosink: destroy context only whe window is destroyed

This avoids using the X lock after it was destroyed, as buffers
may be destroyed later, and need to use the context.

7 years agoh264parse: add num-ref-frames in caps
Vincent Penquerc'h [Wed, 18 Jul 2012 11:38:53 +0000 (11:38 +0000)]
h264parse: add num-ref-frames in caps

This is the number of reference frames needed for reordering frames
by presentation time.

7 years agoh264parse: delay setting passthrough mode when waiting to known resolution
Vincent Penquerc'h [Wed, 11 Jul 2012 14:24:16 +0000 (14:24 +0000)]
h264parse: delay setting passthrough mode when waiting to known resolution

This makes a difference on a particular interlaced clip, which looks very
wrong with this patch, and looked even wronger without.

7 years agodri2: link libgstdrm in-tree
Vincent Penquerc'h [Wed, 11 Jul 2012 13:31:36 +0000 (13:31 +0000)]
dri2: link libgstdrm in-tree

7 years agokms: add missing backslash in lib list
Vincent Penquerc'h [Wed, 11 Jul 2012 09:42:26 +0000 (09:42 +0000)]
kms: add missing backslash in lib list

7 years agokmssink: link to our in-tree libgstbasevideo
Vincent Penquerc'h [Tue, 10 Jul 2012 17:50:56 +0000 (17:50 +0000)]
kmssink: link to our in-tree libgstbasevideo

7 years agoh264parse: do not use a buffer after it was unreffed
Vincent Penquerc'h [Tue, 10 Jul 2012 15:31:33 +0000 (15:31 +0000)]
h264parse: do not use a buffer after it was unreffed

In some cases, the frame buffer may be replaced by a new buffer,
making the local cache invalid.

7 years agoh264parse: split interlaced fields in separate packets
Vincent Penquerc'h [Tue, 10 Jul 2012 13:53:09 +0000 (13:53 +0000)]
h264parse: split interlaced fields in separate packets

ducatih264dec requires such fields to be in separate AUs.

7 years agoRevert "h264parse: disable some optimizations with AVC input"
Vincent Penquerc'h [Tue, 10 Jul 2012 13:51:09 +0000 (13:51 +0000)]
Revert "h264parse: disable some optimizations with AVC input"

I now have a fix for the bundling of interlaced NAL units in a
single AU that was tripping ducatih264dec, so we can revert this
stopgap and go back to the faster parsing.

This reverts commit 37257ba09895d567c06e44e1f5c58cb54851fb38.

7 years agopvrvideosink: fix unwanted scaling on cropped videos
Vincent Penquerc'h [Mon, 9 Jul 2012 10:54:57 +0000 (10:54 +0000)]
pvrvideosink: fix unwanted scaling on cropped videos

When a video with crop rectangle was used, the window was created with
the uncropped size, and kept that way after the crop event was received,
leading to a slight scaling of the video (and likely slight aspect ratio
change as well).

This is fixed by resizing the window to the cropped size when it changes.

7 years agoh264parse: wait to get resolution before pushing buffers
Vincent Penquerc'h [Thu, 28 Jun 2012 15:10:08 +0000 (15:10 +0000)]
h264parse: wait to get resolution before pushing buffers

ducatih264dec wants resolution in caps, so we have to wait for it
to become known before pushing the first buffer, so it includes caps
with the resolution.

This fixes prerolling on the disney-sample.mpg test file.

7 years agodrmbufferpool: give this code a separate debug category
Vincent Penquerc'h [Thu, 28 Jun 2012 09:03:59 +0000 (09:03 +0000)]
drmbufferpool: give this code a separate debug category

and add a couple logs while we're at it