fyf_vdec.h
上传用户:sunhongbo
上传日期:2022-01-25
资源大小:3010k
文件大小:4k
源码类别:

数据库系统

开发平台:

C/C++

  1. /******************************************************************************/
  2. /*    Copyright (c) 2008 Embedded Internet Solutions, Inc                     */
  3. /*    All rights reserved. You are not allowed to copy or distribute          */
  4. /*    the code without permission.                                            */
  5. /*    This is the demo implenment of the Porting APIs needed by            */
  6. /*    MiddleWare.                                                             */
  7. /*    Maybe you should modify it accorrding to Platform.                      */
  8. /*                                                                            */
  9. /*    $author szhy 2008/09/26                                              */
  10. /******************************************************************************/
  11. #ifndef  __FYF_VDEC_H_
  12. #define __FYF_VDEC_H_
  13. typedef enum
  14. {
  15.     FYF_VDEC_LAST_FRAME,
  16.     FYF_VDEC_BLANK
  17. }FYF_VDEC_STOP_MODE_e;
  18. typedef enum
  19. {
  20. FYF_VDEC_STATE_NORMAL, //正常解码
  21. FYF_VDEC_STATE_STOP    //停止解码
  22. }FYF_VDEC_STATE_e;
  23. typedef enum
  24. {
  25.     FYF_VDEC_SET_SOURCE = 1,
  26.     FYF_VDEC_START,
  27.     FYF_VDEC_STOP,
  28.     FYF_VDEC_PAUSE,
  29.     FYF_VDEC_RESUME,
  30.     FYF_VDEC_CLEAR,
  31.     FYF_VDEC_SYNCHRONIZE,
  32.     FYF_VDEC_GET_BUFFER_RATE,
  33. FYF_VDEC_BITMAP,
  34. FYF_VDEC_STATE, //解码器工作状态
  35. FYF_VDEC_STREAM_INPUT /* 判断有没有视频流输入 */
  36. }FYF_VDEC_IOCTL_e;
  37. typedef struct
  38. {
  39. BU32 (*FYF_CPI_vdec_open)(void);
  40. BS32 (*FYF_CPI_vdec_close)(BU32 decoder);
  41. BS32 (*FYF_CPI_vdec_ioctl)(BU32 decoder, FYF_VDEC_IOCTL_e op, void *arg);
  42. }FYF_VDEC_PORTING;
  43. /******************************************************************************/
  44. /*Description: register vdec                                                 */
  45. /*Input      : porting       */
  46. /*Output     : no                                                             */
  47. /*Return     : no                                                             */
  48. /******************************************************************************/
  49. void FYF_API_vdec_register(FYF_VDEC_PORTING *porting);
  50. /******************************************************************************/
  51. /*Description: vdec open                                                      */
  52. /*Input      : no                      */
  53. /*Output     : no                                                             */
  54. /*Return     : >0 success, 0 failure                                          */
  55. /******************************************************************************/
  56. BU32 FYF_API_vdec_open(void);
  57. /******************************************************************************/
  58. /*Description: vdec close                                                     */
  59. /*Input      : decoder                   */
  60. /*Output     : no                                                             */
  61. /*Return     : FYF_OK: success, FYF_ERR: failure                              */
  62. /******************************************************************************/
  63. BS32 FYF_API_vdec_close(BU32 decoder);
  64. /******************************************************************************/
  65. /*Description: vdec ioctl                                                     */
  66. /*Input      : decoder,op                 */
  67. /*Output     : arg                                                            */
  68. /*Return     : FYF_OK: success, FYF_ERR: failure                              */
  69. /******************************************************************************/
  70. BS32 FYF_API_vdec_ioctl(BU32 decoder, FYF_VDEC_IOCTL_e op, void *arg);
  71. #endif