21 #ifndef EXPORTTHREAD_H 22 #define EXPORTTHREAD_H 25 #include <QOffscreenSurface> 27 #include <QWaitCondition> 29 struct AVFormatContext;
30 struct AVCodecContext;
39 #include <libavcodec/avcodec.h> 42 #define COMPRESSION_TYPE_CBR 0 43 #define COMPRESSION_TYPE_CFR 1 44 #define COMPRESSION_TYPE_TARGETSIZE 2 45 #define COMPRESSION_TYPE_TARGETBR 3 87 bool encode(AVFormatContext* ofmt_ctx, AVCodecContext* codec_ctx, AVFrame* frame, AVPacket* packet, AVStream* stream,
bool rescale);
125 #endif // EXPORTTHREAD_H QString export_error
Definition: exportthread.h:122
void run()
Definition: exportthread.cpp:335
AVFormatContext * fmt_ctx
Definition: exportthread.h:96
ExportThread(const ExportParams &iparams, const VideoCodecParams &ivparams, QObject *parent=nullptr)
Definition: exportthread.cpp:50
Definition: exportthread.h:71
void wake()
Definition: exportthread.cpp:533
AVStream * video_stream
Definition: exportthread.h:97
bool setupAudio()
Definition: exportthread.cpp:208
int aframe_bytes
Definition: exportthread.h:115
char * c_filename
Definition: exportthread.h:117
const QString & getError()
Definition: exportthread.cpp:529
int audio_sampling_rate
Definition: exportthread.h:61
AVFrame * sws_frame
Definition: exportthread.h:101
long end_frame
Definition: exportthread.h:64
QString filename
Definition: exportthread.h:51
long start_frame
Definition: exportthread.h:63
AVFrame * audio_frame
Definition: exportthread.h:105
Definition: exportthread.h:49
ExportParams params
Definition: exportthread.h:93
int video_compression_type
Definition: exportthread.h:57
AVFrame * swr_frame
Definition: exportthread.h:106
bool audio_enabled
Definition: exportthread.h:59
bool continueEncode
Definition: exportthread.h:81
Definition: exportthread.h:67
int pix_fmt
Definition: exportthread.h:68
VideoCodecParams vcodec_params
Definition: exportthread.h:94
bool encode(AVFormatContext *ofmt_ctx, AVCodecContext *codec_ctx, AVFrame *frame, AVPacket *packet, AVStream *stream, bool rescale)
Definition: exportthread.cpp:78
AVPacket video_pkt
Definition: exportthread.h:108
AVPacket audio_pkt
Definition: exportthread.h:109
int video_width
Definition: exportthread.h:54
bool apkt_alloc
Definition: exportthread.h:113
int video_height
Definition: exportthread.h:55
bool vpkt_alloc
Definition: exportthread.h:112
bool video_enabled
Definition: exportthread.h:52
int video_codec
Definition: exportthread.h:53
double video_bitrate
Definition: exportthread.h:58
AVCodecContext * acodec_ctx
Definition: exportthread.h:107
bool setupVideo()
Definition: exportthread.cpp:106
int audio_bitrate
Definition: exportthread.h:62
QMutex mutex
Definition: exportthread.h:119
AVCodecContext * vcodec_ctx
Definition: exportthread.h:99
int audio_codec
Definition: exportthread.h:60
SwrContext * swr_ctx
Definition: exportthread.h:110
AVStream * audio_stream
Definition: exportthread.h:103
void progress_changed(int value, qint64 remaining_ms)
int ret
Definition: exportthread.h:116
QOffscreenSurface surface
Definition: exportthread.h:79
double video_frame_rate
Definition: exportthread.h:56
AVCodec * acodec
Definition: exportthread.h:104
AVCodec * vcodec
Definition: exportthread.h:98
bool setupContainer()
Definition: exportthread.cpp:315
SwsContext * sws_ctx
Definition: exportthread.h:102
AVFrame * video_frame
Definition: exportthread.h:100
QWaitCondition waitCond
Definition: exportthread.h:120