summaryrefslogtreecommitdiff
path: root/chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-26 13:57:00 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-11-02 11:31:01 +0000
commit1943b3c2a1dcee36c233724fc4ee7613d71b9cf6 (patch)
tree8c1b5f12357025c197da5427ae02cfdc2f3570d6 /chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
parent21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (diff)
downloadqtwebengine-chromium-1943b3c2a1dcee36c233724fc4ee7613d71b9cf6.tar.gz
BASELINE: Update Chromium to 94.0.4606.111
Change-Id: I924781584def20fc800bedf6ff41fdb96c438193 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc')
-rw-r--r--chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc b/chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
index 0f6c6b16bde..02bd3e197b2 100644
--- a/chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
+++ b/chromium/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
@@ -21,6 +21,9 @@
#include "third_party/libgav1/src/src/warp_prediction.h"
namespace media {
+
+using DecodeStatus = AV1Decoder::AV1Accelerator::Status;
+
namespace {
#define ARRAY_SIZE(ar) (sizeof(ar) / sizeof(ar[0]))
@@ -766,7 +769,7 @@ bool AV1VaapiVideoDecoderDelegate::OutputPicture(const AV1Picture& pic) {
return true;
}
-bool AV1VaapiVideoDecoderDelegate::SubmitDecode(
+DecodeStatus AV1VaapiVideoDecoderDelegate::SubmitDecode(
const AV1Picture& pic,
const libgav1::ObuSequenceHeader& seq_header,
const AV1ReferenceFrameVector& ref_frames,
@@ -783,14 +786,14 @@ bool AV1VaapiVideoDecoderDelegate::SubmitDecode(
std::vector<VASliceParameterBufferAV1> slice_params;
if (!FillAV1PictureParameter(pic, seq_header, ref_frames, pic_param) ||
!FillAV1SliceParameters(tile_buffers, tile_columns, data, slice_params)) {
- return false;
+ return DecodeStatus::kFail;
}
if (!picture_params_) {
picture_params_ = vaapi_wrapper_->CreateVABuffer(
VAPictureParameterBufferType, sizeof(pic_param));
if (!picture_params_)
- return false;
+ return DecodeStatus::kFail;
}
if (slice_params_.size() != slice_params.size()) {
while (slice_params_.size() < slice_params.size()) {
@@ -798,7 +801,7 @@ bool AV1VaapiVideoDecoderDelegate::SubmitDecode(
VASliceParameterBufferType, sizeof(VASliceParameterBufferAV1)));
if (!slice_params_.back()) {
slice_params_.clear();
- return false;
+ return DecodeStatus::kFail;
}
}
slice_params_.resize(slice_params.size());
@@ -813,7 +816,7 @@ bool AV1VaapiVideoDecoderDelegate::SubmitDecode(
auto encoded_data =
vaapi_wrapper_->CreateVABuffer(VASliceDataBufferType, data.size_bytes());
if (!encoded_data)
- return false;
+ return DecodeStatus::kFail;
std::vector<std::pair<VABufferID, VaapiWrapper::VABufferDescriptor>> buffers =
{{picture_params_->id(),
@@ -828,7 +831,9 @@ bool AV1VaapiVideoDecoderDelegate::SubmitDecode(
const auto* vaapi_pic = static_cast<const VaapiAV1Picture*>(&pic);
return vaapi_wrapper_->MapAndCopyAndExecute(
- vaapi_pic->reconstruct_va_surface()->id(), buffers);
+ vaapi_pic->reconstruct_va_surface()->id(), buffers)
+ ? DecodeStatus::kOk
+ : DecodeStatus::kFail;
}
void AV1VaapiVideoDecoderDelegate::OnVAContextDestructionSoon() {