int interpolation_filter = 0;
```suggestion
libgav1::InterpoltionFilter interpolation_filter = 0;
```
constexpr std::array kInterpolationFilters = {
static constexpr ...
if (interpolation_filter_it == kInterpolationFilters.end()) {
return {EncoderStatus::Codes::kEncoderInitializationError,
"No interpolation filters available."};
}
Besides this, a driver claiming supporting SWITCHABLE must support either of the three eight-tap filters(regular/smooth/sharp). You may check that here.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
```suggestion
libgav1::InterpoltionFilter interpolation_filter = 0;
```
Done
constexpr std::array kInterpolationFilters = {
Yingying Mastatic constexpr ...
Done
if (interpolation_filter_it == kInterpolationFilters.end()) {
return {EncoderStatus::Codes::kEncoderInitializationError,
"No interpolation filters available."};
}
Besides this, a driver claiming supporting SWITCHABLE must support either of the three eight-tap filters(regular/smooth/sharp). You may check that here.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
auto interpolation_filter_it =
std::ranges::find_if(kInterpolationFilters, [this](int filter) {
return config_support_limit_.SupportedInterpolationFilters &
(1u << filter);
});
include <algorithm> following IWYU rule.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
auto interpolation_filter_it =
std::ranges::find_if(kInterpolationFilters, [this](int filter) {
return config_support_limit_.SupportedInterpolationFilters &
(1u << filter);
});
include <algorithm> following IWYU rule.
Done
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
for (int i = D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP;
i <= D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE; i++) {
if (config_support_limit_.SupportedInterpolationFilters & (1u << i)) {
picture_params_.InterpolationFilter =
static_cast<D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS>(i);
break;
}
}
do we need to do this for every frame? maybe we can do it once and save the result
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
for (int i = D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP;
i <= D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE; i++) {
if (config_support_limit_.SupportedInterpolationFilters & (1u << i)) {
picture_params_.InterpolationFilter =
static_cast<D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS>(i);
break;
}
}
do we need to do this for every frame? maybe we can do it once and save the result
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[](base::span<const D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS>
supported_per_type) {
this lambda doesn't capture anything. can it be a separate helper function?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[](base::span<const D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS>
supported_per_type) {
this lambda doesn't capture anything. can it be a separate helper function?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[D3D12, AV1]Set interpolation filter as indicated by driver
1. Select an appropriate interpolation filter according to the
capabilities reported by d3d12 driver.
2. This CL also calculates these params such as interpolation filter,
loop restoration and tx_mode once during initialization and will not
update during encoding.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |