video_player_defs.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * Copyright (c) 2019 Actions Semiconductor Co., Ltd
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. /**
  7. * @file dsp_video_defs.h
  8. */
  9. #ifndef _DSP_VIDEO_DEFS_H_
  10. #define _DSP_VIDEO_DEFS_H_
  11. #include "stdio.h"
  12. #include <video_player.h>
  13. #include <dsp_hal_defs.h>
  14. #include <msg_manager.h>
  15. #include "acts_ringbuf.h"
  16. #include <stream.h>
  17. #include "vp_engine.h"
  18. #include "avi_demuxer.h"
  19. #define VIDEODEC_DSP_BIN "video.dsp"
  20. #define VIDEODEC_SRV_NAME "videodec_srv"
  21. #define MAX_PACKET_LEN 2048
  22. #define MACROBLOCK_PIXEL_LINE 16
  23. #define ADPCM_MAX_FRAME_SIZE (3200)
  24. enum video_player_msg {
  25. MSG_VIDEO_PLAYER = MSG_SRV_MESSAGE_START,
  26. };
  27. typedef enum{
  28. CMD_VP_OPEN,
  29. CMD_VP_CLOSE,
  30. CMD_VP_SET_FILE,
  31. CMD_VP_PLAY,
  32. CMD_VP_STOP,
  33. CMD_VP_PAUSE,
  34. CMD_VP_RESUME,
  35. CMD_VP_SEEK,
  36. CMD_VP_MUTE,
  37. CMD_VP_DEMUTE,
  38. }vp_cmd_t;
  39. typedef struct {
  40. video_init_param_t init_param;
  41. vp_status_e status;
  42. vp_playmode_e play_mode;
  43. void *decode_buf;
  44. int decode_buf_size;
  45. io_stream_t file_stream;
  46. demuxer_plugin_t *dem_plugin;
  47. dec_plugin_t *dec_plugin;
  48. dec_plugin_t *wav_plugin;
  49. void *dem_handle;
  50. void *dec_handle;
  51. void *wav_handle;
  52. ve_video_info_t video_info;
  53. demuxer_packet_t packet_buf;
  54. unsigned int cur_pts;
  55. struct acts_ringbuf *inbuf;
  56. struct acts_ringbuf *outbuf;
  57. struct acts_ringbuf *aud_ringbuf;
  58. struct audio_track_t *aud_track;
  59. io_stream_t audio_stream;
  60. short adpcm_outbuf[ADPCM_MAX_FRAME_SIZE];
  61. unsigned char mute;
  62. unsigned char freq_boot;
  63. bool user_stop;
  64. uint32_t start_time;
  65. struct acts_ringbuf *frame_ringbuf;
  66. } video_player_data_t;
  67. int char_to_short(char *in, int len, char *out, int size);
  68. #endif // _DSP_VIDEO_DEFS_H_