| /* |
| * |
| * Copyright 2012 Samsung Electronics S.LSI Co. LTD |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /*! |
| * \file exynos_rotator.h |
| * \brief header file for exynos_rotator HAL |
| * \author Sunmi Lee (carrotsm.lee@samsung.com) |
| * \date 2012/03/05 |
| * |
| * <b>Revision History: </b> |
| * - 2012/03/05 : Sunmi Lee (carrotsm.lee@samsung.com) \n |
| * Create |
| * |
| */ |
| |
| /*! |
| * \defgroup exynos_rotator |
| * \brief API for rotator |
| * \addtogroup Exynos |
| */ |
| |
| #ifndef _EXYNOS_ROTATOR_H_ |
| #define _EXYNOS_ROTATOR_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /*! |
| * Create librotator handle |
| * |
| * \ingroup exynos_rotator |
| * |
| * \return |
| * librotator handle |
| */ |
| void *exynos_rotator_create(void); |
| |
| /*! |
| * Destroy librotator handle |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| */ |
| void exynos_rotator_destroy( |
| void *handle); |
| |
| /*! |
| * Set source format. |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| * |
| * \param width |
| * image width[in] |
| * |
| * \param height |
| * image height[in] |
| * |
| * \param crop_left |
| * image left crop size[in] |
| * |
| * \param crop_top |
| * image top crop size[in] |
| * |
| * \param crop_width |
| * cropped image width[in] |
| * |
| * \param crop_height |
| * cropped image height[in] |
| * |
| * \param v4l2_colorformat |
| * color format[in] |
| * |
| * \param cacheable |
| * ccacheable[in] |
| * |
| * \return |
| * error code |
| */ |
| int exynos_rotator_set_src_format( |
| void *handle, |
| unsigned int width, |
| unsigned int height, |
| unsigned int crop_left, |
| unsigned int crop_top, |
| unsigned int crop_width, |
| unsigned int crop_height, |
| unsigned int v4l2_colorformat, |
| unsigned int cacheable); |
| |
| /*! |
| * Set destination format. |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| * |
| * \param width |
| * image width[in] |
| * |
| * \param height |
| * image height[in] |
| * |
| * \param crop_left |
| * image left crop size[in] |
| * |
| * \param crop_top |
| * image top crop size[in] |
| * |
| * \param v4l2_colorformat |
| * color format[in] |
| * |
| * \param cacheable |
| * ccacheable[in] |
| * |
| * \return |
| * error code |
| */ |
| int exynos_rotator_set_dst_format( |
| void *handle, |
| unsigned int width, |
| unsigned int height, |
| unsigned int crop_left, |
| unsigned int crop_top, |
| unsigned int v4l2_colorformat, |
| unsigned int cacheable); |
| |
| /*! |
| * Set rotation. |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| * |
| * \param rotation |
| * image rotation. It should be multiple of 90[in] |
| * |
| * \return |
| * error code |
| */ |
| int exynos_rotator_set_rotation( |
| void *handle, |
| int rotation); |
| |
| /*! |
| * Set source buffer |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| * |
| * \param addr |
| * buffer pointer array[in] |
| * |
| * \return |
| * error code |
| */ |
| int exynos_rotator_set_src_addr( |
| void *handle, |
| void *addr[3]); |
| |
| /*! |
| * Set destination buffer |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| * |
| * \param addr |
| * buffer pointer array[in] |
| * |
| * \return |
| * error code |
| */ |
| int exynos_rotator_set_dst_addr( |
| void *handle, |
| void *addr[3]); |
| |
| /*! |
| * Convert color space with presetup color format |
| * |
| * \ingroup exynos_rotator |
| * |
| * \param handle |
| * librotator handle[in] |
| * |
| * \return |
| * error code |
| */ |
| int exynos_rotator_convert( |
| void *handle); |
| |
| /*! |
| * api for local path rotator. Not yet support. |
| * |
| * \ingroup exynos_rotator |
| */ |
| int exynos_rotator_connect( |
| void *handle, |
| void *hw); |
| |
| /*! |
| * api for local path rotator. Not yet support. |
| * |
| * \ingroup exynos_rotator |
| */ |
| int exynos_rotator_disconnect( |
| void *handle, |
| void *hw); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /*EXYNOS_ROTATORALER_H_*/ |