venc_drv_if_dep.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef VENC_DRV_IF_DEP_H
  2. #define VENC_DRV_IF_DEP_H
  3. /*=============================================================================
  4. * Include Files
  5. *===========================================================================*/
  6. #include "val_types_private.h"
  7. #include "vcodec_if_v2.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. /*=============================================================================
  12. * Type definition
  13. *===========================================================================*/
  14. /**
  15. * @par Structure
  16. * mhalVdoDrv_t
  17. * @par Description
  18. * This is a structure which store common video enc driver information
  19. */
  20. typedef struct mhalVdoDrv_s {
  21. VAL_VOID_T *prCodecHandle;
  22. VAL_UINT32_T u4EncodedFrameCount;
  23. VCODEC_ENC_CALLBACK_T rCodecCb;
  24. VIDEO_ENC_API_T *prCodecAPI;
  25. VENC_BS_T pBSBUF;
  26. VCODEC_ENC_BUFFER_INFO_T EncoderInputParamNC;
  27. VENC_DRV_PARAM_BS_BUF_T BSout;
  28. VENC_HYBRID_ENCSETTING rVencSetting;
  29. VAL_UINT8_T *ptr;
  30. } mhalVdoDrv_t;
  31. typedef struct __VENC_HANDLE_T {
  32. VAL_HANDLE_T hHalHandle; /* /< HAL data. */
  33. VAL_HANDLE_T vdriver_Handle; /* /< for MMSYS power on/off */
  34. VAL_MEMORY_T rHandleMem; /* /< Save handle memory information to be used in release. */
  35. VAL_BOOL_T bFirstDecoded; /* / < already pass first video data to codec */
  36. VAL_BOOL_T bHeaderPassed; /* / < already pass video header to codec */
  37. VAL_BOOL_T bFlushAll;
  38. VAL_MEMORY_T HeaderBuf;
  39. VAL_HANDLE_T hCodec;
  40. /* DRIVER_HANDLER_T hDrv; */
  41. VAL_UINT32_T CustomSetting;
  42. VCODEC_MEMORY_TYPE_T rVideoDecMemType;
  43. VAL_UINT32_T nYUVBufferIndex;
  44. VCODEC_OPEN_SETTING_T codecOpenSetting;
  45. mhalVdoDrv_t rMhalVdoDrv;
  46. VAL_MEMORY_T bs_driver_workingmem;
  47. /* Morris Yang 20110411 [ */
  48. VENC_DRV_VIDEO_FORMAT_T CodecFormat;
  49. VAL_VOID_T *prExtraData; /* /< Driver private data pointer. */
  50. VAL_MEMORY_T rExtraDataMem; /* /< Save extra data memory information to be used in release. */
  51. /* ] */
  52. VAL_UINT32_T nOmxTids;
  53. #if 1 /* defined(MT6572) //VCODEC_MULTI_THREAD */
  54. /* Jackal Chen [ */
  55. VAL_VOID_T *pDrvModule; /* /< used for dlopen and dlclose */
  56. /* ] */
  57. #endif
  58. VIDEO_ENC_WRAP_HANDLE_T hWrapper;
  59. } VENC_HANDLE_T;
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif /* VENC_DRV_IF_DEP_H */