[Win] Create AV1 D3D12 video encode accelerator [chromium/src : main]

0 views
Skip to first unread message

Jianlin Qiu (Gerrit)

unread,
Jan 8, 2025, 11:05:56 PMJan 8
to Yingying Ma, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov, Jianlin Qiu, Rafael Cintron and Yingying Ma

Jianlin Qiu added 4 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 26, Patchset 15 (Latest):// Sensible default values for CDEF taken from
// https://github.com/intel/libva-utils/blob/master/encode/av1encode.c
Jianlin Qiu . unresolved

I would prefer you use that from third_party/libaom/source/libaom/av1/encoder/pickcdef.c;l=750. At least we have different settings for screen content and camera content with that.

Line 28, Patchset 15 (Latest):constexpr std::array<uint8_t, 8> cdef_y_pri_strength = {9, 12, 0, 6,
Jianlin Qiu . unresolved

Even for constexpr std::array, we still expect consts to be defined with kXXX format. So it should be kCdefYPriStrenth. Same for ebelow.

Line 99, Patchset 15 (Latest): // SAFETY: It is safe to access the buffer since the size is 7.
Jianlin Qiu . unresolved

Instead of adding this comment, you could well get the element count of the array instead of hard-code to 7. Same for below.

Line 439, Patchset 15 (Latest): cdef.CdefBits = 3;
Jianlin Qiu . unresolved

Do we really always need 8 groups of cdef strengths? libaom uses 4 groups at most.

Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
  • Jianlin Qiu
  • Rafael Cintron
  • Yingying Ma
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 15
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Attention: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Jianlin Qiu <jianl...@intel.com>
Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Comment-Date: Thu, 09 Jan 2025 04:05:47 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jianlin Qiu (Gerrit)

unread,
Jan 8, 2025, 11:14:08 PMJan 8
to Yingying Ma, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov, Rafael Cintron and Yingying Ma

Jianlin Qiu added 1 comment

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 544, Patchset 15 (Latest): // Rfresh DPB slot 0 with current reconstructed picture.
Jianlin Qiu . unresolved

refresh

Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
  • Rafael Cintron
  • Yingying Ma
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 15
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Attention: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Comment-Date: Thu, 09 Jan 2025 04:13:58 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jianlin Qiu (Gerrit)

unread,
Jan 9, 2025, 9:45:09 PMJan 9
to Yingying Ma, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov, Rafael Cintron and Yingying Ma

Jianlin Qiu added 1 comment

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 68, Patchset 15 (Latest): sequence_header.enable_superres = false;
sequence_header.enable_cdef = true;
sequence_header.enable_restoration = false;
Jianlin Qiu . unresolved

It is expected that when when ibc(intra-block-copy) is enbled, all these flags needs to be disabled. Please make sure cdef_bits is 0 when ibc is on.

Gerrit-Comment-Date: Fri, 10 Jan 2025 02:45:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Pohsiang Hsu (Gerrit)

unread,
Jan 11, 2025, 3:27:08 PMJan 11
to Yingying Ma, Jianlin Qiu, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov, Rafael Cintron and Yingying Ma

Pohsiang Hsu added 4 comments

Patchset-level comments
File-level comment, Patchset 15 (Latest):
Pohsiang Hsu . resolved

Hi, I left some comments. Thanks!

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 152, Patchset 15 (Latest): CHECK_LT(static_cast<size_t>(tid),
VideoBitrateAllocation::kMaxTemporalLayers);
Pohsiang Hsu . unresolved

might want to consider to move this check out of the loop and maybe only check it once against the largest value?

CHECK_LT(static_cast<size_t>(num_temporal_layers), VideoBitrateAllocation::kMaxTemporalLayers);

Line 198, Patchset 15 (Latest): .Codec = D3D12_VIDEO_ENCODER_CODEC_HEVC,
Pohsiang Hsu . unresolved

just double checking, is D3D12_VIDEO_ENCODER_CODEC_HEVC correct here? Should it be D3D12_VIDEO_ENCODER_CODEC_AV1 instead?

Line 380, Patchset 15 (Latest): if (++picture_params_.PictureIndex == gop_sequence_.InterFramePeriod ||
Pohsiang Hsu . unresolved

Just wondering if picture_params_.PictureIndex needs be initialized to like '-1' in the constructor? So that ++ would make the 1st picture a key frame?

Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
  • Rafael Cintron
  • Yingying Ma
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 15
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Attention: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Comment-Date: Sat, 11 Jan 2025 20:26:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Yingying Ma (Gerrit)

unread,
Feb 11, 2025, 1:03:40 AMFeb 11
to Pohsiang Hsu, Jianlin Qiu, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Jianlin Qiu and Pohsiang Hsu

Yingying Ma added 9 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Jianlin Qiu . unresolved

I would prefer you use that from third_party/libaom/source/libaom/av1/encoder/pickcdef.c;l=750. At least we have different settings for screen content and camera content with that.

Yingying Ma

For cdef setting, the value from libaom doesn't show PSNR benefit on camera content, I prefer to keep align with VAAPI in the initial version.

Line 28, Patchset 15:constexpr std::array<uint8_t, 8> cdef_y_pri_strength = {9, 12, 0, 6,
Jianlin Qiu . resolved

Even for constexpr std::array, we still expect consts to be defined with kXXX format. So it should be kCdefYPriStrenth. Same for ebelow.

Yingying Ma

Done

Line 68, Patchset 15: sequence_header.enable_superres = false;

sequence_header.enable_cdef = true;
sequence_header.enable_restoration = false;
Jianlin Qiu . resolved

It is expected that when when ibc(intra-block-copy) is enbled, all these flags needs to be disabled. Please make sure cdef_bits is 0 when ibc is on.

Yingying Ma

The feature of intra-block-copy is not supported yet.

Line 99, Patchset 15: // SAFETY: It is safe to access the buffer since the size is 7.
Jianlin Qiu . resolved

Instead of adding this comment, you could well get the element count of the array instead of hard-code to 7. Same for below.

Yingying Ma

Done

Line 152, Patchset 15: CHECK_LT(static_cast<size_t>(tid),
VideoBitrateAllocation::kMaxTemporalLayers);
Pohsiang Hsu . resolved

might want to consider to move this check out of the loop and maybe only check it once against the largest value?

CHECK_LT(static_cast<size_t>(num_temporal_layers), VideoBitrateAllocation::kMaxTemporalLayers);

Yingying Ma

Done

Line 198, Patchset 15: .Codec = D3D12_VIDEO_ENCODER_CODEC_HEVC,
Pohsiang Hsu . resolved

just double checking, is D3D12_VIDEO_ENCODER_CODEC_HEVC correct here? Should it be D3D12_VIDEO_ENCODER_CODEC_AV1 instead?

Yingying Ma

It should be D3D12_VIDEO_ENCODER_CODEC_AV1! Thanks!

Line 380, Patchset 15: if (++picture_params_.PictureIndex == gop_sequence_.InterFramePeriod ||
Pohsiang Hsu . resolved

Just wondering if picture_params_.PictureIndex needs be initialized to like '-1' in the constructor? So that ++ would make the 1st picture a key frame?

Yingying Ma

Done

Line 439, Patchset 15: cdef.CdefBits = 3;
Jianlin Qiu . resolved

Do we really always need 8 groups of cdef strengths? libaom uses 4 groups at most.

Yingying Ma

Done

Line 544, Patchset 15: // Rfresh DPB slot 0 with current reconstructed picture.
Jianlin Qiu . resolved

refresh

Yingying Ma

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Jianlin Qiu
  • Pohsiang Hsu
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 17
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-Attention: Jianlin Qiu <jianl...@intel.com>
Gerrit-Attention: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-Comment-Date: Tue, 11 Feb 2025 06:03:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Jianlin Qiu <jianl...@intel.com>
Comment-In-Reply-To: Pohsiang Hsu <poh...@microsoft.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Zhibo Wang (Gerrit)

unread,
Feb 12, 2025, 2:34:18 AMFeb 12
to Yingying Ma, Pohsiang Hsu, Jianlin Qiu, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov, Jianlin Qiu, Pohsiang Hsu and Yingying Ma

Zhibo Wang added 6 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 34, Patchset 18 (Latest):#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
Zhibo Wang . unresolved

`std::size`

```
_EXPORT_STD template <class _Ty, size_t _Size>
_NODISCARD constexpr size_t size(const _Ty (&)[_Size]) noexcept {
return _Size;
}
```

The result will be compile-time constant.

Line 88, Patchset 18 (Latest): // SAFETY: The access is safe because |LoopFilterLevel| has 2 elements.
Zhibo Wang . unresolved

`base::span(pic_params.LoopFilter.LoopFilterLevel);` is safe. Ditto elsewhere.

Line 109, Patchset 18 (Latest): UNSAFE_BUFFERS(pic_params.ReferenceFramesReconPictureDescriptors[i])
Zhibo Wang . unresolved

Doing so we may get rid of UNSAFE_BUFFERS checks
```
base::span descriptors = pic_params.ReferenceFramesReconPictureDescriptors;
frame_header.ref_order_hint[i] = descriptors[i].OrderHint;
```

Line 314, Patchset 18 (Latest): .InterFramePeriod = config.gop_length.value_or(kDefaultGOPLength)};
Zhibo Wang . unresolved

We have already set this value in the base delegate, if you don't need one other than 3000.

Line 439, Patchset 18 (Latest): for (uint32_t i = 0; i < ARRAY_SIZE(picture_params_.ReferenceIndices); ++i) {
// SAFETY: The access is safe with the bound check above.
UNSAFE_BUFFERS(picture_params_.ReferenceIndices[i]) = 0;
}
Zhibo Wang . unresolved

Try `std::ranges::fill(picture_params_.ReferenceIndices, 0);`

File media/gpu/windows/d3d12_video_encode_delegate.cc
Line 287, Patchset 18 (Latest): if (codec == VideoCodec::kAV1) {
rate_control.params_.cqp = {
.ConstantQP_FullIntracodedFrame = 26,
.ConstantQP_InterPredictedFrame_PrevRefOnly = 30,
.ConstantQP_InterPredictedFrame_BiDirectionalRef = 30};
rate_control.rate_control_ = {
.Mode = D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP,
.ConfigParams = {.DataSize = sizeof(rate_control.params_.cqp),
.pConfiguration_CQP = &rate_control.params_.cqp},
.TargetFrameRate = {framerate, 1}};
} else {
Zhibo Wang . unresolved

To use software BRC, my plan is to override `UpdateRateControl()` and overwrite `rate_control_` in `InitializeVideoEncoder()`, instead of changing the base delegate.

See https://chromium-review.googlesource.com/c/chromium/src/+/6073677/23/media/gpu/windows/d3d12_video_encode_h264_delegate.cc

Also if possible we may split the software BRC part to another CL.

Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
  • Jianlin Qiu
  • Pohsiang Hsu
  • Yingying Ma
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 18
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Attention: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Jianlin Qiu <jianl...@intel.com>
Gerrit-Attention: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-Comment-Date: Wed, 12 Feb 2025 07:34:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Yingying Ma (Gerrit)

unread,
Feb 12, 2025, 4:00:17 AMFeb 12
to Zhibo Wang, Pohsiang Hsu, Jianlin Qiu, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Zhibo Wang

Yingying Ma added 5 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 34, Patchset 18:#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
Zhibo Wang . resolved

`std::size`

```
_EXPORT_STD template <class _Ty, size_t _Size>
_NODISCARD constexpr size_t size(const _Ty (&)[_Size]) noexcept {
return _Size;
}
```

The result will be compile-time constant.

Yingying Ma

Done

Line 88, Patchset 18: // SAFETY: The access is safe because |LoopFilterLevel| has 2 elements.
Zhibo Wang . resolved

`base::span(pic_params.LoopFilter.LoopFilterLevel);` is safe. Ditto elsewhere.

Yingying Ma

Done

Line 109, Patchset 18: UNSAFE_BUFFERS(pic_params.ReferenceFramesReconPictureDescriptors[i])
Zhibo Wang . resolved

Doing so we may get rid of UNSAFE_BUFFERS checks
```
base::span descriptors = pic_params.ReferenceFramesReconPictureDescriptors;
frame_header.ref_order_hint[i] = descriptors[i].OrderHint;
```

Yingying Ma

Acknowledged

Line 314, Patchset 18: .InterFramePeriod = config.gop_length.value_or(kDefaultGOPLength)};
Zhibo Wang . resolved

We have already set this value in the base delegate, if you don't need one other than 3000.

Yingying Ma

Done

Line 439, Patchset 18: for (uint32_t i = 0; i < ARRAY_SIZE(picture_params_.ReferenceIndices); ++i) {

// SAFETY: The access is safe with the bound check above.
UNSAFE_BUFFERS(picture_params_.ReferenceIndices[i]) = 0;
}
Zhibo Wang . resolved

Try `std::ranges::fill(picture_params_.ReferenceIndices, 0);`

Yingying Ma

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Zhibo Wang
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 19
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
Gerrit-Attention: Zhibo Wang <zhibo...@intel.com>
Gerrit-Comment-Date: Wed, 12 Feb 2025 09:00:08 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Zhibo Wang <zhibo...@intel.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Yingying Ma (Gerrit)

unread,
Feb 13, 2025, 1:48:17 AMFeb 13
to Zhibo Wang, Pohsiang Hsu, Jianlin Qiu, Eugene Zemtsov, Rafael Cintron, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Zhibo Wang

Yingying Ma added 2 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Jianlin Qiu . resolved

I would prefer you use that from third_party/libaom/source/libaom/av1/encoder/pickcdef.c;l=750. At least we have different settings for screen content and camera content with that.

Yingying Ma

For cdef setting, the value from libaom doesn't show PSNR benefit on camera content, I prefer to keep align with VAAPI in the initial version.

Yingying Ma

Done

File media/gpu/windows/d3d12_video_encode_delegate.cc
Line 287, Patchset 18: if (codec == VideoCodec::kAV1) {

rate_control.params_.cqp = {
.ConstantQP_FullIntracodedFrame = 26,
.ConstantQP_InterPredictedFrame_PrevRefOnly = 30,
.ConstantQP_InterPredictedFrame_BiDirectionalRef = 30};
rate_control.rate_control_ = {
.Mode = D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP,
.ConfigParams = {.DataSize = sizeof(rate_control.params_.cqp),
.pConfiguration_CQP = &rate_control.params_.cqp},
.TargetFrameRate = {framerate, 1}};
} else {
Zhibo Wang . resolved

To use software BRC, my plan is to override `UpdateRateControl()` and overwrite `rate_control_` in `InitializeVideoEncoder()`, instead of changing the base delegate.

See https://chromium-review.googlesource.com/c/chromium/src/+/6073677/23/media/gpu/windows/d3d12_video_encode_h264_delegate.cc

Also if possible we may split the software BRC part to another CL.

Yingying Ma

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Zhibo Wang
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 20
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
Gerrit-Attention: Zhibo Wang <zhibo...@intel.com>
Gerrit-Comment-Date: Thu, 13 Feb 2025 06:48:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Zhibo Wang <zhibo...@intel.com>
Comment-In-Reply-To: Yingying Ma <yingy...@intel.com>
Comment-In-Reply-To: Jianlin Qiu <jianl...@intel.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Rafael Cintron (Gerrit)

unread,
Feb 14, 2025, 4:39:51 PMFeb 14
to Yingying Ma, Pohsiang Hsu, Jianlin Qiu, Eugene Zemtsov, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov, Pohsiang Hsu and Yingying Ma

Rafael Cintron voted and added 3 comments

Votes added by Rafael Cintron

Code-Review+1

3 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 232, Patchset 20 (Latest): CHECK(!config.HasSpatialLayer() && !config.HasTemporalLayer())
Rafael Cintron . unresolved

Instead of

```
CHECK(A && B);
```

do

```
CHECK(A);
CHECK(B);
```

With the second code block, if the second CHECK gets hit, you know that A is true. Makes it easier to root cause crash dumps and logs.

File media/gpu/windows/d3d12_video_encoder_wrapper.h
Line 61, Patchset 20 (Latest): D3D12_VIDEO_ENCODER_AV1_PROFILE av1_profile_;
Rafael Cintron . unresolved

I presume there will be new items added to this union over time?

Please add a comment that describes what variable in the class determines which one to use.

File media/gpu/windows/d3d12_video_helpers.cc
Line 241, Patchset 20 (Latest): error << "D3D12VideoEncoder does not support input format "
<< DxgiFormatToString(support->InputFormat) << ". ";
Rafael Cintron . unresolved

For this and other string concatenation in this CL, please use `base::StrCat` for optimal performance.

Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
  • Pohsiang Hsu
  • Yingying Ma
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 20
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Attention: Yingying Ma <yingy...@intel.com>
Gerrit-Attention: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-Comment-Date: Fri, 14 Feb 2025 21:39:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Yingying Ma (Gerrit)

unread,
Feb 17, 2025, 3:28:42 AMFeb 17
to Rafael Cintron, Pohsiang Hsu, Jianlin Qiu, Eugene Zemtsov, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Eugene Zemtsov

Yingying Ma added 5 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 232, Patchset 20: CHECK(!config.HasSpatialLayer() && !config.HasTemporalLayer())
Rafael Cintron . resolved

Instead of

```
CHECK(A && B);
```

do

```
CHECK(A);
CHECK(B);
```

With the second code block, if the second CHECK gets hit, you know that A is true. Makes it easier to root cause crash dumps and logs.

Yingying Ma

Acknowledged

File media/gpu/windows/d3d12_video_encoder_wrapper.h
Line 61, Patchset 20: D3D12_VIDEO_ENCODER_AV1_PROFILE av1_profile_;
Rafael Cintron . resolved

I presume there will be new items added to this union over time?

Please add a comment that describes what variable in the class determines which one to use.

Yingying Ma

Done

Line 61, Patchset 20: D3D12_VIDEO_ENCODER_AV1_PROFILE av1_profile_;
Rafael Cintron . resolved

I presume there will be new items added to this union over time?

Please add a comment that describes what variable in the class determines which one to use.

Yingying Ma

Done

File media/gpu/windows/d3d12_video_helpers.cc
Line 241, Patchset 20: error << "D3D12VideoEncoder does not support input format "
<< DxgiFormatToString(support->InputFormat) << ". ";
Rafael Cintron . resolved

For this and other string concatenation in this CL, please use `base::StrCat` for optimal performance.

Yingying Ma

Done

Line 241, Patchset 20: error << "D3D12VideoEncoder does not support input format "
<< DxgiFormatToString(support->InputFormat) << ". ";
Rafael Cintron . resolved

For this and other string concatenation in this CL, please use `base::StrCat` for optimal performance.

Yingying Ma

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
Gerrit-Change-Number: 6103168
Gerrit-PatchSet: 21
Gerrit-Owner: Yingying Ma <yingy...@intel.com>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Comment-Date: Mon, 17 Feb 2025 08:28:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
satisfied_requirement
open
diffy

Eugene Zemtsov (Gerrit)

unread,
Feb 18, 2025, 10:38:03 PMFeb 18
to Yingying Ma, Eugene Zemtsov, Rafael Cintron, Pohsiang Hsu, Jianlin Qiu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
Attention needed from Yingying Ma

Eugene Zemtsov voted and added 2 comments

Votes added by Eugene Zemtsov

Code-Review+1

2 comments

File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
Line 469, Patchset 22 (Latest): CHECK_LE(1u << cdef.CdefBits, std::size(kCdefYPriStrength));
Eugene Zemtsov . unresolved

no need to do it. there's a CHECK in each `std::array` access

Line 563, Patchset 22 (Latest): std::copy_n(packed_frame_header.data(), packed_header_size,
bitstream_buffer.data());
Eugene Zemtsov . unresolved

I'm surprised that clang doen't catch this raw pointer copy. Could you please use `span::copy_from` here?

Open in Gerrit

Related details

Attention is currently required from:
  • Yingying Ma
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
    Gerrit-Change-Number: 6103168
    Gerrit-PatchSet: 22
    Gerrit-Owner: Yingying Ma <yingy...@intel.com>
    Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
    Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
    Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
    Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
    Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
    Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
    Gerrit-Attention: Yingying Ma <yingy...@intel.com>
    Gerrit-Comment-Date: Wed, 19 Feb 2025 03:37:52 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Yingying Ma (Gerrit)

    unread,
    Feb 20, 2025, 12:26:58 AMFeb 20
    to Eugene Zemtsov, Rafael Cintron, Pohsiang Hsu, Jianlin Qiu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org

    Yingying Ma voted and added 2 comments

    Votes added by Yingying Ma

    Commit-Queue+1

    2 comments

    File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
    Line 469, Patchset 22: CHECK_LE(1u << cdef.CdefBits, std::size(kCdefYPriStrength));
    Eugene Zemtsov . resolved

    no need to do it. there's a CHECK in each `std::array` access

    Yingying Ma

    Done

    Line 563, Patchset 22: std::copy_n(packed_frame_header.data(), packed_header_size,
    bitstream_buffer.data());
    Eugene Zemtsov . resolved

    I'm surprised that clang doen't catch this raw pointer copy. Could you please use `span::copy_from` here?

    Yingying Ma

    Done

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
    Gerrit-Change-Number: 6103168
    Gerrit-PatchSet: 23
    Gerrit-Owner: Yingying Ma <yingy...@intel.com>
    Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
    Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
    Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
    Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
    Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
    Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
    Gerrit-Comment-Date: Thu, 20 Feb 2025 05:26:51 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Eugene Zemtsov <eug...@chromium.org>
    satisfied_requirement
    open
    diffy

    Jianlin Qiu (Gerrit)

    unread,
    Feb 21, 2025, 2:03:35 AMFeb 21
    to Yingying Ma, Eugene Zemtsov, Rafael Cintron, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
    Attention needed from Yingying Ma

    Jianlin Qiu added 1 comment

    File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
    Line 295, Patchset 23 (Latest): D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET)) {
    Jianlin Qiu . unresolved

    I don't think reduced tx set is a mandatory feature. Please make this best-effort instead.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Yingying Ma
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 23
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
      Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
      Gerrit-Attention: Yingying Ma <yingy...@intel.com>
      Gerrit-Comment-Date: Fri, 21 Feb 2025 07:03:20 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Jianlin Qiu (Gerrit)

      unread,
      Feb 25, 2025, 3:51:00 AMFeb 25
      to Yingying Ma, Eugene Zemtsov, Rafael Cintron, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
      Attention needed from Yingying Ma

      Jianlin Qiu voted and added 1 comment

      Votes added by Jianlin Qiu

      Code-Review+1

      1 comment

      Patchset-level comments
      File-level comment, Patchset 23 (Latest):
      Jianlin Qiu . resolved

      Per offline talk, the reduce-tx-mode feature checking will be updated with follow up CL.

      Gerrit-Comment-Date: Tue, 25 Feb 2025 08:50:49 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rafael Cintron (Gerrit)

      unread,
      Mar 3, 2025, 6:11:55 PMMar 3
      to Yingying Ma, Jianlin Qiu, Eugene Zemtsov, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
      Attention needed from Eugene Zemtsov, Jianlin Qiu and Yingying Ma

      Rafael Cintron voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Eugene Zemtsov
      • Jianlin Qiu
      • Yingying Ma
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 26
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
      Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
      Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Attention: Yingying Ma <yingy...@intel.com>
      Gerrit-Attention: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Comment-Date: Mon, 03 Mar 2025 23:11:47 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Jianlin Qiu (Gerrit)

      unread,
      Mar 3, 2025, 7:12:40 PMMar 3
      to Yingying Ma, Rafael Cintron, Eugene Zemtsov, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
      Attention needed from Eugene Zemtsov and Yingying Ma

      Jianlin Qiu voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Eugene Zemtsov
      • Yingying Ma
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 26
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
      Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
      Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Attention: Yingying Ma <yingy...@intel.com>
      Gerrit-Comment-Date: Tue, 04 Mar 2025 00:12:32 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eugene Zemtsov (Gerrit)

      unread,
      Mar 4, 2025, 2:46:02 AMMar 4
      to Yingying Ma, Eugene Zemtsov, Jianlin Qiu, Rafael Cintron, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org
      Attention needed from Yingying Ma

      Eugene Zemtsov voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Yingying Ma
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 26
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
      Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
      Gerrit-Attention: Yingying Ma <yingy...@intel.com>
      Gerrit-Comment-Date: Tue, 04 Mar 2025 07:45:53 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yingying Ma (Gerrit)

      unread,
      Mar 4, 2025, 3:32:18 AMMar 4
      to Eugene Zemtsov, Jianlin Qiu, Rafael Cintron, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org

      Yingying Ma added 1 comment

      File media/gpu/windows/d3d12_video_encode_av1_delegate.cc
      Line 295, Patchset 23: D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET)) {
      Jianlin Qiu . resolved

      I don't think reduced tx set is a mandatory feature. Please make this best-effort instead.

      Yingying Ma

      Will add reduced tx set control in a follow up CL.

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 26
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
      Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
      Gerrit-Comment-Date: Tue, 04 Mar 2025 08:32:08 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Jianlin Qiu <jianl...@intel.com>
      satisfied_requirement
      open
      diffy

      Yingying Ma (Gerrit)

      unread,
      Mar 4, 2025, 3:33:34 AMMar 4
      to Eugene Zemtsov, Jianlin Qiu, Rafael Cintron, Pohsiang Hsu, Chromium LUCI CQ, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org

      Yingying Ma voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 26
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      Gerrit-CC: Pohsiang Hsu <poh...@microsoft.com>
      Gerrit-CC: Zhibo Wang <zhibo...@intel.com>
      Gerrit-Comment-Date: Tue, 04 Mar 2025 08:33:26 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Mar 4, 2025, 4:18:13 AMMar 4
      to Yingying Ma, Eugene Zemtsov, Jianlin Qiu, Rafael Cintron, Zhibo Wang, Pohsiang Hsu, chromium...@chromium.org, poh...@gmail.com, chromeos-gfx-...@google.com, feature-me...@chromium.org, media-cro...@chromium.org, media-wi...@chromium.org

      Chromium LUCI CQ submitted the change

      Change information

      Commit message:
      [Win] Create AV1 D3D12 video encode accelerator

      First pass implementation of the D3D12VideoEncodeAV1Delegate.
      Bug: 40275246
      Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Reviewed-by: Jianlin Qiu <jianl...@intel.com>
      Reviewed-by: Rafael Cintron <rafael....@microsoft.com>
      Commit-Queue: Yingying Ma <yingy...@intel.com>
      Reviewed-by: Eugene Zemtsov <eug...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1427603}
      Files:
      • M media/gpu/BUILD.gn
      • M media/gpu/gpu_video_encode_accelerator_factory.cc
      • M media/gpu/windows/d3d12_video_encode_accelerator.cc
      • M media/gpu/windows/d3d12_video_encode_accelerator.h
      • A media/gpu/windows/d3d12_video_encode_av1_delegate.cc
      • A media/gpu/windows/d3d12_video_encode_av1_delegate.h
      • A media/gpu/windows/d3d12_video_encode_av1_delegate_unittest.cc
      • M media/gpu/windows/d3d12_video_encode_delegate.cc
      • M media/gpu/windows/d3d12_video_encode_delegate.h
      • M media/gpu/windows/d3d12_video_encode_h264_delegate.h
      • M media/gpu/windows/d3d12_video_encode_h265_delegate.h
      • M media/gpu/windows/d3d12_video_encoder_wrapper.cc
      • M media/gpu/windows/d3d12_video_encoder_wrapper.h
      • M media/gpu/windows/d3d12_video_helpers.cc
      • M media/gpu/windows/d3d12_video_helpers.h
      Change size: L
      Delta: 15 files changed, 972 insertions(+), 9 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Eugene Zemtsov, +1 by Rafael Cintron, +1 by Jianlin Qiu
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I97b1185e3d9ef04addd9b10b4e3b7ed4e68fc70b
      Gerrit-Change-Number: 6103168
      Gerrit-PatchSet: 27
      Gerrit-Owner: Yingying Ma <yingy...@intel.com>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
      Gerrit-Reviewer: Jianlin Qiu <jianl...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Yingying Ma <yingy...@intel.com>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages