Commit d3879738 authored by Deb Mukherjee's avatar Deb Mukherjee Committed by Gerrit Code Review

Merge "Modifying the base q propagation in the mfqe post processing filter in...

Merge "Modifying the base q propagation in the mfqe post processing filter in a way such that when there is a single bad frame, the post-processing is applied not only to just that frame but a few subsequent frames as well."
parents e479379a 90b9f993
...@@ -962,20 +962,25 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t ...@@ -962,20 +962,25 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t
q, 1, 0, RTCD_VTABLE(oci)); q, 1, 0, RTCD_VTABLE(oci));
} }
} }
/* Move partially towards the base q of the previous frame */
oci->postproc_state.last_base_qindex = (3*oci->postproc_state.last_base_qindex + oci->base_qindex)>>2;
} }
else if (flags & VP8D_DEMACROBLOCK) else if (flags & VP8D_DEMACROBLOCK)
{ {
vp8_deblock_and_de_macro_block(oci->frame_to_show, &oci->post_proc_buffer, vp8_deblock_and_de_macro_block(oci->frame_to_show, &oci->post_proc_buffer,
q + (deblock_level - 5) * 10, 1, 0, RTCD_VTABLE(oci)); q + (deblock_level - 5) * 10, 1, 0, RTCD_VTABLE(oci));
oci->postproc_state.last_base_qindex = oci->base_qindex;
} }
else if (flags & VP8D_DEBLOCK) else if (flags & VP8D_DEBLOCK)
{ {
vp8_deblock(oci->frame_to_show, &oci->post_proc_buffer, vp8_deblock(oci->frame_to_show, &oci->post_proc_buffer,
q, 1, 0, RTCD_VTABLE(oci)); q, 1, 0, RTCD_VTABLE(oci));
oci->postproc_state.last_base_qindex = oci->base_qindex;
} }
else else
{ {
vp8_yv12_copy_frame_ptr(oci->frame_to_show, &oci->post_proc_buffer); vp8_yv12_copy_frame_ptr(oci->frame_to_show, &oci->post_proc_buffer);
oci->postproc_state.last_base_qindex = oci->base_qindex;
} }
if (flags & VP8D_ADDNOISE) if (flags & VP8D_ADDNOISE)
...@@ -1361,6 +1366,5 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t ...@@ -1361,6 +1366,5 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t
dest->y_width = oci->Width; dest->y_width = oci->Width;
dest->y_height = oci->Height; dest->y_height = oci->Height;
dest->uv_height = dest->y_height / 2; dest->uv_height = dest->y_height / 2;
oci->postproc_state.last_base_qindex = oci->base_qindex;
return 0; return 0;
} }
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