⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opl.h

📁 LINUX下的ov2640驱动程序
💻 H
字号:
/* * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. *//* * The code contained herein is licensed under the GNU General Public * License. You may obtain a copy of the GNU General Public License * Version 2 or later at the following locations: * * http://www.opensource.org/licenses/gpl-license.html * http://www.gnu.org/copyleft/gpl.html *//*! * @defgroup OPLIP OPL Image Processing *//*! * @file opl.h * * @brief The OPL (Open Primitives Library) Image Processing library defines * efficient functions for rotation and mirroring. * * It includes ARM9-optimized rotation and mirroring functions. It is derived * from the original OPL project which is found at sourceforge.freescale.net. * * @ingroup OPLIP */#ifndef __OPL_H__#define __OPL_H__#include <linux/types.h>#define BYTES_PER_PIXEL			2#define CACHE_LINE_WORDS		8#define BYTES_PER_WORD			4#define BYTES_PER_2PIXEL		(BYTES_PER_PIXEL * 2)#define BYTES_PER_4PIXEL		(BYTES_PER_PIXEL * 4)#define BYTES_PER_8PIXEL		(BYTES_PER_PIXEL * 8)#define QCIF_Y_WIDTH			176#define QCIF_Y_HEIGHT			144/*! Enumerations of opl error code */enum opl_error {	OPLERR_SUCCESS = 0,	OPLERR_NULL_PTR,	OPLERR_BAD_ARG,	OPLERR_DIV_BY_ZERO,	OPLERR_OVER_FLOW,	OPLERR_UNDER_FLOW,	OPLERR_MISALIGNED,};/*! * @brief Rotate a 16bbp buffer 90 degrees clockwise. * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_rotate90_u16(const u8 * src, int src_line_stride, int width, int height,		     u8 * dst, int dst_line_stride);/*! * @brief Rotate a 16bbp buffer 180 degrees clockwise. * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_rotate180_u16(const u8 * src, int src_line_stride, int width,		      int height, u8 * dst, int dst_line_stride);/*! * @brief Rotate a 16bbp buffer 270 degrees clockwise * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_rotate270_u16(const u8 * src, int src_line_stride, int width,		      int height, u8 * dst, int dst_line_stride);/*! * @brief Mirror a 16bpp buffer horizontally * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_hmirror_u16(const u8 * src, int src_line_stride, int width, int height,		    u8 * dst, int dst_line_stride);/*! * @brief Mirror a 16bpp buffer vertically * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_vmirror_u16(const u8 * src, int src_line_stride, int width, int height,		    u8 * dst, int dst_line_stride);/*! * @brief Rotate a 16bbp buffer 90 degrees clockwise and mirror vertically *	  It is equivalent to rotate 270 degree and mirror horizontally * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_rotate90_vmirror_u16(const u8 * src, int src_line_stride, int width,			     int height, u8 * dst, int dst_line_stride);/*! * @brief Rotate a 16bbp buffer 270 degrees clockwise and mirror vertically *	  It is equivalent to rotate 90 degree and mirror horizontally * * @param src             Pointer to the input buffer * @param src_line_stride Length in bytes of a raster line of the input buffer * @param width           Width in pixels of the region in the input buffer * @param height          Height in pixels of the region in the input buffer * @param dst             Pointer to the output buffer * @param dst_line_stride Length in bytes of a raster line of the output buffer * * @return Standard OPL error code. See enumeration for possible result codes. */int opl_rotate270_vmirror_u16(const u8 * src, int src_line_stride, int width,			      int height, u8 * dst, int dst_line_stride);#endif				/* __OPL_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -