📄 tskvideoenc1.c
字号:
/*
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2006-2008 Beijing, pengzhen (pengzhenxp@yahoo.com.cn) //
// //
///////////////////////////////////////////////////////////////////////////////
*/
void tskVideoEnc()
{
LCK_Handle m_hViOutMutex = LCK_create( NULL ) ; /* Mutex */
while(1)
{
/* acquire Semaphore */
SemPend( m_hViOutSem , SYS_FOREVER ) ;
/* acquire Mutex */
LCK_pend( m_hViOutMutex, SYS_FOREVER ) ;
/*release Semaphore*/
if( ! m_Yuv420_Cnt ) SemPost( m_hViInSem ) ; /* Vi */
/* Yuv420 */
m_dvp_ctx.i420_y = m_Yuv420_Out->m_pBuf_y ;
m_dvp_ctx.i420_u = m_Yuv420_Out->m_pBuf_u ;
m_dvp_ctx.i420_v = m_Yuv420_Out->m_pBuf_v ;
//m_dvp_ctx.stream = m_video_streams->m_pBuf ;
m_dvp_ctx.stream = dnp_get_packet_buffer( m_video_streams->m_pBuf ) ;
/* get next buffer */
m_Yuv420_Out = m_Yuv420_Out->m_pNext ; m_Yuv420_Cnt ++ ;
/* video encode */
dvp_encode_frame( &m_dvp_ctx ) ; //m_dvp_ctx.frame_number ++ ; ///////////////////
/* bitstream */
m_video_streams->m_iSize = m_dvp_ctx.stream_length ;
m_video_streams = m_video_streams->m_pNext ;
*(m_dnp_ctx_tx.video_count) = *(m_dnp_ctx_tx.video_count) + 1; /*TX*/
/*release Semaphore*/
SemPost( m_dnp_ctx_tx.m_video_semaphore ) ; /* Net */
/*release Mutex*/
LCK_post( m_hViOutMutex ) ;
} /* while(1) */
//LCK_delete( m_hViOutMutex ) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -