csi_vcodec_common.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright (C) 2021 Alibaba Group Holding Limited
  3. * Author: LuChongzhi <chongzhi.lcz@alibaba-inc.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. */
  9. #ifndef __CSI_VIDEO_COMMON__
  10. #define __CSI_VIDEO_COMMON__
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. /* Refer ffmpeg: libavcodec/codec_id.h */
  15. typedef enum csi_vcodec_id {
  16. CSI_VCODEC_ID_UNKNOWN = 0, /* unknown decoder */
  17. CSI_VCODEC_ID_JPEG = (1 << 0),
  18. CSI_VCODEC_ID_MJPEG = (1 << 1),
  19. CSI_VCODEC_ID_MPEG1 = (1 << 2),
  20. CSI_VCODEC_ID_MPEG2 = (1 << 3), /* MPEG-2 decoder */
  21. CSI_VCODEC_ID_MPEG4 = (1 << 4), /* MPEG-4 decoder */
  22. CSI_VCODEC_ID_H263P = (1 << 5), /* H.263 progressive */
  23. CSI_VCODEC_ID_H263I = (1 << 6), /* H.263 interleave */
  24. CSI_VCODEC_ID_H264 = (1 << 7), /* H.264 AVC/SVC */
  25. CSI_VCODEC_ID_H265 = (1 << 8), /* H.265 */
  26. CSI_VCODEC_ID_H266 = (1 << 9), /* H.266 */
  27. CSI_VCODEC_ID_RV30 = (1 << 10), /* RealVideo 8 */
  28. CSI_VCODEC_ID_RV40 = (1 << 11), /* RealVideo 9/10 */
  29. CSI_VCODEC_ID_WMV1 = (1 << 12),
  30. CSI_VCODEC_ID_WMV2 = (1 << 13),
  31. CSI_VCODEC_ID_WMV3 = (1 << 14),
  32. CSI_VCODEC_ID_MSMPEG4V1 = (1 << 15),
  33. CSI_VCODEC_ID_MSMPEG4V2 = (1 << 16),
  34. CSI_VCODEC_ID_MSMPEG4V3 = (1 << 17),
  35. // Alias names
  36. CSI_VCODEC_ID_HEVC = CSI_VCODEC_ID_H265,
  37. CSI_VCODEC_ID_DIVX = CSI_VCODEC_ID_MSMPEG4V2,
  38. } csi_vcodec_id_e;
  39. typedef enum csi_vcodec_frame_type {
  40. CSI_VCODEC_I_FRAME = 1 << 0,
  41. CSI_VCODEC_P_FRAME = 1 << 1,
  42. CSI_VCODEC_B_FRAME = 1 << 2,
  43. } csi_vcodec_frame_type_e;
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47. #endif /* __CSI_VIDEO_COMMON__ */