105 lines
2.3 KiB
C
105 lines
2.3 KiB
C
|
|
||
|
#ifndef LAYER_CONTROL
|
||
|
#define LAYER_CONTROL
|
||
|
|
||
|
//#include "videoDecComponent.h"
|
||
|
#include "vdecoder.h"
|
||
|
|
||
|
typedef void* LayerCtrl;
|
||
|
|
||
|
const int MESSAGE_ID_LAYER_RETURN_BUFFER = 0x31;
|
||
|
const int MESSAGE_ID_LAYER_NOTIFY_BUFFER = 0x32;
|
||
|
|
||
|
const int LAYER_RESULT_USE_OUTSIDE_BUFFER = 0x2;
|
||
|
|
||
|
typedef int (*LayerCtlCallback)(void* pUserData, int eMessageId, void* param);
|
||
|
|
||
|
typedef struct NewLayerControlOpsS
|
||
|
{
|
||
|
|
||
|
LayerCtrl* (*init)(void*, int);
|
||
|
|
||
|
void (*release)(LayerCtrl*);
|
||
|
|
||
|
int (*setDisplayBufferSize)(LayerCtrl* , int , int );
|
||
|
|
||
|
int (*setDisplayBufferCount)(LayerCtrl* , int );
|
||
|
|
||
|
int (*setDisplayRegion)(LayerCtrl* , int , int , int , int );
|
||
|
|
||
|
int (*setDisplayPixelFormat)(LayerCtrl* , enum EPIXELFORMAT );
|
||
|
|
||
|
int (*setVideoWithTwoStreamFlag)(LayerCtrl* , int );
|
||
|
|
||
|
int (*setIsSoftDecoderFlag)(LayerCtrl* , int);
|
||
|
|
||
|
int (*setBufferTimeStamp)(LayerCtrl* , int64_t );
|
||
|
|
||
|
void (*resetNativeWindow)(LayerCtrl* ,void*);
|
||
|
|
||
|
VideoPicture* (*getBufferOwnedByGpu)(LayerCtrl* );
|
||
|
|
||
|
int (*getDisplayFPS)(LayerCtrl* );
|
||
|
|
||
|
int (*getBufferNumHoldByGpu)(LayerCtrl* );
|
||
|
|
||
|
int (*ctrlShowVideo)(LayerCtrl* );
|
||
|
|
||
|
int (*ctrlHideVideo)(LayerCtrl*);
|
||
|
|
||
|
int (*ctrlIsVideoShow)(LayerCtrl* );
|
||
|
|
||
|
int (*ctrlHoldLastPicture)(LayerCtrl* , int );
|
||
|
|
||
|
int (*dequeueBuffer)(LayerCtrl* , VideoPicture** , int);
|
||
|
|
||
|
int (*queueBuffer)(LayerCtrl* , VideoPicture* , int);
|
||
|
|
||
|
int (*releaseBuffer)(LayerCtrl* ,VideoPicture*);
|
||
|
}NewLayerControlOpsT;
|
||
|
|
||
|
typedef struct LayerControlOpsS
|
||
|
{
|
||
|
|
||
|
LayerCtrl* (*init)(void*);
|
||
|
|
||
|
void (*release)(LayerCtrl*);
|
||
|
|
||
|
int (*setCallback)(LayerCtrl* , LayerCtlCallback , void* );
|
||
|
|
||
|
int (*setDisplayBufferSize)(LayerCtrl* , int , int );
|
||
|
|
||
|
int (*setDisplayRegion)(LayerCtrl* , int , int , int , int );
|
||
|
|
||
|
int (*setDisplayPixelFormat)(LayerCtrl* , enum EPIXELFORMAT );
|
||
|
|
||
|
int (*setDeinterlaceFlag)(LayerCtrl* ,int );
|
||
|
|
||
|
int (*setBufferTimeStamp)(LayerCtrl* , int64_t );
|
||
|
|
||
|
int (*getRotationAngle)(LayerCtrl* );
|
||
|
|
||
|
int (*ctrlShowVideo)(LayerCtrl* );
|
||
|
|
||
|
int (*ctrlHideVideo)(LayerCtrl*);
|
||
|
|
||
|
int (*ctrlIsVideoShow)(LayerCtrl* );
|
||
|
|
||
|
int (*ctrlHoldLastPicture)(LayerCtrl* , int );
|
||
|
|
||
|
int (*dequeueBuffer)(LayerCtrl* , VideoPicture**);
|
||
|
|
||
|
int (*dequeue3DBuffer)(LayerCtrl* , VideoPicture** , VideoPicture** );
|
||
|
|
||
|
int (*queueBuffer)(LayerCtrl* , VideoPicture* , int);
|
||
|
|
||
|
int (*queue3DBuffer)(LayerCtrl* , VideoPicture* , VideoPicture* , int);
|
||
|
}LayerControlOpsT;
|
||
|
|
||
|
LayerControlOpsT* __GetLayerControlOps();
|
||
|
|
||
|
NewLayerControlOpsT* __GetNewLayerControlOps();
|
||
|
|
||
|
|
||
|
#endif
|