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

📄 zpav8sys.h

📁  离散余弦变换对图象信号有近似最优的去相关能力, 但多维的变换公式一直没有给出. 为此深入研究了 三维离散余弦变换, 提出了任意尺寸的三维函数f (x , y , z ) 的正交离散余弦变换公式,
💻 H
字号:
/*
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Copyright (C) 2006-2008  Beijing,  pengzhen (pengzhenxp@yahoo.com.cn)   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
*/

#ifndef __ZPAV8_SYSTEM_H__
#define __ZPAV8_SYSTEM_H__

#include "zpid.h"
#include "zpmem.h"

#ifdef __cplusplus
extern "C" {
#endif 


#ifndef WIN32
#define pzav_sys_api
#endif /* !WIN32 */

#ifdef WIN32
#ifdef pzav_sys_exports
#define pzav_sys_api __declspec(dllexport)
#else
#define pzav_sys_api __declspec(dllimport)
#endif 
#endif /* WIN32 */

/* digital video (image) context */

typedef struct _dvp_ctx
{

	/* set by system */ 
	void * m_handle ; /* handle */

	/* set by user(encode) ; */ /* set by decode */

	unsigned int codec ; /* FOURCC_ZPV0 ~~~ FOURCC_ZPV9 */
	unsigned int wavelets ; /* wavelets */ /* wavelets < 0:b97, 1:b53, 2:haar > */

	void * lpYUV420P_Y ; /* the codec picture frame */ /* Yuv420 planar */
	void * lpYUV420P_U ; 
	void * lpYUV420P_V ; 

	/* set by encode */ /* set by user(decode) */

	void * bitstream ;              /* the buffer of the codec bitstream */
	unsigned int bitstream_length ; /* the length of the codec bitstream */

	/* set by user */

	int width ; /* picture width. (must be a multiple of 16) */ /* 352 */ 
	int height ; /* picture height. (must be a multiple of 16) */ /* 288 */ 

	/* set by user */

	unsigned int frame_number ; /* frame number */ 
	unsigned int frame_rate ; /* frames/second */ /* <25,30> */ 

	unsigned int bit_rate ; /* bits/second */ /* <300*1000> */
	unsigned int bit_rate_type ; /* 0 : BRT_ABR(ABR) 1 : BRT_VBR(VBR) 2 : BRT_CBR(CBR) */
	
	unsigned int gop ; /* group of picture */ /* if gop = 0, none P (POT_P) */ /* <0,2,4,8,16....> */
	unsigned int gop_b ; /* group of picture B (POT_B) */ /* 0 : 2 (B) 1 : 4 (B) */
	unsigned int ratio ; /* ratio of background to foreground */ /* if ratio = 0, none background */
    
	unsigned int previous_process ; /* previous process */ /* <0,1,2,3,4> */
	unsigned int post_process ; /* post process */ /* <0,1,2,3,4> */

	/* set by system */ 

	unsigned int picture_type ; /* picture type */ /* 0 : P (POT_P) 1 : I (POT_I) 2 : B (POT_B) */

	/* set by user */

	unsigned int bands ; /* wavelets bands */ /* <1,2,3,4> */ 

} dvp_ctx ;

/**
* digital audio (sound) context 
*/

/* audio (sound) frame size, in samples */
#define DAP_FRAME_SIZE 1152 

typedef struct _dap_ctx 
{

	/* set by system */
	void * m_handle ; /* handle */

	/* set by user(encode) ; */ /* set by decode */

	unsigned int codec ; /* FOURCC_ZPA0 ~~~ FOURCC_ZPA9 */
	unsigned int wavelets ; /* wavelets */ /* wavelets < 0:b97, 1:b53, 2:haar > */

	void * sample ;              /* the audio data to be codec */ 
	//unsigned int sample_length ; /* the audio data length to be codec */

	/* set by encode */ /* set by user(decode) */

	void * bitstream ;              /* the buffer of the codec bitstream */
	unsigned int bitstream_length ; /* the length of the codec bitstream */

	/* set by user */
        
	unsigned int frame_number ; /* audio  frame number */

    unsigned int sample_rate ; /* 32000 44100 48000 */
    unsigned int channels ; /* 1 2 */
	unsigned int bit_rate ; /* 8 kbit/s */
 
	unsigned int previous_process ; /* previous process */ /* <0,1,2,3,4> */
	unsigned int post_process ; /* post process */ /* <0,1,2,3,4> */

} dap_ctx;


/* digital audio (sound) denoise */
pzav_sys_api int dap_denoise( dap_ctx * ); /* denoise */
/* digital video (image) denoise */
pzav_sys_api int dvp_denoise( dvp_ctx * ); /* denoise */

/* digital video (image) process */

pzav_sys_api int dvp_open( dvp_ctx * );
pzav_sys_api int dvp_close( dvp_ctx * );

/* digital video (image) process ( wavelets < 2D, 3D, 4D > ) */

pzav_sys_api int dvp_wavelets_analysis_2d( dvp_ctx * ); /* 2D */
pzav_sys_api int dvp_wavelets_synthesis_2d( dvp_ctx * );

pzav_sys_api int dvp_wavelets_analysis_3d( dvp_ctx * ); /* 3D */
pzav_sys_api int dvp_wavelets_synthesis_3d( dvp_ctx * );

pzav_sys_api int dvp_wavelets_analysis_4d( dvp_ctx * ); /* 4D */
pzav_sys_api int dvp_wavelets_synthesis_4d( dvp_ctx * );


/* digital video (image) process */

pzav_sys_api int dvp_detect_edge( dvp_ctx * );
pzav_sys_api int dvp_detect_object( dvp_ctx * );
pzav_sys_api int dvp_detect_background( dvp_ctx * );
pzav_sys_api int dvp_trace_edge( dvp_ctx * );
pzav_sys_api int dvp_trace_object( dvp_ctx * );
pzav_sys_api int dvp_trace_background( dvp_ctx * );

pzav_sys_api int dvp_enhance( dvp_ctx * );
pzav_sys_api int dvp_motion_estimate( dvp_ctx * ); 
pzav_sys_api int dvp_recognise( dvp_ctx * );

#ifdef __cplusplus
}
#endif 

#endif /* __ZPAV8_SYSTEM_H__ */

⌨️ 快捷键说明

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