Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qvideoframetexturefromsource_p.h
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QVIDEOFRAMETEXTUREFROMSOURCE_P_H
5
#
define
QVIDEOFRAMETEXTUREFROMSOURCE_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
"private/qhwvideobuffer_p.h"
19
#
include
"qvideotexturehelper_p.h"
20
21
#
include
<
rhi
/
qrhi
.
h
>
22
23
QT_BEGIN_NAMESPACE
24
25
namespace
QVideoTextureHelper
{
26
27
using
RhiTextureArray
=
std
::
array
<
std
::
unique_ptr
<
QRhiTexture
>,
TextureDescription
::
maxPlanes
>;
28
29
class
QVideoFrameTexturesFromRhiTextureArray
:
public
QVideoFrameTextures
30
{
31
public
:
32
explicit
QVideoFrameTexturesFromRhiTextureArray
(RhiTextureArray &&rhiTextures,
33
QVideoFrame sourceFrame = {});
34
Q_DISABLE_COPY
(
QVideoFrameTexturesFromRhiTextureArray
)
35
36
~
QVideoFrameTexturesFromRhiTextureArray
()
override
;
37
38
QRhiTexture *
texture
(uint plane)
const
override
;
39
40
const
RhiTextureArray
&
textureArray
()
const
{
return
m_rhiTextures; }
41
[[nodiscard]]
RhiTextureArray
takeTextureArray
() &&;
42
43
private
:
44
RhiTextureArray m_rhiTextures;
45
};
46
47
class
QVideoFrameTexturesFromMemory
final
:
public
QVideoFrameTexturesFromRhiTextureArray
48
{
49
public
:
50
explicit
QVideoFrameTexturesFromMemory
(RhiTextureArray &&rhiTextures,
51
QVideoFrame mappedFrame = {});
52
Q_DISABLE_COPY
(
QVideoFrameTexturesFromMemory
)
53
54
~
QVideoFrameTexturesFromMemory
()
override
;
55
56
void
onFrameEndInvoked
()
override
;
57
58
private
:
59
QVideoFrame m_mappedFrame;
60
};
61
62
class
QVideoFrameTexturesFromHandlesSet
final
:
public
QVideoFrameTexturesFromRhiTextureArray
63
{
64
public
:
65
explicit
QVideoFrameTexturesFromHandlesSet
(RhiTextureArray &&rhiTextures,
66
QVideoFrameTexturesHandlesUPtr handles,
67
QVideoFrame sourceFrame = {});
68
Q_DISABLE_COPY
(
QVideoFrameTexturesFromHandlesSet
)
69
70
~
QVideoFrameTexturesFromHandlesSet
()
override
;
71
72
[[nodiscard]]
QVideoFrameTexturesHandlesUPtr
takeHandles
()
override
;
73
74
private
:
75
QVideoFrameTexturesHandlesUPtr m_textureHandles;
76
};
77
78
}
// namespace QVideoTextureHelper
79
80
QT_END_NAMESPACE
81
82
#
endif
// QVIDEOFRAMETEXTUREFROMSOURCE_P_H
QVideoTextureHelper::QVideoFrameTexturesFromHandlesSet::takeHandles
QVideoFrameTexturesHandlesUPtr takeHandles() override
Definition
qvideoframetexturefromsource.cpp:64
QVideoTextureHelper::QVideoFrameTexturesFromHandlesSet::QVideoFrameTexturesFromHandlesSet
QVideoFrameTexturesFromHandlesSet(RhiTextureArray &&rhiTextures, QVideoFrameTexturesHandlesUPtr handles, QVideoFrame sourceFrame={})
Definition
qvideoframetexturefromsource.cpp:53
QVideoTextureHelper::QVideoFrameTexturesFromHandlesSet::~QVideoFrameTexturesFromHandlesSet
~QVideoFrameTexturesFromHandlesSet() override
QVideoTextureHelper::QVideoFrameTexturesFromMemory::onFrameEndInvoked
void onFrameEndInvoked() override
The virtual method should be invoked after QRhi::endFrame to unmap and free internal resources that a...
Definition
qvideoframetexturefromsource.cpp:45
QVideoTextureHelper::QVideoFrameTexturesFromMemory::QVideoFrameTexturesFromMemory
QVideoFrameTexturesFromMemory(RhiTextureArray &&rhiTextures, QVideoFrame mappedFrame={})
Definition
qvideoframetexturefromsource.cpp:29
QVideoTextureHelper::QVideoFrameTexturesFromMemory::~QVideoFrameTexturesFromMemory
~QVideoFrameTexturesFromMemory() override
Definition
qvideoframetexturefromsource.cpp:40
QVideoTextureHelper::QVideoFrameTexturesFromRhiTextureArray
Definition
qvideoframetexturefromsource_p.h:30
QVideoTextureHelper::QVideoFrameTexturesFromRhiTextureArray::QVideoFrameTexturesFromRhiTextureArray
QVideoFrameTexturesFromRhiTextureArray(RhiTextureArray &&rhiTextures, QVideoFrame sourceFrame={})
Definition
qvideoframetexturefromsource.cpp:10
QVideoTextureHelper::QVideoFrameTexturesFromRhiTextureArray::texture
QRhiTexture * texture(uint plane) const override
Definition
qvideoframetexturefromsource.cpp:19
QVideoTextureHelper::QVideoFrameTexturesFromRhiTextureArray::takeTextureArray
RhiTextureArray takeTextureArray() &&
Definition
qvideoframetexturefromsource.cpp:24
QVideoTextureHelper::QVideoFrameTexturesFromRhiTextureArray::textureArray
const RhiTextureArray & textureArray() const
Definition
qvideoframetexturefromsource_p.h:40
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QVideoTextureHelper
Definition
qvideoframetexturefromsource_p.h:25
qtmultimedia
src
multimedia
video
qvideoframetexturefromsource_p.h
Generated on
for Qt by
1.18.0