#include "media/gpu/vp9_decoder.h"
#include <memory>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "media/base/limits.h"
#include "media/base/media_switches.h"
#include "media/base/platform_features.h"
#include "media/gpu/vp9_decoder.h"
namespace media {
namespace {
bool GetSpatialLayerFrameSize(const DecoderBuffer& decoder_buffer,
std::vector<uint32_t>& frame_sizes) { … }
VideoCodecProfile VP9ProfileToVideoCodecProfile(uint8_t profile) { … }
bool IsValidBitDepth(uint8_t bit_depth, VideoCodecProfile profile) { … }
VideoChromaSampling GetVP9ChromaSampling(const Vp9FrameHeader& frame_header) { … }
}
VP9Decoder::VP9Accelerator::VP9Accelerator() { … }
VP9Decoder::VP9Accelerator::~VP9Accelerator() { … }
scoped_refptr<VP9Picture> VP9Decoder::VP9Accelerator::CreateVP9PictureSecure(
uint64_t secure_handle) { … }
VP9Decoder::VP9Decoder(std::unique_ptr<VP9Accelerator> accelerator,
VideoCodecProfile profile,
const VideoColorSpace& container_color_space)
: … { … }
VP9Decoder::~VP9Decoder() = default;
void VP9Decoder::SetStream(int32_t id, const DecoderBuffer& decoder_buffer) { … }
bool VP9Decoder::Flush() { … }
void VP9Decoder::Reset() { … }
VP9Decoder::DecodeResult VP9Decoder::Decode() { … }
VP9Decoder::VP9Accelerator::Status VP9Decoder::DecodeAndOutputPicture(
scoped_refptr<VP9Picture> pic) { … }
void VP9Decoder::SetError() { … }
gfx::Size VP9Decoder::GetPicSize() const { … }
gfx::Rect VP9Decoder::GetVisibleRect() const { … }
VideoCodecProfile VP9Decoder::GetProfile() const { … }
uint8_t VP9Decoder::GetBitDepth() const { … }
VideoChromaSampling VP9Decoder::GetChromaSampling() const { … }
VideoColorSpace VP9Decoder::GetVideoColorSpace() const { … }
std::optional<gfx::HDRMetadata> VP9Decoder::GetHDRMetadata() const { … }
size_t VP9Decoder::GetRequiredNumOfPictures() const { … }
size_t VP9Decoder::GetNumReferenceFrames() const { … }
}