diff options
author | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2020-02-20 12:57:42 +0100 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2020-06-02 11:14:20 +0000 |
commit | 2b96c113cf7057b556856149114999b973b3f2c2 (patch) | |
tree | 22e9996536bbac1dbf610d2f93e9229f34db05c3 | |
parent | d415aacc308b0c2e9edf11eebfba9a69f7a83bdb (diff) |
Map QVideoFrame::Format_Y8=>QImage::Format_Grayscale8 in QVideoFrame
Pick-to: 5.15
Fixes: QTBUG-52455
Change-Id: I30582582935ae0a2c5094db995cba83b62adc767
Reviewed-by: Liang Qi <liang.qi@qt.io>
4 files changed, 9 insertions, 5 deletions
diff --git a/src/multimedia/video/qvideoframe.cpp b/src/multimedia/video/qvideoframe.cpp index fd7b74075..7840eda31 100644 --- a/src/multimedia/video/qvideoframe.cpp +++ b/src/multimedia/video/qvideoframe.cpp @@ -964,6 +964,8 @@ QVideoFrame::PixelFormat QVideoFrame::pixelFormatFromImageFormat(QImage::Format return Format_RGB555; case QImage::Format_RGB888: return Format_RGB24; + case QImage::Format_Grayscale8: + return Format_Y8; default: return Format_Invalid; } @@ -1017,12 +1019,13 @@ QImage::Format QVideoFrame::imageFormatFromPixelFormat(PixelFormat format) case Format_IMC2: case Format_IMC3: case Format_IMC4: - case Format_Y8: case Format_Y16: case Format_Jpeg: case Format_CameraRaw: case Format_AdobeDng: return QImage::Format_Invalid; + case Format_Y8: + return QImage::Format_Grayscale8; case Format_User: default: return QImage::Format_Invalid; diff --git a/src/multimediawidgets/qpaintervideosurface.cpp b/src/multimediawidgets/qpaintervideosurface.cpp index 6ba7cff02..bb194bd61 100644 --- a/src/multimediawidgets/qpaintervideosurface.cpp +++ b/src/multimediawidgets/qpaintervideosurface.cpp @@ -108,7 +108,8 @@ QVideoSurfaceGenericPainter::QVideoSurfaceGenericPainter() m_imagePixelFormats << QVideoFrame::Format_RGB24; m_imagePixelFormats << QVideoFrame::Format_ARGB32 - << QVideoFrame::Format_RGB565; + << QVideoFrame::Format_RGB565 + << QVideoFrame::Format_Y8; } QList<QVideoFrame::PixelFormat> QVideoSurfaceGenericPainter::supportedPixelFormats( diff --git a/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp b/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp index be5c85ab9..98ec5fc06 100644 --- a/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp +++ b/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp @@ -253,8 +253,8 @@ void tst_QPainterVideoSurface::supportedFormat_data() << QAbstractVideoBuffer::NoHandle << QVideoFrame::Format_Y8 << QSize(640, 480) - << false - << false; + << true + << true; QTest::newRow("Texture: rgb32 640x480") << QAbstractVideoBuffer::GLTextureHandle << QVideoFrame::Format_RGB32 diff --git a/tests/auto/unit/qvideoframe/tst_qvideoframe.cpp b/tests/auto/unit/qvideoframe/tst_qvideoframe.cpp index 943051435..bb77b7cca 100644 --- a/tests/auto/unit/qvideoframe/tst_qvideoframe.cpp +++ b/tests/auto/unit/qvideoframe/tst_qvideoframe.cpp @@ -975,7 +975,7 @@ void tst_QVideoFrame::formatConversion_data() << QImage::Format_Invalid << QVideoFrame::Format_IMC4; QTest::newRow("QVideoFrame::Format_Y8") - << QImage::Format_Invalid + << QImage::Format_Grayscale8 << QVideoFrame::Format_Y8; QTest::newRow("QVideoFrame::Format_Y16") << QImage::Format_Invalid |