#include "media/gpu/vaapi/vaapi_webp_decoder.h"
#include <va/va.h>
#include "base/feature_list.h"
#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "gpu/config/gpu_finch_features.h"
#include "media/gpu/macros.h"
#include "media/gpu/vaapi/vaapi_utils.h"
#include "media/gpu/vaapi/vaapi_wrapper.h"
#include "media/gpu/vp8_reference_frame_vector.h"
#include "media/parsers/vp8_parser.h"
#include "media/parsers/webp_parser.h"
#include "ui/gfx/geometry/size.h"
namespace media {
namespace {
constexpr VAProfile kWebPVAProfile = …;
constexpr unsigned int kWebPVARtFormat = …;
static bool IsVaapiSupportedWebP(const Vp8FrameHeader& webp_header) { … }
}
VaapiWebPDecoder::VaapiWebPDecoder() : … { … }
VaapiWebPDecoder::~VaapiWebPDecoder() = default;
gpu::ImageDecodeAcceleratorType VaapiWebPDecoder::GetType() const { … }
SkYUVColorSpace VaapiWebPDecoder::GetYUVColorSpace() const { … }
std::optional<gpu::ImageDecodeAcceleratorSupportedProfile>
VaapiWebPDecoder::GetSupportedProfile() { … }
VaapiImageDecodeStatus VaapiWebPDecoder::AllocateVASurfaceAndSubmitVABuffers(
base::span<const uint8_t> encoded_image) { … }
}