123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #ifndef __MFCAPI_H__
- #define __MFCAPI_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "dwl.h"
- #define RAW_STRM_TYPE_H264 104
- #define RAW_STRM_TYPE_MP2 105
- #define RAW_STRM_TYPE_MP4 106
- #define RAW_STRM_TYPE_REAL 107
- #define RAW_STRM_TYPE_VC1 108
- #define RAW_STRM_TYPE_WMV3 109
- #define RAW_STRM_TYPE_JPEG 110
- #define RAW_STRM_TYPE_SOR 111
- #define RAW_STRM_TYPE_VP8 112
- #define RAW_STRM_TYPE_VP6 113
- #define RAW_STRM_TYPE_RV1020 114
- #define RAW_STRM_TYPE_MSMP4 115
- #define RAW_STRM_TYPE_MP4_CUSTOM 116
- #define RAW_STRM_TYPE_H264_NOREORDER (RAW_STRM_TYPE_H264 | (1 << 8))
- #define MAX_OUTFRAME_NUM 8
- #define MAX_OUTFRAME_WIDTH 1920
- #define MAX_OUTFRAME_HEIGHT 1088
- typedef struct
- {
- u32 yBusAddress;
- u32 cbcrBusAddress;
- u32 crBusAddress;
- const void *pyVirAddress;
- const void *pcbcrVirAddress;
- const void *pcrVirAddress;
- i32 keyPicture;
- }FrameBuffer;
- typedef struct
- {
- i32 num;
- i32 codedWidth;
- i32 codedHeight;
- i32 frameWidth;
- i32 frameHeight;
- FrameBuffer buffer[MAX_OUTFRAME_NUM];
- }OutFrameBuffer;
- typedef enum{
- MFCDEC_RET_OK = 1,
- MFCDEC_RET_DECFAIL = 0,
- MFCDEC_RET_MEMFAIL = -1,
- MFCDEC_RET_LOCKFAIL = -2,
- }MFCDecodeRet;
- typedef struct
- {
- void *decInst;
- void *ppInst;
- int streamType;
- int delayInit;
- int isCustomMp4;
- int outputFormat;
- int ppInit;
- int ppMemalloc;
- int ppOutWidth;
- int ppOutHeight;
- int ppOutFormat;
- int ppOutBufferIndex;
- DWLLinearMem_t ppOutBuffer;
- }MFCHandle;
- MFCHandle *mfc_init(int streamType);
- int mfc_decode(MFCHandle *handle, DWLLinearMem_t *inBuffer, OutFrameBuffer *outBuffer);
- void mfc_uninit(MFCHandle *handle);
- int mfc_pp_init(MFCHandle *handle, int outWidth, int outHeight, int outFormat);
- #ifdef __cplusplus
- }
- #endif
- #endif
|