videonode: imx6: cleanup pixel formats
All formats are now tested. Also, don't use the alpha channel. This is not quite correct for formats with alpha channel but for video probably a good idea. Change-Id: I4a2404d7c96023bb1e3fca41e1f224d23347f290 Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
This commit is contained in:
committed by
The Qt Project
parent
6eba2a2715
commit
19b1dff5b2
@@ -91,7 +91,7 @@ const char *QSGVivanteVideoMaterialShader::fragmentShader() const {
|
|||||||
""
|
""
|
||||||
"void main()"
|
"void main()"
|
||||||
"{"
|
"{"
|
||||||
" gl_FragColor = texture2D( texture, qt_TexCoord ) * opacity;\n"
|
" gl_FragColor = vec4(texture2D( texture, qt_TexCoord ).rgb, 1.0) * opacity;\n"
|
||||||
"}";
|
"}";
|
||||||
return shader;
|
return shader;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,16 +71,14 @@ const QMap<QVideoFrame::PixelFormat, GLenum>& QSGVivanteVideoNode::getVideoForma
|
|||||||
if (static_VideoFormat2GLFormatMap.isEmpty()) {
|
if (static_VideoFormat2GLFormatMap.isEmpty()) {
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YV12, GL_VIV_YV12);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YV12, GL_VIV_YV12);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV12, GL_VIV_NV12);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV12, GL_VIV_NV12);
|
||||||
|
|
||||||
|
|
||||||
// The following formats should work but are untested!
|
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV21, GL_VIV_NV21);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV21, GL_VIV_NV21);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_UYVY, GL_VIV_UYVY);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_UYVY, GL_VIV_UYVY);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YUYV, GL_VIV_YUY2);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YUYV, GL_VIV_YUY2);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB32, GL_RGBA);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB32, GL_BGRA_EXT);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB24, GL_RGB);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_ARGB32, GL_BGRA_EXT);
|
||||||
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_BGR32, GL_RGBA);
|
||||||
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_BGRA32, GL_RGBA);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB565, GL_RGB565);
|
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB565, GL_RGB565);
|
||||||
static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_BGRA32, GL_BGRA_EXT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return static_VideoFormat2GLFormatMap;
|
return static_VideoFormat2GLFormatMap;
|
||||||
|
|||||||
Reference in New Issue
Block a user