avi_yuv_decoder.h 696 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "../Plugins/Input/in_avi/ifc_avivideodecoder.h"
  3. #include "../nsavi/avi_header.h"
  4. class AVIYUV : public ifc_avivideodecoder
  5. {
  6. public:
  7. AVIYUV(nsavi::video_format *stream_format);
  8. ~AVIYUV();
  9. static AVIYUV *CreateDecoder(nsavi::video_format *stream_format);
  10. int Initialize();
  11. int GetOutputProperties(int *x, int *y, int *color_format, double *aspect_ratio, int *flip);
  12. int DecodeChunk(uint16_t type, const void *inputBuffer, size_t inputBufferBytes);
  13. void Flush();
  14. void Close();
  15. int GetPicture(void **data, void **decoder_data);
  16. private:
  17. nsavi::video_format *stream_format;
  18. void *video_frame;
  19. size_t video_frame_size_bytes;
  20. bool o;
  21. protected:
  22. RECVS_DISPATCH;
  23. };