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

📄 videorendereroverlay0.cpp

📁 ZPAV (H265) PC(X86) demo ZPAV (H265) 是 音视频 压缩解压 协议
💻 CPP
字号:

/*
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Copyright (C) 2006-2008  Beijing,  pengzhen (pengzhenxp@yahoo.com.cn)   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
*/

#include <math.h>

#define m_vidWidth0     352
#define m_vidHeight0    288 
 

int MediaVideoRendererOverlay::m_iTotalCard =1;
int MediaVideoRendererOverlay::m_iCardNo_CX =1;
int MediaVideoRendererOverlay::m_iCardNo_CY =1;


void MediaVideoRendererOverlay::get_card_size( int iTotalCard ) 
{
    
	int iCardNo_CX ;
	int iCardNo_CY ;

	iCardNo_CX = (int)(sqrt( (double)iTotalCard ) ) ;

	if(iCardNo_CX ==0) iCardNo_CX =1 ; 	    
	if(iCardNo_CX*iCardNo_CX !=iTotalCard) {iCardNo_CX++;}	  
	
	iCardNo_CY =( iTotalCard )/iCardNo_CX ;	
    
	if(iCardNo_CY ==0) iCardNo_CY =1 ;	    
	if(iCardNo_CY*iCardNo_CX < iTotalCard) {iCardNo_CY++;}	
	   
	m_iCardNo_CX = iCardNo_CX ;
	m_iCardNo_CY = iCardNo_CY ;

	if( m_iCardNo_CX <= 0 ) m_iCardNo_CX = 1; 
	if( m_iCardNo_CY <= 0 ) m_iCardNo_CY = 1;


    m_vidWidth1   = (m_vidWidth*2) ; 
    m_vidWidth2   = (m_vidWidth1*m_iCardNo_CX) ;

}


int MediaVideoRendererOverlay::get_cur_card_phy_adr_wid(  ) 
{
	return ( m_pitch ) ;
	//return (m_iCardNo_CX * m_vidWidth1 )  ;
}


int MediaVideoRendererOverlay::get_cur_card_adr_off( int iCurrentCard ) 
{

	int cy , cx  ;

	cy = iCurrentCard / m_iCardNo_CX ; 
	cx = iCurrentCard - cy*m_iCardNo_CX ;

#define m_vidWidth3  (m_vidWidth1)
//#define m_vidWidth4  ( m_iCardNo_CX * m_vidWidth3 )
#define m_vidWidth4  ( m_pitch )

	return m_bIsOverlayRGBFlag ? 0 : m_vidWidth4 * ( m_vidHeight * cy ) + ( m_vidWidth3 * cx ) ;

}


int MediaVideoRendererOverlay::get_cur_card_phy_adr( int iCurrentCard ) 
{
	return ( (int)(m_pSurfacePhyAddress) + get_cur_card_adr_off( iCurrentCard )  );

}


int MediaVideoRendererOverlay::get_cur_card_adr( int iCurrentCard ) 
{

	return ( (int)(m_pSurfaceAddress) + get_cur_card_adr_off( iCurrentCard )  );

}


void MediaVideoRendererOverlay::Get_Video_CaptureSize()
{

	/*

	int nvidWidth =0 ,  nvidHeight =0 ;

	GetRegDwordValue( (DWORD*)&nvidWidth, REG_DEVICE_SECTION , TEXT("Capture_Wid") ) ;
	GetRegDwordValue( (DWORD*)&nvidHeight, REG_DEVICE_SECTION , TEXT("Capture_Hei") ) ;

	if( nvidWidth  == 0)  nvidWidth  = m_vidWidth0 ;
	if( nvidHeight == 0)  nvidHeight = m_vidHeight0 ;

	SetRegDwordValue( nvidWidth, REG_DEVICE_SECTION , TEXT("Capture_Wid") ) ;
	SetRegDwordValue( nvidHeight, REG_DEVICE_SECTION , TEXT("Capture_Hei") ) ;

	m_vidWidth  = nvidWidth ;
	m_vidHeight = nvidHeight ;
*/

}




⌨️ 快捷键说明

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