diff options
Diffstat (limited to 'Src/h264/nsv_h264_decoder.h')
-rw-r--r-- | Src/h264/nsv_h264_decoder.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Src/h264/nsv_h264_decoder.h b/Src/h264/nsv_h264_decoder.h new file mode 100644 index 00000000..4a3375b1 --- /dev/null +++ b/Src/h264/nsv_h264_decoder.h @@ -0,0 +1,24 @@ +#pragma once +#include "../nsv/dec_if.h" +#include "annexb.h" +#include "MFTDecoder.h" +#include <vector> + +class H264_Decoder : public IVideoDecoder +{ +public: + H264_Decoder(); + ~H264_Decoder(); + int decode(int need_kf, + void *in, int in_len, + void **out, // out is set to a pointer to data + unsigned int *out_type, // 'Y','V','1','2' is currently defined + int *is_kf); + void flush(); + +private: + MFTDecoder decoder; + YV12_PLANES *vidbufdec; + void *last_pic; + std::vector<nullsoft_h264_frame_data> buffered_frames; +}; |