Commit 7d47c04f authored by Hirokazu Honda's avatar Hirokazu Honda Committed by Commit Bot

media/gpu/vaapi/VP8Encoder: Update the reason why mb_no_skip_coeff=1 and loop_filter_adj_enable=1

We set mb_skip_coeff and loop_filter_adj_enable to 1 in crrev.com/c/1773662.
They are mainly for a workaround that some decoders shows artifacts with the
VP8 stream produced by an intel encoder.
After some investigations, it turns out they are a proper fix.
This CL updates the reasons in the comment why those parameters are set to 1.

no artifact is there

Bug: b:139766881, b:138840822
Test: decode VP8 stream produced by Intel encoder on eve and atlas, and confirm
Change-Id: I6e4e4425edfd59e9be70680c32786d5a95aa9d17
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792219Reviewed-by: default avatarSreerenj Balachandran <sreerenj.balachandran@intel.com>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#697410}
parent 664268dc
......@@ -163,13 +163,16 @@ void VP8Encoder::InitializeFrameHeader() {
current_frame_hdr_.show_frame = true;
// TODO(sprang): Make this dynamic. Value based on reference implementation
// in libyami (https://github.com/intel/libyami).
current_frame_hdr_.loopfilter_hdr.level = 19;
// b/138840822: Set mb_no_skip_coeff and loop_filter_adj_enable to 1 as a
// workaround of color artifacts issue with a kepler device hw decoder and
// ffmpeg sw decoder.
current_frame_hdr_.mb_no_skip_coeff = 1;
// A VA-API driver recommends to set forced_lf_adjustment on keyframe.
// Set loop_filter_adj_enable to 1 here because forced_lf_adjustment is read
// only when a macroblock level loop filter adjustment.
current_frame_hdr_.loopfilter_hdr.loop_filter_adj_enable = 1;
// Set mb_no_skip_coeff to 1 that some decoders (e.g. kepler) could not decode
// correctly a stream encoded with mb_no_skip_coeff=0. It also enables an
// encoder to produce a more optimized stream than when mb_no_skip_coeff=0.
current_frame_hdr_.mb_no_skip_coeff = 1;
}
void VP8Encoder::UpdateFrameHeader(bool keyframe) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment