1// qvideosurfaceformat.sip generated by MetaSIP
2//
3// This file is part of the QtMultimedia Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QVideoSurfaceFormat
24{
25%TypeHeaderCode
26#include <qvideosurfaceformat.h>
27%End
28
29public:
30    enum Direction
31    {
32        TopToBottom,
33        BottomToTop,
34    };
35
36    enum YCbCrColorSpace
37    {
38        YCbCr_Undefined,
39        YCbCr_BT601,
40        YCbCr_BT709,
41        YCbCr_xvYCC601,
42        YCbCr_xvYCC709,
43        YCbCr_JPEG,
44    };
45
46    QVideoSurfaceFormat();
47    QVideoSurfaceFormat(const QSize &size, QVideoFrame::PixelFormat format, QAbstractVideoBuffer::HandleType type = QAbstractVideoBuffer::NoHandle);
48    QVideoSurfaceFormat(const QVideoSurfaceFormat &format);
49    ~QVideoSurfaceFormat();
50    bool operator==(const QVideoSurfaceFormat &format) const;
51    bool operator!=(const QVideoSurfaceFormat &format) const;
52    bool isValid() const;
53    QVideoFrame::PixelFormat pixelFormat() const;
54    QAbstractVideoBuffer::HandleType handleType() const;
55    QSize frameSize() const;
56    void setFrameSize(const QSize &size);
57    void setFrameSize(int width, int height);
58    int frameWidth() const;
59    int frameHeight() const;
60    QRect viewport() const;
61    void setViewport(const QRect &viewport);
62    QVideoSurfaceFormat::Direction scanLineDirection() const;
63    void setScanLineDirection(QVideoSurfaceFormat::Direction direction);
64    qreal frameRate() const;
65    void setFrameRate(qreal rate);
66    QSize pixelAspectRatio() const;
67    void setPixelAspectRatio(const QSize &ratio);
68    void setPixelAspectRatio(int width, int height);
69    QVideoSurfaceFormat::YCbCrColorSpace yCbCrColorSpace() const;
70    void setYCbCrColorSpace(QVideoSurfaceFormat::YCbCrColorSpace colorSpace);
71    QSize sizeHint() const;
72    QList<QByteArray> propertyNames() const;
73    QVariant property(const char *name) const;
74    void setProperty(const char *name, const QVariant &value);
75%If (Qt_5_11_0 -)
76    bool isMirrored() const;
77%End
78%If (Qt_5_11_0 -)
79    void setMirrored(bool mirrored);
80%End
81};
82