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

📄 decoder.h

📁 基于Linux的ffmepg decoder
💻 H
字号:
#ifndef _DECODER_H_#define _DECODER_H_//#include "xvid.h"#include "portab.h"#include "mp4vdec.h"#include "global.h"#include "image/image_d.h"#undef API_VERSION //ivan for both using decoder and encoder header files#define API_VERSION ((2 << 16) | (2))/***************************************************************************** * Structures ****************************************************************************/typedef struct{	// ben 2005/3/26	uint32_t u32CacheAlign;	DMA_MALLOC_PTR pfnDmaMalloc;	DMA_FREE_PTR pfnDmaFree;	void * pvSemaphore;	SEM_WAIT_PTR pfnSemWait;	SEM_SIGNAL_PTR pfnSemSignal;	REQUEST_BS_PTR pfnRequestBS;	uint32_t u32MaxWidth;	uint32_t u32MaxHeight;	// ben 2004/10/22	uint32_t u32BS_used_byte;	uint32_t * pu32BaseAddr;	// ben 2004/10/21	uint8_t *pu8BS_start_virt;	uint8_t *pu8BS_start_phy;	uint8_t *pu8BS_ptr_virt;	uint8_t *pu8BS_ptr_phy;	uint32_t u32BS_buf_sz;	uint32_t u32BS_buf_sz_remain;	boolean bBS_end_of_data;	// ben 2004/6	uint8_t * output_base_phy;	uint8_t * output_base_ref_phy;	uint32_t output_stride;	uint32_t output_height;	#if (OUTPUT_FMT == OUTPUT_FMT_YUV)		// ben 2005/5		uint8_t * output_base_u_phy;		uint8_t * output_base_v_phy;	#endif	// ben 2004/6/14	int16_t *pu16ACDC_ptr_virt;	int16_t *pu16ACDC_ptr_phy;	// bitstream	uint32_t shape;	uint32_t time_inc_bits;	uint32_t quant_bits;	uint32_t quant_type;	uint32_t quarterpel;	uint32_t resync_marker_disable;	uint32_t data_partitioned;	uint32_t reversible_vlc;	uint32_t interlacing;	uint32_t top_field_first;	uint32_t alternate_vertical_scan;	//	h263		rogers      11/05/2003	uint32_t h263;	uint32_t split_screen_indicator;	uint32_t document_camera_indicator;	uint32_t full_picture_freeze_release;	uint32_t picture_coding_type;	uint32_t source_format;	// image	uint32_t width;	uint32_t height;#if 0	uint32_t edged_width;	uint32_t edged_height;#endif	IMAGE cur;	IMAGE refn;	IMAGE refh;	IMAGE refv;	IMAGE refhv;	// macroblock	uint32_t mb_width;	uint32_t mb_height;	MACROBLOCK *mbs;	// for B-frame	int32_t frames;				// total frame number	int8_t scalability;	int64_t time;				// for record time	int64_t time_base;	int64_t last_time_base;	int64_t last_non_b_time;	uint32_t time_pp;	uint32_t time_bp;	uint8_t low_delay;			// low_delay flage (1 means no B_VOP)}DECODER;/***************************************************************************** * Decoder prototypes ****************************************************************************/// ben-mark-04'10/21: void init_decoder(uint32_t cpu_flags);int32_t decoder_create(FMP4_DEC_PARAM * ptParam, void ** pptDecHandle);void decoder_destroy(void * ptDecHandle);int32_t decoder_decode(void * ptDecHandle, FMP4_DEC_RESULT * ptResult);#endif

⌨️ 快捷键说明

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