Enable tx_skip for inter blocks
Enable tx_skip for inter blocks whose q-index is smaller than 64. tx_skip experiment alone: derflr: +0.233% (was +0.038%) all experiments: derflr: +5.98% (was +5.94%) Change-Id: I35245a476ff7039fec8468a92a6aa63feaf74831
This commit is contained in:
parent
1ae3989558
commit
2118f66a91
@ -23,7 +23,7 @@ extern "C" {
|
||||
#define QINDEX_RANGE (MAXQ - MINQ + 1)
|
||||
#define QINDEX_BITS 8
|
||||
#if CONFIG_TX_SKIP
|
||||
#define TX_SKIP_Q_THRESH_INTER 0
|
||||
#define TX_SKIP_Q_THRESH_INTER 64
|
||||
#define TX_SKIP_Q_THRESH_INTRA 255
|
||||
#define TX_SKIP_SHIFT_THRESH 0
|
||||
#endif // CONFIG_TX_SKIP
|
||||
|
@ -1020,8 +1020,13 @@ static void read_inter_frame_mode_info(VP9_COMMON *const cm,
|
||||
int q_idx = vp9_get_qindex(&cm->seg, mbmi->segment_id, cm->base_qindex);
|
||||
int try_tx_skip = inter_block ? q_idx <= TX_SKIP_Q_THRESH_INTER :
|
||||
q_idx <= TX_SKIP_Q_THRESH_INTRA;
|
||||
#if CONFIG_COPY_MODE
|
||||
if (mbmi->copy_mode != NOREF)
|
||||
try_tx_skip = 0;
|
||||
#endif // CONFIG_COPY_MODE
|
||||
|
||||
#if CONFIG_SUPERTX
|
||||
if (try_tx_skip) {
|
||||
if (try_tx_skip && !supertx_enabled) {
|
||||
#else
|
||||
if (try_tx_skip && (!mbmi->skip || !inter_block)) {
|
||||
#endif // CONFIG_SUPERTX
|
||||
|
@ -478,8 +478,15 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, const MODE_INFO *mi,
|
||||
int q_idx = vp9_get_qindex(seg, segment_id, cm->base_qindex);
|
||||
int try_tx_skip = is_inter ? q_idx <= TX_SKIP_Q_THRESH_INTER :
|
||||
q_idx <= TX_SKIP_Q_THRESH_INTRA;
|
||||
|
||||
#if CONFIG_COPY_MODE
|
||||
if (mbmi->copy_mode != NOREF) {
|
||||
try_tx_skip = 0;
|
||||
}
|
||||
#endif // CONFIG_COPY_MODE
|
||||
|
||||
#if CONFIG_SUPERTX
|
||||
if (try_tx_skip) {
|
||||
if (try_tx_skip && !supertx_enabled) {
|
||||
#else
|
||||
if (try_tx_skip && (!skip || !is_inter)) {
|
||||
#endif // CONFIG_SUPERTX
|
||||
|
@ -1090,7 +1090,11 @@ static void update_supertx_param(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
|
||||
ctx->skip = x->skip;
|
||||
#if CONFIG_EXT_TX
|
||||
ctx->mic.mbmi.ext_txfrm = best_tx;
|
||||
#endif
|
||||
#endif // CONFIG_EXT_TX
|
||||
#if CONFIG_TX_SKIP
|
||||
ctx->mic.mbmi.tx_skip[0] = 0;
|
||||
ctx->mic.mbmi.tx_skip[1] = 0;
|
||||
#endif // CONFIG_EXT_TX
|
||||
}
|
||||
|
||||
static void update_supertx_param_sb(VP9_COMP *cpi, int mi_row, int mi_col,
|
||||
@ -4833,6 +4837,11 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
|
||||
int q_idx = vp9_get_qindex(&cm->seg, mbmi->segment_id, cm->base_qindex);
|
||||
int try_tx_skip = is_inter_block(mbmi) ? q_idx <= TX_SKIP_Q_THRESH_INTER :
|
||||
q_idx <= TX_SKIP_Q_THRESH_INTRA;
|
||||
#if CONFIG_COPY_MODE
|
||||
if (mbmi->copy_mode != NOREF)
|
||||
try_tx_skip = 0;
|
||||
#endif // CONFIG_COPY_MODE
|
||||
|
||||
#if CONFIG_SUPERTX
|
||||
if (try_tx_skip) {
|
||||
#else
|
||||
@ -5303,6 +5312,11 @@ static void rd_supertx_sb(VP9_COMP *cpi, const TileInfo *const tile,
|
||||
*best_tx = NORM;
|
||||
#endif
|
||||
|
||||
#if CONFIG_TX_SKIP
|
||||
xd->mi[0].mbmi.tx_skip[0] = 0;
|
||||
xd->mi[0].mbmi.tx_skip[1] = 0;
|
||||
#endif
|
||||
|
||||
// chroma
|
||||
skippable_uv = 1;
|
||||
rate_uv = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user