ext/dfbvideosink: assign ICB MERAM as readahead cache for SDRAM-to-VIO I/O

This consists of changes for configure.ac and Makefile.am
because this change requires libshmeram.
Unfortunately ICB MERAM setting in this change must be hard-code
for R-CarE1 platforms because of no framework for supporting
dynamic configuration of ICB MERAM.
ext/dfbvideosink: use tile width for accessing tiled image efficiently

This patch gets tile width from caps and optimize the MERAM
configuration for accessing tiled image efficiently.
ext/dfbvideosink: convert interlaced video fields into a frame

This makes the renderer check the two capabilities 'interlaced' and
'field-layout' attached with input video frame and deinterlaces it
if needed. Unfortunately this could only support
'field-layout=sequential' which means an image contain both fields,
the top field lines are stored first in a buffer, immediately
followed by the bottom field lines.
ext/dfbvideosink: handle the query of tladdressing-supported

The query of tladdressing-supported is sent for asking whether
dealing with T/L (tiled-linear) addressing for input buffer
address is supported.
This patch adds the handler for receiving this query.
dfb-example/dfb-video-example: Move directfb.h include to after gst/gst.h

Due to a namespace conflict, including directfb.h before gst/gst.h causes
preprocessor expansion to tag some functions with incorrect attributes.
The attribute expands to __attribute__((__attribute__((no_instrument_funtion))))
, which is invalid and connot be compiled.
ext/dfbvideosink: assign ICB MERAM as writeback cache for VIO-to-SDRAM I/O

Unfortunately ICB MERAM setting in this change must be hard-code
for R-CarE1 platforms because of no framework for supporting
dynamic configuration of ICB MERAM.
NOTE: This change must impose the 16-byte alignment restriction
on image width and x-offset of the destination because of the MERAM
specification.
ext/dfbvideosink: adjust alignment of output image's width for MERAM

This adjusts alignment of output image's width because each line of image
in MERAM must be aligned on 16-byte boundaries.
dfb-example: clear another surface of double buffer
dfb-example: resize an image without sub surface

dfbvideosink supported resizing an image with just a rectangle parameter.
This patch sets the rectangle to dfbvideosink properly.
dfb-example: fix lacks of finalizing processing
dfb-video-example: set playback rate as specified when seeking in slow playback mode

This patch fixes a defect that resets the playback rate to 1.0 (normal speed)
when seeking in slow playback mode.
ext/dfbvideosink: deal with rowstride as byte unit

rowstride is specified in bytes, but vio surface pitch is specified in
pixels. Add the necessary conversion to accomodate this.
ext/dfbvideosink: properly read non 16-byte aligned buffers through MERAM

MERAM must be aligned on 16-byte boundaries. When dealing with non-16 byte
aligned buffers, start the MERAM read from the previous 16-byte boundary and
offset the VIO start address to account for the change.
ext/dfbvideosink: use next_field_offset for interlace to progressive conversion

This patch gets next_field_offset from caps and accordingly set the
offset to the second field of Y and UV plane when receiving a field
structured image.
ext/dfbvideosink: access tiled image with tile boundary offset in caps

This capability can be caught when libshvio needs to read the buffers
that aren't alined to the tile boundary through MERAM. In such case,
the MERAM is written in from the previous tile boundary, and libshvio
reads from the address offset to this parameter.
ext/dfbvideosink: reflect tile boundary offset on MExxBSIZE
dfb-video-example: support video image cropping
Revert "ext/dfbvideosink: adjust alignment of output image's width for MERAM"

This reverts commit ef2898e0e59581953f26cc7a3b67fb7b8076ee0c.

Conflicts:

	ext/directfb/dfbvideosink.c
ext/dfbvideosink: lock MERAM to share a region with others

Especially this must be required for the R-CarE1 platform.
ext/dfbvideosink: properly draw an image to non 16-byte aligned address through MERAM

MERAM must be aligned on 16-byte boundaries. When dealing with non-16 byte
aligned address, start the MERAM write from the previous 16-byte boundary and
offset the VIO start address to account for the change.