SmartAudio/package/allwinner/liballwinner_tina/liballwinner/LIBRARY/PLAYER/include/layerControl.h

105 lines
2.3 KiB
C
Executable File

#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