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

📄 mae_fe_mcomp.h

📁 au1200 linux2.6.11 硬件解码mae驱动和maiplayer播放器源码
💻 H
字号:
/* <LIC_AMD_STD> * Copyright (C) 2003-2005 Advanced Micro Devices, Inc.  All Rights Reserved. *  * Unless otherwise designated in writing, this software and any related  * documentation are the confidential proprietary information of AMD.  * THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY * UNLESS OTHERWISE NOTED IN WRITING, EXPRESS OR IMPLIED WARRANTY OF ANY  * KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,  * NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR PURPOSE AND IN NO  * EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER.  *  * AMD does not assume any responsibility for any errors which may appear  * in the Materials nor any responsibility to support or update the * Materials.  AMD retains the right to modify the Materials at any time,  * without notice, and is not obligated to provide such modified  * Materials to you. AMD is not obligated to furnish, support, or make * any further information available to you. * </LIC_AMD_STD>  *//* <CTL_AMD_STD> * </CTL_AMD_STD>  *//* <DOC_AMD_STD> * </DOC_AMD_STD>  */#ifndef	_MAE_FE_MCOMP_H_#define	_MAE_FE_MCOMP_H_#include "mae_fe.h"#ifndef HAVE_MAE  #include "mae_pass_thru.h"#endif#include "mae_global.h"// Various macros#if MAE_DEBUG == 1#define MAE_ASSERT_MSG(a)	printf(a)#else#define MAE_ASSERT_MSG(a)	printf(a)#endif#if MAE_DEBUG_RC == 1#define MAE_CHECK_RANGE_ERR(a,b,c)	((a >= b) && (a <= c)) ? 0 : 1#define MAE_CHECK_4MV_EQUAL(a,b,c,d)	(a==b) ? 1 : 0#else#define MAE_CHECK_RANGE_ERR(a,b,c)	(0)#define MAE_CHECK_4MV_EQUAL(a,b,c,d)	(1)#endif// Defines for MAEContext. All represent field values except MAE_CBP_xxx which are bit field positions// BC#define MAE_BC_420	0#define MAE_BC_422	1// MCPREC#define MAE_FULL_PEL	0#define MAE_HALF_PEL_MULTITAP	1#define MAE_HALF_PEL_BILINEAR	2	#define MAE_QUARTER_PEL	3	// MIS#define MAE_MISMATCH_OFF	0#define MAE_MISMATCH_ON		1// Upper 3 bits of MBTYP        #define MAE_MC_MODE_INTRA	0#define MAE_MC_MODE_FWD		1#define MAE_MC_MODE_BWD		2#define MAE_MC_MODE_BIDIR	3// Lower 3 bits of MBTYP#define MAE_MC_BLKTYPE_16X16	0#define MAE_MC_BLKTYPE_16X8	2#define MAE_MC_BLKTYPE_8X8	3// CBP - bitfield locations       #define MAE_CBP_CR1_CODED	0#define MAE_CBP_CB1_CODED	1#define MAE_CBP_CR0_CODED	2#define MAE_CBP_CB0_CODED	3#define MAE_CBP_Y3_CODED	4#define MAE_CBP_Y2_CODED	5#define MAE_CBP_Y1_CODED	6#define MAE_CBP_Y0_CODED	7// BBLK#define MAE_BIG_BLOCK_OFF	0#define MAE_BIG_BLOCK_ON	1// WTCHGMSK - bitfield locations#define MAE_WTCHG_INTRAY	0#define MAE_WTCHG_INTRAC	1#define MAE_WTCHG_INTERY	2#define MAE_WTCHG_INTERC	3// TOPFF#define MAE_TOP_FIELD_FIRST	0#define MAE_BOT_FIELD_FIRST	1// DCTTYPE#define MAE_DCT_TYPE_FRAME	0#define MAE_DCT_TYPE_FIELD	1// FPRED#define MAE_FRAME_PREDICTION	0#define MAE_FIELD_PREDICTION	1// FTFR#define MAE_FWD_TOP_TOP_FIELD_REF	0#define MAE_FWD_TOP_BOT_FIELD_REF	1// FBFR	#define MAE_FWD_BOT_TOP_FIELD_REF	0#define MAE_FWD_BOT_BOT_FIELD_REF	1// BTFR#define MAE_BWD_TOP_TOP_FIELD_REF	0#define MAE_BWD_TOP_BOT_FIELD_REF	1// BBFR	#define MAE_BWD_BOT_TOP_FIELD_REF	0#define MAE_BWD_BOT_BOT_FIELD_REF	1typedef struct MAEContext {// MAE Configuration Register        int	bc;        int	iqmul1;        int	iqadd1;        int	mcprec;        int	mcprecuv;        int	mis;        int	linesz;        int	height;		// kck not in header doc at the moment!!        int codstyl;        int icomp;        int lumscale;        int lumshift;        // MAE Header Word 0        int	mbmode;        int	mbtype;        int	cbp;        int	bblk;        int	wtchgmsk;        int	dcluma;        int	dcchroma;        // MAE Header Word 1        int	rndctl;        int	ps;        int	dctt;        int	fp;        int	ft;        int	fb;        int	bt;        int	bb;        int	iqmul2;        int	iqadd2;        int	iqdiv3;        // MAE Header Word 2        int	xpos;        int	ypos;        // MAE Motion Vectors        int	mv0_x;        int	mv0_y;        int	mv1_x;        int	mv1_y;        int	mv2_x;        int	mv2_y;        int	mv3_x;        int	mv3_y;        int	mv4_x;        int	mv4_y;        int	mv5_x;        int	mv5_y;        int	mv6_x;        int	mv6_y;        int	mv7_x;        int	mv7_y;        int	mv8_x;        int	mv8_y;        int	mv9_x;        int	mv9_y;        int	mv10_x;        int	mv10_y;        int	mv11_x;        int	mv11_y;		// Prasad - added changes- agreed by EricS		// call Prasad before commenting out or removing (12 lines)		// MAE top field reference pointers		uint32 fwd_y_top_ptr;        // 32-bits		uint32 fwd_cb_top_ptr;       // 32-bits		uint32 fwd_cr_top_ptr;       // 32-bits		uint32 bwd_y_top_ptr;        // 32-bits		uint32 bwd_cb_top_ptr;       // 32-bits		uint32 bwd_cr_top_ptr;       // 32-bits		// MAE bottom field reference pointers		uint32 fwd_y_bot_ptr;        // 32-bits		uint32 fwd_cb_bot_ptr;       // 32-bits		uint32 fwd_cr_bot_ptr;       // 32-bits		uint32 bwd_y_bot_ptr;        // 32-bits		uint32 bwd_cb_bot_ptr;       // 32-bits		uint32 bwd_cr_bot_ptr;       // 32-bits} MAEContext;// Prototypes void MAE_MPV_motion(MAEContext *s);void MAE_motion_16x16(MAEContext *s);void MAE_motion_16x8(MAEContext *s);void MAE_motion_8x8(MAEContext *s);void MAE_Get_4MV(MAEContext *s, int *mvx, int *mvy);void MAE_Get_8MV(MAEContext *s, int *mvx, int *mvy);//__inline int mae_clip(int a, int amin, int amax);void MAE_rtl2mae(MAEContext *s, mae_fe_config *cfg, mae_fe_mb *mb);void MAE_wr_Xs_buf(uint8 * src, int stride, int bwd, int w, int h, uint32 bn, uint32 mc_mode, uint32 mc_type);void MAE_create_out_of_frame(uint8 * dst, uint8 * src, int width, int height, int inner, int outer, int codstyle, int32 * lut, int fp);void MAE_remove_out_of_frame(uint8 * dst, uint8 * src, int width, int height, int inner, int outer);uint64 MAE_create_oof_mask(char * component, int32 xpos, int32 ypos, int32 w, int32 h, int32 ring_size_x, int32 ring_size_y, int32 mb_width, int32 mb_height, int32 codstyl);void MAE_wmv9_vh_4t (uint8 * dst, uint8 * src, int dstStride, int srcStride, int w, int h, int avg, int rnd,                     int dxy, uint64 oof, int bn, int bwd, uint32 mc_mode, uint32 mc_type, uint32 mc_prec);void MAE_mpeg_hv_4t (uint8 * dst, uint8 * src, int dstStride, int srcStride, int blkSizeX, int blkSizeY, int avg, int iRoundingControl,                      int dxy, uint64 oof, int bn, int bwd, uint32 mc_mode, uint32 mc_type, uint32 mc_prec);void MAE_get_mcomp_fcov_strings(MAEContext *s);#endif

⌨️ 快捷键说明

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