vcodec_dec_demuxer_if_v2.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #ifndef VCODEC_DEC_DEMUXER_V2_IF_H
  2. #define VCODEC_DEC_DEMUXER_V2_IF_H
  3. typedef struct {
  4. unsigned char *u4Address;
  5. unsigned int u4Length;
  6. int fgValid;
  7. } RM_DECODER_PAYLOAD_INFO_T;
  8. typedef struct {
  9. unsigned int u4PayloadNumber;
  10. RM_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
  11. } RM_DECODER_INPUT_PARAM_T;
  12. typedef enum {
  13. RV8 = 0,
  14. RV9,
  15. RV10
  16. } RM_CODEC_VERSION_T;
  17. #define MAX_NUM_RPR_SIZES 8
  18. typedef struct {
  19. RM_CODEC_VERSION_T eDecoderVersion;
  20. unsigned int u4MaxDimWidth;
  21. unsigned int u4MaxDimHeight;
  22. unsigned int u4NumRPRSizes;
  23. unsigned int au4RPRSizes[2 * MAX_NUM_RPR_SIZES];
  24. } RM_DECODER_INIT_PARAM_T;
  25. typedef struct {
  26. unsigned int MaxSupportWidthForYUV420_ASP;
  27. unsigned int MaxSupportHeightForYUV420_ASP;
  28. unsigned short u2FrameWidthInContainer;
  29. unsigned short u2FrameHeightInContainer;
  30. } MPEG4_DECODER_PRIVATE_PARAM_T;
  31. /* The H264 uses the private data to transfer NAL units */
  32. /* The related data structure information are defined as below */
  33. /* */
  34. typedef struct {
  35. unsigned char *u4Address;
  36. unsigned int u4Length;
  37. } H264_DECODER_PAYLOAD_INFO_T;
  38. typedef struct {
  39. unsigned int u4PayloadNumber;
  40. H264_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
  41. } H264_DECODER_INPUT_PARAM_T;
  42. typedef struct {
  43. unsigned char *u4Address;
  44. unsigned int u4Length;
  45. } VC1_DECODER_PAYLOAD_INFO_T;
  46. typedef struct {
  47. unsigned int u4PayloadNumber;
  48. VC1_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
  49. } VC1_DECODER_INPUT_PARAM_T;
  50. typedef struct {
  51. unsigned char *u4Address;
  52. unsigned int u4Length;
  53. unsigned short u2FrameWidthInContainer;
  54. unsigned short u2FrameHeightInContainer;
  55. } MPEG4_DECODER_PAYLOAD_INFO_T;
  56. typedef struct {
  57. unsigned int u4PayloadNumber;
  58. MPEG4_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
  59. } MPEG4_DECODER_INPUT_PARAM_T;
  60. typedef struct {
  61. unsigned char *u4Address;
  62. unsigned int u4Length;
  63. } MPEG4VT_DECODER_PAYLOAD_INFO_T;
  64. typedef struct {
  65. unsigned int u4PayloadNumber;
  66. MPEG4VT_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
  67. } MPEG4VT_DECODER_INPUT_PARAM_T;
  68. typedef struct {
  69. VCODEC_BUFFER_T rPayload;
  70. unsigned int u4Length;
  71. } VP8_DECODER_INPUT_UNIT_T;
  72. typedef struct {
  73. unsigned char *u4Address;
  74. unsigned int u4Length;
  75. } HEVC_DECODER_PAYLOAD_INFO_T;
  76. typedef struct {
  77. unsigned int u4PayloadNumber;
  78. HEVC_DECODER_PAYLOAD_INFO_T *pu1Payload;
  79. } HEVC_DECODER_INPUT_PARAM_T;
  80. #endif /* VCODEC_DEC_DEMUXER_IF_H */