Merge "Nearest / Zero Mv default entropy tweak." into experimental
This commit is contained in:
Коммит
e4f949b55a
|
@ -12,7 +12,7 @@
|
|||
#include "vp9/common/vp9_entropy.h"
|
||||
|
||||
const int vp9_default_mode_contexts[INTER_MODE_CONTEXTS][4] = {
|
||||
{223, 1, 1, 237}, // 0,0 best: Only candidate
|
||||
{1, 223, 1, 237}, // 0,0 best: Only candidate
|
||||
{87, 166, 26, 219}, // 0,0 best: non zero candidates
|
||||
{89, 67, 18, 125}, // 0,0 best: non zero candidates, split
|
||||
{16, 141, 69, 226}, // strong nz candidate(s), no split
|
||||
|
|
|
@ -792,7 +792,7 @@ static void read_mb_modes_mv(VP9D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi,
|
|||
}
|
||||
*/
|
||||
|
||||
// Is the segment level skip mode enabled
|
||||
// If the segment level skip mode enabled
|
||||
if (vp9_segfeature_active(xd, mbmi->segment_id, SEG_LVL_SKIP)) {
|
||||
mbmi->mode = ZEROMV;
|
||||
} else {
|
||||
|
|
|
@ -221,7 +221,7 @@ static void update_refpred_stats(VP9_COMP *cpi) {
|
|||
//
|
||||
// The branch counts table is re-populated during the actual pack stage and in
|
||||
// the decoder to facilitate backwards update of the context.
|
||||
static void update_mode_probs(VP9_COMMON *cm,
|
||||
static void update_inter_mode_probs(VP9_COMMON *cm,
|
||||
int mode_context[INTER_MODE_CONTEXTS][4]) {
|
||||
int i, j;
|
||||
unsigned int (*mv_ref_ct)[4][2];
|
||||
|
@ -813,7 +813,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m,
|
|||
active_section = 3;
|
||||
#endif
|
||||
|
||||
// Is segment skip is not enabled code the mode.
|
||||
// If segment skip is not enabled code the mode.
|
||||
if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_SKIP)) {
|
||||
if (mi->sb_type) {
|
||||
write_sb_mv_ref(bc, mode, mv_ref_p);
|
||||
|
@ -1872,7 +1872,13 @@ void vp9_pack_bitstream(VP9_COMP *cpi, unsigned char *dest,
|
|||
if (pc->frame_type != KEY_FRAME) {
|
||||
int i, j;
|
||||
int new_context[INTER_MODE_CONTEXTS][4];
|
||||
update_mode_probs(pc, new_context);
|
||||
if (!cpi->dummy_packing) {
|
||||
update_inter_mode_probs(pc, new_context);
|
||||
} else {
|
||||
// In dummy pack assume context unchanged.
|
||||
vpx_memcpy(new_context, pc->fc.vp9_mode_contexts,
|
||||
sizeof(pc->fc.vp9_mode_contexts));
|
||||
}
|
||||
|
||||
for (i = 0; i < INTER_MODE_CONTEXTS; i++) {
|
||||
for (j = 0; j < 4; j++) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче