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

📄 mae_wrappers.cpp

📁 au1200 linux2.6.11 硬件解码mae驱动和maiplayer播放器源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
  mae_cr_frame += (rows * BLOCK_SIZE * linesiz/2) + (cols * BLOCK_SIZE);  // Now, pick up all the luma blocks & store them in display order  // **************************************************************    mae_ptr = mae_y_frame;    dst_ptr = ref_y_frame;  for(y = 0; y < MB_SIZE; y++) {    for(x = 0; x < MB_SIZE; x++)      dst_ptr[x] = mae_ptr[x];    // Incrementing the source      (MAE) pointer    mae_ptr += linesiz;    // Incrementing the destination (REF) pointer    dst_ptr += nWidthLuma;  }  for(chroma = 0; chroma < 2; chroma++) {      mae_ptr = chroma ? mae_cr_frame : mae_cb_frame;    dst_ptr = chroma ? ref_cr_frame : ref_cb_frame;    // Store the Chroma block in display order from a contiguous array    for (y = 0; y < BLOCK_SIZE; y++) {      for (x = 0; x < BLOCK_SIZE; x++)        dst_ptr[x] = mae_ptr[x];         // Incrementing the source      (MAE) pointer      mae_ptr += linesiz/2;      // Incrementing the destination (REF) pointer      dst_ptr += nWidthChroma;    }  }  return;}voidC_MAEWrapper::MAEConfigInit (void){	this->MAEConfigReset();	#if defined (WIN32) && defined (_DEBUG)		m_pMAEConfigLogFile = ::fopen ("MAEConfig_Log.txt", "wt");	#endif	return;}voidC_MAEWrapper::MAEConfigTerminate (void){	#if defined (WIN32) && defined (_DEBUG)		if (m_pMAEConfigLogFile != NULL)		{			::fclose (m_pMAEConfigLogFile);			m_pMAEConfigLogFile = NULL;		}	#endif	return;}voidC_MAEWrapper::MAEConfigReset (void){	m_bMAEConfig_bc_Valid = FALSE;	gMAEConfig.bc = 0;	m_bMAEConfig_iqmul1_Valid = FALSE;	gMAEConfig.iqmul1 = 0;	m_bMAEConfig_mcprec_Valid = FALSE;	gMAEConfig.mcprec = 3;	//	Not a valid value for motion_compensation_precision (per mae_fe.h)	m_bMAEConfig_xfrmtyp_Valid = FALSE;	gMAEConfig.xfrmtyp = 0;	m_bMAEConfig_mis_Valid = FALSE;	gMAEConfig.mis = 0;	m_bMAEConfig_mcprecuv_Valid = FALSE;	gMAEConfig.mcprecuv = 0;	m_bMAEConfig_loopfilt_Valid = FALSE;	gMAEConfig.mcprecuv = 0;	m_bMAEConfig_smooth_Valid = FALSE;	gMAEConfig.smooth = 0;	m_bMAEConfig_satiq_Valid = FALSE;	gMAEConfig.satiq = 0;	m_bMAEConfig_cur_y_frame_ptr_Valid = FALSE;	gMAEConfig.cur_y_frame_ptr = 0;	m_bMAEConfig_fwd_y_top_ptr_Valid = FALSE;	gMAEConfig.fwd_y_top_ptr = 0;	m_bMAEConfig_bwd_y_top_ptr_Valid = FALSE;	gMAEConfig.bwd_y_top_ptr = 0;	m_bMAEConfig_cur_cb_frame_ptr_Valid = FALSE;	gMAEConfig.cur_cb_frame_ptr = 0;	m_bMAEConfig_fwd_cb_top_ptr_Valid = FALSE;	gMAEConfig.fwd_cb_top_ptr = 0;	m_bMAEConfig_bwd_cb_top_ptr_Valid = FALSE;	gMAEConfig.bwd_cb_top_ptr = 0;	m_bMAEConfig_cur_cr_frame_ptr_Valid = FALSE;	gMAEConfig.cur_cr_frame_ptr = 0;	m_bMAEConfig_fwd_cr_top_ptr_Valid = FALSE;	gMAEConfig.fwd_cr_top_ptr = 0;	m_bMAEConfig_bwd_cr_top_ptr_Valid = FALSE;	gMAEConfig.bwd_cr_top_ptr = 0;	m_bMAEConfig_height_Valid = FALSE;	gMAEConfig.height = 0;	m_bMAEConfig_linesiz_Valid = FALSE;	gMAEConfig.linesiz = 0;	m_bMAEConfig_icomp_Valid = FALSE;	gMAEConfig.icomp = 0;	m_bMAEConfig_lumshift_Valid = FALSE;	gMAEConfig.lumshift = 0;	m_bMAEConfig_lumscale_Valid = FALSE;	gMAEConfig.lumscale = 0;	m_bMAEConfig_fwd_y_bot_ptr_Valid = FALSE;	gMAEConfig.fwd_y_bot_ptr = 0;	m_bMAEConfig_bwd_y_bot_ptr_Valid = FALSE;	gMAEConfig.bwd_y_bot_ptr = 0;	m_bMAEConfig_fwd_cb_bot_ptr_Valid = FALSE;	gMAEConfig.fwd_cb_bot_ptr = 0;	m_bMAEConfig_bwd_cb_bot_ptr_Valid = FALSE;	gMAEConfig.bwd_cb_bot_ptr = 0;	m_bMAEConfig_fwd_cr_bot_ptr_Valid = FALSE;	gMAEConfig.fwd_cr_bot_ptr = 0;	m_bMAEConfig_bwd_cr_bot_ptr_Valid = FALSE;	gMAEConfig.bwd_cr_bot_ptr = 0;	m_bMAEConfig_codstyl_Valid = FALSE;	gMAEConfig.codstyl = 0;	m_bMAEConfig_pquant_Valid = FALSE;	gMAEConfig.pquant = 0;	m_bMAEConfig_nFrameType_Valid = FALSE;	gMAEConfig.nFrameType = 0;	m_bMAEConfig_nFrameNum_Valid = FALSE;	gMAEConfig.nFrameNum = 0;	m_bMAEConfig_nMB_Valid = FALSE;	gMAEConfig.nMB = 0;	m_bMAEConfig_nRefType_Valid = FALSE;	gMAEConfig.nRefType = 0;	m_bMAEConfig_nWidthLuma_Valid = FALSE;	gMAEConfig.nWidthLuma = 0;	m_bMAEConfig_nWidthChroma_Valid = FALSE;	gMAEConfig.nWidthChroma = 0;	m_bMAEConfig_nFrameWidthY_Valid = FALSE;	gMAEConfig.nFrameWidthY = 0;	m_bMAEConfig_uv_height_Valid = FALSE;	gMAEConfig.uv_height = 0;	m_bMAEConfig_uv_linesiz_Valid = FALSE;	gMAEConfig.uv_linesiz = 0;	m_bMAEConfig_bUsingFieldMVs_Valid = FALSE;	gMAEConfig.bUsingFieldMVs = 0;	m_bMAEConfig_bFieldDCT_Valid = FALSE;	gMAEConfig.bFieldDCT = 0;	m_bMAEConfig_bPureIntra_Valid = FALSE;	gMAEConfig.bPureIntra = 0;	m_bMAEConfig_bTrueInterP_Valid = FALSE;	gMAEConfig.bTrueInterP = 0;	m_bMAEConfig_xCurYMBRef_Valid = FALSE;	gMAEConfig.xCurYMBRef = NULL;	m_bMAEConfig_xCurCbMBRef_Valid = FALSE;	gMAEConfig.xCurCbMBRef = NULL;	m_bMAEConfig_xCurCrMBRef_Valid = FALSE;	gMAEConfig.xCurCrMBRef = NULL;	return;}voidC_MAEWrapper::Set_MAEReg_bc (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	pMAERegs->config0.bc = inValue;	m_bMAEConfig_bc_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("bc", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_bc (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_bc_Valid)		return (pMAERegs->config0.bc);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("bc", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_iqmul1 (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	pMAERegs->config0.iqmul1 = inValue;	m_bMAEConfig_iqmul1_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("iqmul1", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_iqmul1 (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_iqmul1_Valid)		return (pMAERegs->config0.iqmul1);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("iqmul1", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEConfig_mcprec (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	if ((inValue == FULL_PEL) ||		(inValue == HALF_PEL) ||		(inValue == QUARTER_PEL))	{	gMAEConfig.mcprec = inValue;	m_bMAEConfig_mcprec_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("mcprec", inValue, inCaller, inLineNum, inFileName);	}	else	//	Bad parameter		this->LogMAEConfigBadArgToFile ("mcprec", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEConfig_mcprec (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_mcprec_Valid)		return (gMAEConfig.mcprec);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("mcprec", inCaller, inLineNum, inFileName);	return (gMAEConfig.mcprec);}voidC_MAEWrapper::Set_MAEConfig_xfrmtyp (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	gMAEConfig.xfrmtyp = inValue;	m_bMAEConfig_xfrmtyp_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("xfrmtyp", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEConfig_xfrmtyp (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_xfrmtyp_Valid)		return (gMAEConfig.xfrmtyp);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("xfrmtyp", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_mis (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	pMAERegs->config0.mis = inValue;	m_bMAEConfig_mis_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("mis", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_mis (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_mis_Valid)		return (pMAERegs->config0.mis);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("mis", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEConfig_mcprecuv (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	gMAEConfig.mcprecuv = inValue;	m_bMAEConfig_mcprecuv_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("mcprecuv", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEConfig_mcprecuv (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_mcprecuv_Valid)		return (gMAEConfig.mcprecuv);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("mcprecuv", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_loopfilt (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	gMAEConfig.loopfilt = inValue;	m_bMAEConfig_loopfilt_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("loopfilt", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_loopfilt (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_loopfilt_Valid)		return (gMAEConfig.loopfilt);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("loopfilt", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_smooth (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	pMAERegs->config0.smooth = inValue;	m_bMAEConfig_smooth_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("smooth", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_smooth (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_smooth_Valid)		return (pMAERegs->config0.smooth);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("smooth", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_satiq (uint32 inValue, char * inCaller,	int inLineNum, char * inFileName){	pMAERegs->config0.satiq = inValue;	m_bMAEConfig_satiq_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("satiq", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_satiq (char * inCaller, int inLineNum,	char * inFileName){	if (m_bMAEConfig_satiq_Valid)		return (pMAERegs->config0.satiq);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("satiq", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEConfig_cur_y_frame_ptr (uint32 inValue,	char * inCaller, int inLineNum, char * inFileName){	gMAEConfig.cur_y_frame_ptr = inValue;	pMAERegs->cur_y_frame_ptr = inValue;	m_bMAEConfig_cur_y_frame_ptr_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("cur_y_frame_ptr", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEConfig_cur_y_frame_ptr (char * inCaller,	int inLineNum, char * inFileName){	if (m_bMAEConfig_cur_y_frame_ptr_Valid)		return (gMAEConfig.cur_y_frame_ptr);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("cur_y_frame_ptr", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_fwd_y_top_ptr (uint32 inValue,	char * inCaller, int inLineNum, char * inFileName){	pMAERegs->fwd_y_top_ptr = inValue;	m_bMAEConfig_fwd_y_top_ptr_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("fwd_top_y_ptr", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_fwd_y_top_ptr (char * inCaller,	int inLineNum, char * inFileName){	if (m_bMAEConfig_fwd_y_top_ptr_Valid)		return (pMAERegs->fwd_y_top_ptr);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigReadErrorToFile ("fwd_y_top_ptr", inCaller, inLineNum, inFileName);	return (0);}voidC_MAEWrapper::Set_MAEReg_bwd_y_top_ptr (uint32 inValue,	char * inCaller, int inLineNum, char * inFileName){	pMAERegs->bwd_y_top_ptr = inValue;	m_bMAEConfig_bwd_y_top_ptr_Valid = TRUE;	if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)		this->LogMAEConfigSetToFile ("bwd_y_top_ptr", inValue, inCaller, inLineNum, inFileName);	return;}uint32C_MAEWrapper::Get_MAEReg_bwd_y_top_ptr (char * inCaller,	int inLineNum, char * inFileName){	if (m_bMAEConfig_bwd_y_top_ptr_Valid)		return (pMAERegs->bwd_y_top_ptr);	else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)

⌨️ 快捷键说明

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