cellmpeg2enc.c

来自「DSP下的MPEG2采集/编码/解码」· C语言 代码 · 共 74 行

C
74
字号

 /*  ======== cellMpeg2enc.c ========
 *
 */
#include <std.h>

#include <algrf.h>

#include "cellmpeg2enc.h"
#include "csl_cache.h"

// v-table for this cell
ICELL_Fxns MPEG2ENC_CELLFXNS = { 
    NULL,            // cellClose
    MPEG2ENC_cellControl, // cellControl
    MPEG2ENC_cellExecute, // cellExecute
    NULL             // cellOpen
};


/*
 *  ======== MPEG2ENC_cellExecute ========
 *
 */

Bool MPEG2ENC_cellExecute( ICELL_Handle handle, Arg arg )
{
    IMPEG2VENC_Fxns  *mpeg2encFxns   = (IMPEG2VENC_Fxns *)handle->algFxns;
    IMPEG2VENC_Handle mpeg2encHandle = (IMPEG2VENC_Handle)handle->algHandle;
    IMPEG2VENC_Status mpeg2status;
  
    
    mpeg2encFxns->ialg.algActivate((IALG_Handle)mpeg2encHandle);

    CACHE_clean(CACHE_L2ALL, 0, 0);
    mpeg2encFxns->encodeFrame( mpeg2encHandle,
                     (unsigned char **)handle->inputIcc[0]->buffer,
                     (unsigned int *)handle->outputIcc[0]->buffer,(int) arg);
                   
	CACHE_clean(CACHE_L2ALL, 0, 0);                     
    
    if( mpeg2encFxns->control != NULL ) {
        mpeg2encFxns->control( mpeg2encHandle, IMPEG2VENC_GETSTATUS,  
                              &mpeg2status );
    }
    
    mpeg2encFxns->ialg.algDeactivate((IALG_Handle)mpeg2encHandle);
                         
    CACHE_clean(CACHE_L2ALL, 0, 0);   
	                  
    
    return ( TRUE );
}

/*
 *  ======== MPEG2ENC_cellControl ========
 *
 */
Int  MPEG2ENC_cellControl(ICELL_Handle handle, IALG_Cmd cmd, IALG_Status *status)
{
    IMPEG2VENC_Fxns  *mpeg2encFxns   = (IMPEG2VENC_Fxns *)handle->algFxns;    
    IMPEG2VENC_Handle mpeg2encHandle = (IMPEG2VENC_Handle )handle->algHandle;
    IMPEG2VENC_Status *mpeg2status    = (IMPEG2VENC_Status *)status;
    IMPEG2VENC_Cmd    mpeg2cmd        = (IMPEG2VENC_Cmd )cmd;
    
    if( mpeg2encFxns->control != NULL ) {
        mpeg2encFxns->control( mpeg2encHandle, mpeg2cmd, mpeg2status );
    }
    
    return 1;
}


⌨️ 快捷键说明

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