本文整理汇总了C++中QVideoSurfaceFormat::frameSize方法的典型用法代码示例。如果您正苦于以下问题:C++ QVideoSurfaceFormat::frameSize方法的具体用法?C++ QVideoSurfaceFormat::frameSize怎么用?C++ QVideoSurfaceFormat::frameSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QVideoSurfaceFormat
的用法示例。
在下文中一共展示了QVideoSurfaceFormat::frameSize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: presentImage
bool myVideoPlayer::presentImage(const QImage &image)
{
QVideoFrame frame(image);
if (!frame.isValid())
return false;
QVideoSurfaceFormat currentFormat = surface->surfaceFormat();
if (frame.pixelFormat() != currentFormat.pixelFormat()
|| frame.size() != currentFormat.frameSize())
{
QVideoSurfaceFormat format(frame.size(), frame.pixelFormat());
if (!surface->start(format))
return false;
}
if (!surface->present(frame))
{
surface->stop();
return false;
}
else
{
return true;
}
}
示例2: isFormatSupported
bool QVideoSurfaceRasterPainter::isFormatSupported(
const QVideoSurfaceFormat &format, QVideoSurfaceFormat *) const
{
return format.handleType() == QAbstractVideoBuffer::NoHandle
&& m_imagePixelFormats.contains(format.pixelFormat())
&& !format.frameSize().isEmpty();
}
示例3: isFormatSupported
bool VideoWidgetSurface::isFormatSupported(const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const
{
Q_UNUSED(similar);
const QImage::Format imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
const QSize size = format.frameSize();
return imageFormat != QImage::Format_Invalid && !size.isEmpty() && format.handleType() == QAbstractVideoBuffer::NoHandle;
}
示例4: start
bool VideoSurface::start(const QVideoSurfaceFormat &format)
{
if (isActive()) {
stop();
} else if (!format.frameSize().isEmpty()) {
return QAbstractVideoSurface::start(format);
}
return false;
}
示例5: start
bool ChilitagsSurface::start(const QVideoSurfaceFormat &format) {
QVideoSurfaceFormat outputFormat(format.frameSize(),
QVideoFrame::Format_ARGB32);
//if (m_videoSurface) {
// qDebug() << m_videoSurface->supportedPixelFormats();
// qDebug() << m_videoSurface->isFormatSupported(outputFormat);
// qDebug() << outputFormat;
//}
if (m_videoSurface) return m_videoSurface->start(outputFormat)
&& QAbstractVideoSurface::start(format);
return QAbstractVideoSurface::start(format);
}
示例6: start
QAbstractVideoSurface::Error QVideoSurfaceRasterPainter::start(const QVideoSurfaceFormat &format)
{
m_frame = QVideoFrame();
m_imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
m_imageSize = format.frameSize();
m_scanLineDirection = format.scanLineDirection();
return format.handleType() == QAbstractVideoBuffer::NoHandle
&& m_imageFormat != QImage::Format_Invalid
&& !m_imageSize.isEmpty()
? QAbstractVideoSurface::NoError
: QAbstractVideoSurface::UnsupportedFormatError;
}
示例7: start
bool MyVideoSurface::start(const QVideoSurfaceFormat &format)
{
m_videoFormat = format;
const QImage::Format imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
const QSize size = format.frameSize();
if (imageFormat != QImage::Format_Invalid && !size.isEmpty()) {
m_imageFormat = imageFormat;
QAbstractVideoSurface::start(format);
return true;
} else {
return false;
}
}
示例8: foreach
QDebug operator<<(QDebug dbg, const QVideoSurfaceFormat &f)
{
dbg.nospace() << "QVideoSurfaceFormat(" << f.pixelFormat();
dbg.nospace() << ", " << f.frameSize();
dbg.nospace() << ", viewport=" << f.viewport();
dbg.nospace() << ", pixelAspectRatio=" << f.pixelAspectRatio();
dbg.nospace() << ", handleType=" << f.handleType();
dbg.nospace() << ", yCbCrColorSpace=" << f.yCbCrColorSpace();
dbg.nospace() << ")";
foreach(const QByteArray& propertyName, f.propertyNames())
dbg << "\n " << propertyName.data() << " = " << f.property(propertyName.data());
return dbg.space();
}
示例9: constructNull
void tst_QVideoSurfaceFormat::constructNull()
{
QVideoSurfaceFormat format;
QVERIFY(!format.isValid());
QCOMPARE(format.handleType(), QAbstractVideoBuffer::NoHandle);
QCOMPARE(format.pixelFormat(), QVideoFrame::Format_Invalid);
QCOMPARE(format.frameSize(), QSize());
QCOMPARE(format.frameWidth(), -1);
QCOMPARE(format.frameHeight(), -1);
QCOMPARE(format.viewport(), QRect());
QCOMPARE(format.scanLineDirection(), QVideoSurfaceFormat::TopToBottom);
QCOMPARE(format.frameRate(), 0.0);
QCOMPARE(format.pixelAspectRatio(), QSize(1, 1));
QCOMPARE(format.yCbCrColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined);
}
示例10: start
bool VideoItem::start(const QVideoSurfaceFormat &format)
{
if (isFormatSupported(format)) {
imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
imageSize = format.frameSize();
framePainted = true;
QAbstractVideoSurface::start(format);
prepareGeometryChange();
return true;
} else {
return false;
}
}
示例11: start
bool AndroidVideoSurface::start(const QVideoSurfaceFormat &format)
{
const QImage::Format m_imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
const QSize size = format.frameSize();
if (m_imageFormat != QImage::Format_Invalid && !size.isEmpty()) {
this->m_imageFormat = m_imageFormat;
m_imageSize = size;
m_sourceRect = format.viewport();
emit(surfaceStarted(format));
m_widget->updateGeometry();
updateVideoRect();
return true;
} else {
return false;
}
}
示例12: start
bool AVL_QT_DLL_EXPORT WidgetSurface::start(const QVideoSurfaceFormat & format){
const QSize size = format.frameSize();
if (size.isEmpty()==false) {
imageSize.set(size.width(),size.height());
sourceRect = format.viewport();
QAbstractVideoSurface::start(format);
widget->updateGeometry();
updateVideoRect();
return true;
}else{
return false;
}
}
示例13: start
//! [2]
bool VideoWidgetSurface::start(const QVideoSurfaceFormat &format)
{
const QImage::Format imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
const QSize size = format.frameSize();
if (imageFormat != QImage::Format_Invalid && !size.isEmpty()) {
this->imageFormat = imageFormat;
imageSize = size;
sourceRect = format.viewport();
QAbstractVideoSurface::start(format);
widget->updateGeometry();
updateVideoRect();
return true;
} else {
return false;
}
}
示例14: start
bool MyVideoSurface::start(const QVideoSurfaceFormat &format)
{
QImage::Format imageFormat =
QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
if (imageFormat == QImage::Format_Invalid)
imageFormat = QImage::Format_RGB32;
const QSize frameSize = format.frameSize();
if ((imageFormat != QImage::Format_Invalid) && !frameSize.isEmpty()) {
QAbstractVideoSurface::start(format);
emit frameSizeChanged(frameSize);
return true;
}
return false;
}
示例15: isValid
/* Test case for api isValid */
void tst_QVideoSurfaceFormat::isValid()
{
/* When both pixel format and framesize is not valid */
QVideoSurfaceFormat format;
QVERIFY(!format.isValid());
/* When framesize is valid and pixel format is not valid */
format.setFrameSize(64,64);
QVERIFY(format.frameSize() == QSize(64,64));
QVERIFY(!format.pixelFormat());
QVERIFY(!format.isValid());
/* When both the pixel format and framesize is valid. */
QVideoSurfaceFormat format1(QSize(32, 32), QVideoFrame::Format_AYUV444);
QVERIFY(format1.isValid());
/* When pixel format is valid and frame size is not valid */
format1.setFrameSize(-1,-1);
QVERIFY(!format1.frameSize().isValid());
QVERIFY(!format1.isValid());
}