winamp/Src/h264/nsv_h264_decoder.h

25 lines
518 B
C++

#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;
};