nsv_h264_decoder.h 518 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "../nsv/dec_if.h"
  3. #include "annexb.h"
  4. #include "MFTDecoder.h"
  5. #include <vector>
  6. class H264_Decoder : public IVideoDecoder
  7. {
  8. public:
  9. H264_Decoder();
  10. ~H264_Decoder();
  11. int decode(int need_kf,
  12. void *in, int in_len,
  13. void **out, // out is set to a pointer to data
  14. unsigned int *out_type, // 'Y','V','1','2' is currently defined
  15. int *is_kf);
  16. void flush();
  17. private:
  18. MFTDecoder decoder;
  19. YV12_PLANES *vidbufdec;
  20. void *last_pic;
  21. std::vector<nullsoft_h264_frame_data> buffered_frames;
  22. };