vp8e - attempt to lessen blockiness
applies a penalty to intra blocks in order to cut down on blockiness in easy sections. Change-Id: Ia9e5df16328b0bf01bf0f2e6e61abcb687316c12
This commit is contained in:
parent
ce328b855f
commit
b8fa2839a2
@ -16,7 +16,6 @@
|
|||||||
#include "vpx_config.h"
|
#include "vpx_config.h"
|
||||||
#include "vpx_rtcd.h"
|
#include "vpx_rtcd.h"
|
||||||
#include "vp8/common/pragmas.h"
|
#include "vp8/common/pragmas.h"
|
||||||
|
|
||||||
#include "tokenize.h"
|
#include "tokenize.h"
|
||||||
#include "treewriter.h"
|
#include "treewriter.h"
|
||||||
#include "onyx_int.h"
|
#include "onyx_int.h"
|
||||||
@ -26,6 +25,7 @@
|
|||||||
#include "vp8/common/reconinter.h"
|
#include "vp8/common/reconinter.h"
|
||||||
#include "vp8/common/reconintra4x4.h"
|
#include "vp8/common/reconintra4x4.h"
|
||||||
#include "vp8/common/findnearmv.h"
|
#include "vp8/common/findnearmv.h"
|
||||||
|
#include "vp8/common/quant_common.h"
|
||||||
#include "encodemb.h"
|
#include "encodemb.h"
|
||||||
#include "quantize.h"
|
#include "quantize.h"
|
||||||
#include "variance.h"
|
#include "variance.h"
|
||||||
@ -1753,6 +1753,9 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
|
|||||||
int ref_frame_map[4];
|
int ref_frame_map[4];
|
||||||
int sign_bias = 0;
|
int sign_bias = 0;
|
||||||
|
|
||||||
|
int intra_rd_penalty = 10* vp8_dc_quant(cpi->common.base_qindex,
|
||||||
|
cpi->common.y1dc_delta_q);
|
||||||
|
|
||||||
mode_mv = mode_mv_sb[sign_bias];
|
mode_mv = mode_mv_sb[sign_bias];
|
||||||
best_ref_mv.as_int = 0;
|
best_ref_mv.as_int = 0;
|
||||||
vpx_memset(mode_mv_sb, 0, sizeof(mode_mv_sb));
|
vpx_memset(mode_mv_sb, 0, sizeof(mode_mv_sb));
|
||||||
@ -2258,6 +2261,9 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
|
|||||||
}
|
}
|
||||||
// Calculate the final RD estimate for this mode
|
// Calculate the final RD estimate for this mode
|
||||||
this_rd = RDCOST(x->rdmult, x->rddiv, rate2, distortion2);
|
this_rd = RDCOST(x->rdmult, x->rddiv, rate2, distortion2);
|
||||||
|
if (this_rd < INT_MAX && x->e_mbd.mode_info_context->mbmi.ref_frame
|
||||||
|
== INTRA_FRAME)
|
||||||
|
this_rd += intra_rd_penalty;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keep record of best intra distortion
|
// Keep record of best intra distortion
|
||||||
|
Loading…
x
Reference in New Issue
Block a user