Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Conrad Parker <conrad <at> metadecks.org>
Subject: libshveu-1.1.0 Release
Newsgroups: gmane.linux.ports.sh.devel
Date: Friday 9th October 2009 05:10:02 UTC (over 7 years ago)
libshveu 1.1.0 Release
======================

libshveu: A library for controlling SH-Mobile VEU

The source archive, and more information about the library are available
from:

        http://linux-sh.org/cgi-bin/moin.cgi/libshveu

This is the first public release of libshveu. It contains:

 * src/libshveu: the libshveu shared library
 * src/tools: commandline tools

libshveu API
------------

libshveu allows both synchronous and asynchronous access to the VEU.
The synchronous API
provides a one-shot function shveu_operation(). The asychronous API
replaces this with a
similar but non-blocking function, shveu_start(), and a corresponding
shveu_wait().

There are also convenience functions for colorspace conversions that
are commonly used
with video encoding and decoding, shveu_rgb565_to_nv12() and
shveu_nv12_to_rgb565().

The signature of shveu_operation() is as follows:

/** Perform (scale|rotate) & crop between YCbCr 4:2:0 & RG565 surfaces
 * \param veu_index Index of which VEU to use
 * \param src_py Physical address of Y or RGB plane of source image
 * \param src_pc Physical address of CbCr plane of source image
(ignored for RGB)
 * \param src_width Width in pixels of source image
 * \param src_height Height in pixels of source image
 * \param src_pitch Line pitch of source image
 * \param src_format Format of source image
 * \param dst_py Physical address of Y or RGB plane of destination image
 * \param dst_pc Physical address of CbCr plane of destination image
(ignored for RGB)
 * \param dst_width Width in pixels of destination image
 * \param dst_height Height in pixels of destination image
 * \param dst_pitch Line pitch of destination image
 * \param dst_fmt Format of destination image
 * \param rotate Rotation to apply
 * \retval 0 Success
 * \retval -1 Error: Attempt to perform simultaneous scaling and rotation
 */
int
shveu_operation(
        unsigned int veu_index,
        unsigned long src_py,
        unsigned long src_pc,
        unsigned long src_width,
        unsigned long src_height,
        unsigned long src_pitch,
        shveu_format_t src_fmt,
        unsigned long dst_py,
        unsigned long dst_pc,
        unsigned long dst_width,
        unsigned long dst_height,
        unsigned long dst_pitch,
        shveu_format_t dst_fmt,
        shveu_rotation_t rotate);


shveu-convert
-------------

shveu-convert is a commandline program for converting raw image or video
files. It uses the SH-Mobile VEU to perform simultaneous colorspace
conversion
and either rotation or scaling on each input frame.

    Usage: shveu-convert [options] [input-filename [output-filename]]
    Convert raw image data using the SH-Mobile VEU.

    If no output filename is specified, data is output to stdout.
    Specify '-' to force output to be written to stdout.

    If no input filename is specified, data is read from stdin.
    Specify '-' to force input to be read from stdin.

    Input options
      -c, --input-colorspace (RGB565, NV12, YCbCr420, YCbCr422)
                             Specify input colorspace
      -s, --input-size       Set the input image size (qcif, cif, qvga,
vga)

    Output options
      -o filename, --output filename
                             Specify output filename (default: stdout)
      -C, --output-colorspace (RGB565, NV12, YCbCr420, YCbCr422)
                             Specify output colorspace

    Transform options
      Note that the VEU does not support combined rotation and scaling.
      -S, --output-size      Set the output image size (qcif, cif, qvga,
vga)
                             [default is same as input size, ie. no
rescaling]
      -r, --rotate           Rotate the image 90 degrees clockwise

    Miscellaneous options
      -h, --help             Display this help and exit
      -v, --version          Output version information and exit

    File extensions are interpreted as follows unless otherwise specified:
      .yuv    YCbCr420
      .rgb    RGB565


SH-Mobile
---------

The [SH-Mobile][0] processor series includes a hardware video engine
unit that supports colorspace conversion, rotation and scaling. Some models
also include support for camera capture, JPEG processing, and DSP
instructions.

[0]: http://www.renesas.com/fmwk.jsp?cnt=sh_mobile_family_landing.jsp&fp=/products/mpumcu/sh_mobile/

Kernel configuration
--------------------

libshveu uses the Linux kernel UIO support for the SH-Mobile VEU, which was
added in 2.6.27.

The following kernel boot option reserves physically contiguous memory
for VEU use:

    memchunk.veu=4m

License
-------

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA  02110-1301
USA

See the file COPYING for details.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
CD: 3ms