wl/shm: preserve video center during resize
mmal: Add deinterlace filter

Add a video_filter module which uses the Broadcom Multi Media Abstraction
Layer (mmal) to deinterlace video in hardware on supported platforms like the
Raspberry Pi.
As of now it is only working in opaque mode, due to a broadcom firmware
limitation.  Thus it can only be used along with mmal/codec and mmal/vout.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
skins2: fix buttons and checkbox artefacts with animated images

If down or over images are missing, they default to the up image. Yet, in case
of animated images, the animation gets played leading to undesirable artefacts.

This patch adds a comparison operator for animated images and do not restart the
animation if they are alike.
skins2: fix animated image flickering

Switch the layout activity to true before actually displaying the layout. This
gives controls a chance to reinitialize before any real drawing occurs, and
thus a clean animation gets displayed without any unwanted stray image.

This fixes trac #12083
Qt: fix EPG dialog on HiDpi
mmal/vout: Properly populate plane specification

The pictures plane specifications were always filled with the size information
obtained from the vlc picture format combined with the assumption of having 3
planes. As this is not correct for the opaque case were only one plane with a
fixed size, which matches the mmal video_render input size, is used, change
the code to take care of this.
This change is required to provide other plugins reliable information about
the allocated data buffer size.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/codec: Check picture buffer size before usage

We need to make sure that a buffer is big enough to store the amount of data
we expect to receive from the decoder. Without doing this memory could be
corrupted due to the decoder writing outside the allocate memory.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/mmal_picture: Don't wait inifinitely for picture

Use mmal_queue_timedwait instead of mmal_queue_wait to avoid deadlocks if due
to some unexpected reason no mmal buffer is available for a picture to be
locked. This makes the mmal plugins more robust against mmal internal
failures.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/deinterlace: Teardown cleanup

Refactor teardown code a little, merging the picture_pool destruction into the
core Close method as well as adding a missing free and tweak teardown order to
be a bit more sane.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/deinterlace: Fix build warning

Comparing signed to unsigned.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/deinterlace: Remove unused code

Remove leftovers from older codeparts.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
configure: fix wayland-client version requirements
mmal/deinterlace: Remove double pool allocation

The mmal buffer pool was allocated twice by accident, which caused a leak of
the first one being allocated.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/deinterlace: Use default allocator for mmal pool

The port agnostic allocator helpers in mmal leak memory (see
https://github.com/raspberrypi/firmware/issues/310). As there is no benefit
using them instead of the default allocator in our case anyway, switch to the
default allocator, which avoids memory leakage on pool destruction.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmal/vout: Use default allocator for mmal pool

The port agnostic allocator helpers in mmal leak memory (see
https://github.com/raspberrypi/firmware/issues/310). As there is no benefit
using them instead of the default allocator in our case anyway, switch to the
default allocator, which avoids memory leakage on pool destruction.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
mmdevice: fix crash if several channel volumes change (fixes #12086)
extras/ios: fix build script
Contribs: Update dvdnav to 5.0.1
gnutls: remove tautology / dead code
pkg-static.sh: also merge Requires.private with Requires