File old-libva.patch of Package chromium.openSUSE_Leap_15.0_Update
Index: chromium-77.0.3865.75/media/gpu/vaapi/vaapi_wrapper.cc
===================================================================
--- chromium-77.0.3865.75.orig/media/gpu/vaapi/vaapi_wrapper.cc
+++ chromium-77.0.3865.75/media/gpu/vaapi/vaapi_wrapper.cc
@@ -62,6 +62,10 @@
#include "ui/ozone/public/surface_factory_ozone.h"
#endif
+#ifndef VA_FOURCC_I420
+#define VA_FOURCC_I420 0x30323449
+#endif
+
using media_gpu_vaapi::kModuleVa;
using media_gpu_vaapi::kModuleVa_drm;
#if defined(USE_X11)
@@ -350,10 +354,6 @@ bool VADisplayState::Initialize() {
}
bool VADisplayState::InitializeOnce() {
- static_assert(
- VA_MAJOR_VERSION >= 2 || (VA_MAJOR_VERSION == 1 && VA_MINOR_VERSION >= 1),
- "Requires VA-API >= 1.1.0");
-
switch (gl::GetGLImplementation()) {
case gl::kGLImplementationEGLGLES2:
va_display_ = vaGetDisplayDRM(drm_fd_.get());
@@ -1407,6 +1407,7 @@ scoped_refptr<VASurface> VaapiWrapper::C
scoped_refptr<gfx::NativePixmapDmaBuf>
VaapiWrapper::ExportVASurfaceAsNativePixmapDmaBuf(VASurfaceID va_surface_id) {
+#if VA_MAJOR_VERSION >= 2 || (VA_MAJOR_VERSION == 1 && VA_MINOR_VERSION >= 2)
VADRMPRIMESurfaceDescriptor descriptor;
{
base::AutoLock auto_lock(*va_lock_);
@@ -1484,6 +1485,10 @@ VaapiWrapper::ExportVASurfaceAsNativePix
gfx::Size(base::checked_cast<int>(descriptor.width),
base::checked_cast<int>(descriptor.height)),
buffer_format, std::move(handle));
+#else
+ LOG(ERROR) << "Exporting a surface with FOURCC has been disabled on old libva";
+ return nullptr;
+#endif
}
bool VaapiWrapper::SubmitBuffer(VABufferType va_buffer_type,
Index: chromium-77.0.3865.75/media/gpu/vaapi/vaapi_jpeg_decoder.cc
===================================================================
--- chromium-77.0.3865.75.orig/media/gpu/vaapi/vaapi_jpeg_decoder.cc
+++ chromium-77.0.3865.75/media/gpu/vaapi/vaapi_jpeg_decoder.cc
@@ -20,6 +20,10 @@
#include "media/parsers/jpeg_parser.h"
#include "ui/gfx/geometry/size.h"
+#ifndef VA_FOURCC_I420
+#define VA_FOURCC_I420 0x30323449
+#endif
+
namespace media {
namespace {
Index: chromium-77.0.3865.75/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
===================================================================
--- chromium-77.0.3865.75.orig/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
+++ chromium-77.0.3865.75/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
@@ -30,6 +30,10 @@
#include "third_party/libyuv/include/libyuv.h"
#include "ui/gfx/geometry/size.h"
+#ifndef VA_FOURCC_I420
+#define VA_FOURCC_I420 0x30323449
+#endif
+
namespace media {
namespace {