18 #include "scanner/api/kernel.h" 19 #include "scanner/engine/metadata.h" 20 #include "scanner/util/common.h" 21 #include "scanner/util/profiler.h" 30 enum class VideoDecoderType {
40 static std::vector<VideoDecoderType> get_supported_decoder_types();
42 static bool has_decoder_type(VideoDecoderType type);
45 i32 num_devices, VideoDecoderType type);
49 virtual void configure(
const FrameInfo& metadata) = 0;
51 virtual bool feed(
const u8* encoded_buffer,
size_t encoded_size,
52 bool discontinuity =
false) = 0;
54 virtual bool discard_frame() = 0;
56 virtual bool get_frame(u8* decoded_buffer,
size_t decoded_size) = 0;
58 virtual int decoded_frames_buffered() = 0;
60 virtual void wait_until_frames_copied() = 0;
62 void set_profiler(
Profiler* profiler);
Definition: profiler.h:40
VideoDecoder.
Definition: video_decoder.h:38
Definition: database.cpp:36
FrameInfo.
Definition: frame.h:34