| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | #pragma once#ifdef FFMPEG_ENABLED#ifndef VIDEO_STREAM_H_#define VIDEO_STREAM_H_#include <string>#include "Bitmap.h"extern "C" {#   include <libavformat/avformat.h>#   include <libavformat/avio.h>#   include <libavcodec/avcodec.h>#   include <libavformat/avformat.h>#   include <libavutil/imgutils.h>#   include <libavutil/opt.h>#   include <libswscale/swscale.h>}class VideoStream{    const AVCodec* codec;    AVCodecContext* codecContext;    FILE* file;    AVFrame* picture;    AVPacket* pkt;    SwsContext* swsContext;    static const uint8_t endcode[];    size_t width;    size_t height;    uint64_t frameIndex = 0;public:    VideoStream(::size_t width, ::size_t height, const std::string& filename);    ~VideoStream(void);    void addFrame(const Bitmap<RGBColor>& frame);};#endif // VIDEO_STREAM_H_#endif // FFMPEG_ENABLED
 |