Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAndroidMediaEncoderRunnable.h
Go to the documentation of this file.
1
/*
2
* SPDX-License-Identifier: GPL-3.0-or-later
3
*/
4
#ifndef KISANDROIDMEDIAENCODERRUNNABLE
5
#define KISANDROIDMEDIAENCODERRUNNABLE
6
7
#include "
KisMediaEncoderWrapper.h
"
8
#include <QWidget>
9
10
class
QComboBox;
11
class
QSpinBox;
12
13
class
KisAndroidMediaEncoderRunnable
:
public
KisMediaEncoderRunnable
14
{
15
public
:
16
static
KisAndroidMediaEncoderRunnable
*
create
(
const
KisMediaEncoderWrapperSettings
&
settings
,
17
QObject *parent =
nullptr
);
18
19
static
void
getSupportedFormats
(
QVector<KisMediaEncoderFormat *>
&outSupportedFormats);
20
21
protected
:
22
KisAndroidMediaEncoderRunnable
(
const
KisMediaEncoderWrapperSettings
&
settings
, QObject *parent);
23
24
EncodeResult
encode
(QString &outErrorMessage)
override
;
25
26
private
:
27
static
constexpr
int
DRAIN_END_OF_STREAM
= -1;
28
static
constexpr
int
DRAIN_ERROR
= -2;
29
static
constexpr
int
DRAIN_CANCELLED
= -3;
30
// Keep these formats in sync with VideoEncoder.java!
31
static
constexpr
int
FORMAT_MP4_H264
= 0;
32
static
constexpr
int
FORMAT_WEBM_VP8
= 1;
33
static
constexpr
int
FORMAT_MP4_AV1
= 2;
34
// These statuses too!
35
static
constexpr
int
STATUS_OK
= 0;
36
static
constexpr
int
STATUS_TIMEOUT
= 1;
37
static
constexpr
int
STATUS_END_OF_STREAM
= 2;
38
static
constexpr
int
STATUS_NEEDS_COPY
= 3;
39
static
constexpr
int
STATUS_ERROR_START_ENCODER
= 104;
40
static
constexpr
int
STATUS_ERROR_DRAIN_MUXER_ADD_TRACK
= 404;
41
42
struct
EncoderImage
;
43
class
Format
;
44
class
Context
;
45
46
EncodeResult
prepare
(
Context
&ctx);
47
48
// Returns number of frames drained or one of the DRAIN_* values above.
49
int
drain
(
Context
&ctx,
long
long
initialTimeout);
50
51
bool
copyTemporaryToOutputFile
(
Context
&ctx,
const
QString &tempPath,
const
QString &outputPath);
52
53
static
bool
readEncoderImage
(
Context
&ctx,
EncoderImage
&outImage);
54
static
bool
readPlaneBuffer
(
Context
&ctx,
int
index, uint8_t *&outBuffer);
55
static
bool
readPlaneRowStride
(
Context
&ctx,
int
index,
int
&outRowStride);
56
static
bool
readPlanePixelStride
(
Context
&ctx,
int
index,
int
&outPixelStride);
57
58
static
void
checkFormatSupport
(
Context
&ctx,
int
formatId,
QVector<KisMediaEncoderFormat *>
&outSupportedFormats);
59
};
60
61
class
KisAndroidMediaEncoderPreferencesWidget
:
public
QWidget
62
{
63
Q_OBJECT
64
public
:
65
explicit
KisAndroidMediaEncoderPreferencesWidget
(QWidget *parent =
nullptr
);
66
67
void
addEncoderOption
(
const
QString &title,
const
QString &key);
68
69
QString
encoder
()
const
;
70
void
setEncoder
(
const
QString &key);
71
72
int
bitrate
()
const
;
73
void
setBitrate
(
int
bitrate
);
74
75
private
:
76
QComboBox *
m_cmbEncoder
;
77
QSpinBox *
m_intBitrate
;
78
};
79
80
#endif
KisMediaEncoderWrapper.h
KisAndroidMediaEncoderPreferencesWidget
Definition
KisAndroidMediaEncoderRunnable.h:62
KisAndroidMediaEncoderPreferencesWidget::KisAndroidMediaEncoderPreferencesWidget
KisAndroidMediaEncoderPreferencesWidget(QWidget *parent=nullptr)
Definition
KisAndroidMediaEncoderRunnable.cpp:896
KisAndroidMediaEncoderPreferencesWidget::encoder
QString encoder() const
Definition
KisAndroidMediaEncoderRunnable.cpp:914
KisAndroidMediaEncoderPreferencesWidget::m_cmbEncoder
QComboBox * m_cmbEncoder
Definition
KisAndroidMediaEncoderRunnable.h:76
KisAndroidMediaEncoderPreferencesWidget::m_intBitrate
QSpinBox * m_intBitrate
Definition
KisAndroidMediaEncoderRunnable.h:77
KisAndroidMediaEncoderPreferencesWidget::addEncoderOption
void addEncoderOption(const QString &title, const QString &key)
Definition
KisAndroidMediaEncoderRunnable.cpp:909
KisAndroidMediaEncoderPreferencesWidget::setEncoder
void setEncoder(const QString &key)
Definition
KisAndroidMediaEncoderRunnable.cpp:919
KisAndroidMediaEncoderPreferencesWidget::setBitrate
void setBitrate(int bitrate)
Definition
KisAndroidMediaEncoderRunnable.cpp:937
KisAndroidMediaEncoderPreferencesWidget::bitrate
int bitrate() const
Definition
KisAndroidMediaEncoderRunnable.cpp:932
KisAndroidMediaEncoderRunnable::Context
Definition
KisAndroidMediaEncoderRunnable.cpp:214
KisAndroidMediaEncoderRunnable::Format
Definition
KisAndroidMediaEncoderRunnable.cpp:46
KisAndroidMediaEncoderRunnable
Definition
KisAndroidMediaEncoderRunnable.h:14
KisAndroidMediaEncoderRunnable::DRAIN_ERROR
static constexpr int DRAIN_ERROR
Definition
KisAndroidMediaEncoderRunnable.h:28
KisAndroidMediaEncoderRunnable::checkFormatSupport
static void checkFormatSupport(Context &ctx, int formatId, QVector< KisMediaEncoderFormat * > &outSupportedFormats)
Definition
KisAndroidMediaEncoderRunnable.cpp:849
KisAndroidMediaEncoderRunnable::drain
int drain(Context &ctx, long long initialTimeout)
Definition
KisAndroidMediaEncoderRunnable.cpp:712
KisAndroidMediaEncoderRunnable::readEncoderImage
static bool readEncoderImage(Context &ctx, EncoderImage &outImage)
Definition
KisAndroidMediaEncoderRunnable.cpp:795
KisAndroidMediaEncoderRunnable::copyTemporaryToOutputFile
bool copyTemporaryToOutputFile(Context &ctx, const QString &tempPath, const QString &outputPath)
Definition
KisAndroidMediaEncoderRunnable.cpp:740
KisAndroidMediaEncoderRunnable::getSupportedFormats
static void getSupportedFormats(QVector< KisMediaEncoderFormat * > &outSupportedFormats)
Definition
KisAndroidMediaEncoderRunnable.cpp:396
KisAndroidMediaEncoderRunnable::STATUS_TIMEOUT
static constexpr int STATUS_TIMEOUT
Definition
KisAndroidMediaEncoderRunnable.h:36
KisAndroidMediaEncoderRunnable::readPlaneBuffer
static bool readPlaneBuffer(Context &ctx, int index, uint8_t *&outBuffer)
Definition
KisAndroidMediaEncoderRunnable.cpp:803
KisAndroidMediaEncoderRunnable::FORMAT_MP4_H264
static constexpr int FORMAT_MP4_H264
Definition
KisAndroidMediaEncoderRunnable.h:31
KisAndroidMediaEncoderRunnable::KisAndroidMediaEncoderRunnable
KisAndroidMediaEncoderRunnable(const KisMediaEncoderWrapperSettings &settings, QObject *parent)
Definition
KisAndroidMediaEncoderRunnable.cpp:405
KisAndroidMediaEncoderRunnable::DRAIN_CANCELLED
static constexpr int DRAIN_CANCELLED
Definition
KisAndroidMediaEncoderRunnable.h:29
KisAndroidMediaEncoderRunnable::readPlaneRowStride
static bool readPlaneRowStride(Context &ctx, int index, int &outRowStride)
Definition
KisAndroidMediaEncoderRunnable.cpp:821
KisAndroidMediaEncoderRunnable::FORMAT_WEBM_VP8
static constexpr int FORMAT_WEBM_VP8
Definition
KisAndroidMediaEncoderRunnable.h:32
KisAndroidMediaEncoderRunnable::prepare
EncodeResult prepare(Context &ctx)
Definition
KisAndroidMediaEncoderRunnable.cpp:680
KisAndroidMediaEncoderRunnable::STATUS_END_OF_STREAM
static constexpr int STATUS_END_OF_STREAM
Definition
KisAndroidMediaEncoderRunnable.h:37
KisAndroidMediaEncoderRunnable::DRAIN_END_OF_STREAM
static constexpr int DRAIN_END_OF_STREAM
Definition
KisAndroidMediaEncoderRunnable.h:27
KisAndroidMediaEncoderRunnable::STATUS_OK
static constexpr int STATUS_OK
Definition
KisAndroidMediaEncoderRunnable.h:35
KisAndroidMediaEncoderRunnable::STATUS_NEEDS_COPY
static constexpr int STATUS_NEEDS_COPY
Definition
KisAndroidMediaEncoderRunnable.h:38
KisAndroidMediaEncoderRunnable::STATUS_ERROR_START_ENCODER
static constexpr int STATUS_ERROR_START_ENCODER
Definition
KisAndroidMediaEncoderRunnable.h:39
KisAndroidMediaEncoderRunnable::FORMAT_MP4_AV1
static constexpr int FORMAT_MP4_AV1
Definition
KisAndroidMediaEncoderRunnable.h:33
KisAndroidMediaEncoderRunnable::create
static KisAndroidMediaEncoderRunnable * create(const KisMediaEncoderWrapperSettings &settings, QObject *parent=nullptr)
Definition
KisAndroidMediaEncoderRunnable.cpp:386
KisAndroidMediaEncoderRunnable::readPlanePixelStride
static bool readPlanePixelStride(Context &ctx, int index, int &outPixelStride)
Definition
KisAndroidMediaEncoderRunnable.cpp:835
KisAndroidMediaEncoderRunnable::encode
EncodeResult encode(QString &outErrorMessage) override
Definition
KisAndroidMediaEncoderRunnable.cpp:411
KisAndroidMediaEncoderRunnable::STATUS_ERROR_DRAIN_MUXER_ADD_TRACK
static constexpr int STATUS_ERROR_DRAIN_MUXER_ADD_TRACK
Definition
KisAndroidMediaEncoderRunnable.h:40
KisMediaEncoderRunnable
Definition
KisMediaEncoderWrapper.h:56
KisMediaEncoderRunnable::EncodeResult
EncodeResult
Definition
KisMediaEncoderWrapper.h:73
KisMediaEncoderRunnable::settings
const KisMediaEncoderWrapperSettings settings()
Definition
KisMediaEncoderWrapper.h:104
QList
Definition
KisQStringListFwd.h:16
KisAndroidMediaEncoderRunnable::EncoderImage
Definition
KisAndroidMediaEncoderRunnable.cpp:34
KisMediaEncoderWrapperSettings
Definition
KisMediaEncoderWrapper.h:42
libs
ui
animation
KisAndroidMediaEncoderRunnable.h
Generated at
2026-07-16 02:30:11+02:00
from
Krita
branch
master
, commit
a788c87613f94f0657ee6a3d88f6745bc44af899