📄 zpav8tools.h
字号:
/*
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2006-2008 Beijing, pengzhen (pengzhenxp@yahoo.com.cn) //
// //
///////////////////////////////////////////////////////////////////////////////
*/
#ifndef __ZPAV8_TOOLS_H__
#define __ZPAV8_TOOLS_H__
#include "zpav8id.h"
#include "zpav8tools1.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef WIN32
#define zpav_tools_api
#endif /* !WIN32 */
#ifdef WIN32
#ifdef zpav_tools_exports
#define zpav_tools_api __declspec(dllexport)
#else
#define zpav_tools_api __declspec(dllimport)
#endif
#endif /* WIN32 */
/**
* pack // YUV(4:2:0) --> RGB
*/
typedef void (* pack_yuv420_function )( void* lpYUV420P_Y, int stride_y,
void* lpYUV420P_U,
void* lpYUV420P_V, int stride_uv,
void* lpBMP, int bmp_width, int bmp_height, int bmp_stride );
zpav_tools_api pack_yuv420_function dvp_pack_yuv420( int ) ; /* YUV(4:2:0) --> RGB */
/**
* unpack // RGB --> YUV(4:2:0)
*/
typedef void (* unpack_yuv420_function )( void* lpBMP,
void* lpYUV420P_Y,
void* lpYUV420P_U,
void* lpYUV420P_V, int width, int height ) ;
zpav_tools_api unpack_yuv420_function dvp_unpack_yuv420( int ) ; /* RGB --> YUV(4:2:0) */
/**
* pack // YUYV(4:2:2 packed ) --> RGB
* pack // UYVY(4:2:2 packed ) --> RGB
*/
typedef void (* pack_yuv422_function )( void* lpYUV, int yuv_stride,
void* lpRGB, int width, int height ) ;
zpav_tools_api pack_yuv422_function dvp_pack_yuyv( int ) ; /* YUYV(4:2:2 packed ) --> RGB */
zpav_tools_api pack_yuv422_function dvp_pack_uyvy( int ) ; /* UYVY(4:2:2 packed ) --> RGB */
/**
* memory operate
*/
typedef void (* fast_memcpy_function )( void *dst, void *src, int length ) ;
typedef void (* fast_memcpy1_function )( void *dst, int dst_stride,
void *src, int src_stride, int width, int height ) ;
typedef void (* fast_mem_or_function )( void *dst, int dst_stride,
void *src, int src_stride, int width, int height ) ;
zpav_tools_api fast_memcpy_function get_fast_memcpy() ;
zpav_tools_api fast_memcpy1_function get_fast_memcpy1() ;
zpav_tools_api fast_mem_or_function get_fast_mem_or() ;
/**
* Deinterlacing Filters
*/
#define LINEAR_IPOL_DEINT_FILTER 0
#define CUBIC_IPOL_DEINT_FILTER 1
#define LINEAR_BLEND_DEINT_FILTER 2
//#define CUBIC_BLEND_DEINT_FILTER 3 // (not implemented yet)
#define MEDIAN_DEINT_FILTER 4
#define FFMPEG_DEINT_FILTER 5
#define LOWPASS5_DEINT_FILTER 6
typedef void (* dvp_de_interlace_function )( void *dst, int dst_stride,
void *src, int src_stride, int width, int height );
zpav_tools_api dvp_de_interlace_function dvp_de_interlace( int ) ; /* DeInterlace */
#ifdef __cplusplus
}
#endif
#endif /* __ZPAV8_TOOLS_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -