mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-11 12:41:47 -10:00
Uses FFmpeg for video decoding and multiple threads for reading and decoding files. Can handle 1080p with no stuttering.
34 lines
528 B
C++
34 lines
528 B
C++
#pragma once
|
|
|
|
#include "cutscene/Decoder.h"
|
|
|
|
namespace cutscene {
|
|
namespace ffmpeg {
|
|
struct InputStream;
|
|
|
|
struct DecoderStatus;
|
|
|
|
class FFMPEGDecoder: public Decoder {
|
|
private:
|
|
std::unique_ptr<InputStream> m_input;
|
|
|
|
std::unique_ptr<DecoderStatus> m_status;
|
|
|
|
public:
|
|
FFMPEGDecoder();
|
|
|
|
virtual ~FFMPEGDecoder();
|
|
|
|
bool initialize(const SCP_string& fileName) SCP_OVERRIDE;
|
|
|
|
MovieProperties getProperties() SCP_OVERRIDE;
|
|
|
|
void startDecoding() SCP_OVERRIDE;
|
|
|
|
bool hasAudio() SCP_OVERRIDE;
|
|
|
|
void close() SCP_OVERRIDE;
|
|
};
|
|
}
|
|
}
|