This commit removed the macro CONFIG_MULCONTEXT, which was used to
indicate the experiment code for using separate context for altref
and normal frames. This commit made the change fully merged in.

Change-Id: I525f927f68e2365d37b340ef23b836a136a4f70b
This commit is contained in:
Yaowu Xu 2011-12-07 13:55:58 -08:00
Родитель d37cd97682
Коммит b70f23caec
6 изменённых файлов: 1 добавлений и 36 удалений

1
configure поставляемый
Просмотреть файл

@ -226,7 +226,6 @@ EXPERIMENT_LIST="
qimode qimode
uvintra uvintra
newnear newnear
mulcontext
" "
CONFIG_LIST=" CONFIG_LIST="
external_build external_build

Просмотреть файл

@ -211,9 +211,7 @@ typedef struct VP8Common
vp8_prob i8x8_mode_prob [VP8_UV_MODES-1]; vp8_prob i8x8_mode_prob [VP8_UV_MODES-1];
#if CONFIG_MULCONTEXT
FRAME_CONTEXT lfc_a; /* last alt ref entropy */ FRAME_CONTEXT lfc_a; /* last alt ref entropy */
#endif
FRAME_CONTEXT lfc; /* last frame entropy */ FRAME_CONTEXT lfc; /* last frame entropy */
FRAME_CONTEXT fc; /* this frame entropy */ FRAME_CONTEXT fc; /* this frame entropy */

Просмотреть файл

@ -844,10 +844,9 @@ static void init_frame(VP8D_COMP *pbi)
pc->ref_frame_sign_bias[GOLDEN_FRAME] = 0; pc->ref_frame_sign_bias[GOLDEN_FRAME] = 0;
pc->ref_frame_sign_bias[ALTREF_FRAME] = 0; pc->ref_frame_sign_bias[ALTREF_FRAME] = 0;
#if CONFIG_MULCONTEXT
vpx_memcpy(&pc->lfc, &pc->fc, sizeof(pc->fc)); vpx_memcpy(&pc->lfc, &pc->fc, sizeof(pc->fc));
vpx_memcpy(&pc->lfc_a, &pc->fc, sizeof(pc->fc)); vpx_memcpy(&pc->lfc_a, &pc->fc, sizeof(pc->fc));
#endif
#if CONFIG_NEWNEAR #if CONFIG_NEWNEAR
vp8_init_mv_ref_counts(&pbi->common); vp8_init_mv_ref_counts(&pbi->common);
#endif #endif
@ -1236,12 +1235,10 @@ int vp8_decode_frame(VP8D_COMP *pbi)
pc->refresh_alt_ref_frame = 0; pc->refresh_alt_ref_frame = 0;
#endif #endif
#if CONFIG_MULCONTEXT
if(pc->refresh_alt_ref_frame) if(pc->refresh_alt_ref_frame)
vpx_memcpy(&pc->fc, &pc->lfc_a, sizeof(pc->fc)); vpx_memcpy(&pc->fc, &pc->lfc_a, sizeof(pc->fc));
else else
vpx_memcpy(&pc->fc, &pc->lfc, sizeof(pc->fc)); vpx_memcpy(&pc->fc, &pc->lfc, sizeof(pc->fc));
#endif
/* Buffer to buffer copy flags. */ /* Buffer to buffer copy flags. */
pc->copy_buffer_to_gf = 0; pc->copy_buffer_to_gf = 0;
@ -1450,7 +1447,6 @@ int vp8_decode_frame(VP8D_COMP *pbi)
{ {
pc->last_kf_gf_q = pc->base_qindex; pc->last_kf_gf_q = pc->base_qindex;
} }
#if CONFIG_MULCONTEXT
if(pc->refresh_entropy_probs) if(pc->refresh_entropy_probs)
{ {
if(pc->refresh_alt_ref_frame) if(pc->refresh_alt_ref_frame)
@ -1458,13 +1454,6 @@ int vp8_decode_frame(VP8D_COMP *pbi)
else else
vpx_memcpy(&pc->lfc, &pc->fc, sizeof(pc->fc)); vpx_memcpy(&pc->lfc, &pc->fc, sizeof(pc->fc));
} }
#else
if (pc->refresh_entropy_probs == 0)
{
vpx_memcpy(&pc->fc, &pc->lfc, sizeof(pc->fc));
pbi->independent_partitions = prev_independent_partitions;
}
#endif
#ifdef PACKET_TESTING #ifdef PACKET_TESTING
{ {

Просмотреть файл

@ -2294,13 +2294,6 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size)
vp8_clear_system_state(); //__asm emms; vp8_clear_system_state(); //__asm emms;
//************************************************
// save a copy for later refresh
#if !CONFIG_MULCONTEXT
{
vpx_memcpy(&cpi->common.lfc, &cpi->common.fc, sizeof(cpi->common.fc));
}
#endif
update_coef_probs(cpi); update_coef_probs(cpi);
#ifdef ENTROPY_STATS #ifdef ENTROPY_STATS

Просмотреть файл

@ -4353,13 +4353,11 @@ static void encode_frame_to_data_rate
resize_key_frame(cpi); resize_key_frame(cpi);
vp8_setup_key_frame(cpi); vp8_setup_key_frame(cpi);
} }
#if CONFIG_MULCONTEXT
else else
{ {
/* setup entropy for nonkey frame */ /* setup entropy for nonkey frame */
vp8_setup_inter_frame(cpi); vp8_setup_inter_frame(cpi);
} }
#endif
// transform / motion compensation build reconstruction frame // transform / motion compensation build reconstruction frame
vp8_encode_frame(cpi); vp8_encode_frame(cpi);
@ -5522,7 +5520,6 @@ int vp8_get_compressed_data(VP8_PTR ptr, unsigned int *frame_flags, unsigned lon
#if CONFIG_MULCONTEXT
if(cm->refresh_entropy_probs) if(cm->refresh_entropy_probs)
{ {
if(cm->refresh_alt_ref_frame) if(cm->refresh_alt_ref_frame)
@ -5530,13 +5527,6 @@ int vp8_get_compressed_data(VP8_PTR ptr, unsigned int *frame_flags, unsigned lon
else else
vpx_memcpy(&cm->lfc, &cm->fc, sizeof(cm->fc)); vpx_memcpy(&cm->lfc, &cm->fc, sizeof(cm->fc));
} }
#else
if (cm->refresh_entropy_probs == 0)
{
vpx_memcpy(&cm->fc, &cm->lfc, sizeof(cm->fc));
}
#endif
// if its a dropped frame honor the requests on subsequent frames // if its a dropped frame honor the requests on subsequent frames
if (*size > 0) if (*size > 0)

Просмотреть файл

@ -262,16 +262,13 @@ void vp8_setup_key_frame(VP8_COMP *cpi)
cpi->common.refresh_golden_frame = TRUE; cpi->common.refresh_golden_frame = TRUE;
cpi->common.refresh_alt_ref_frame = TRUE; cpi->common.refresh_alt_ref_frame = TRUE;
#if CONFIG_MULCONTEXT
vpx_memcpy(&cpi->common.lfc, &cpi->common.fc, sizeof(cpi->common.fc)); vpx_memcpy(&cpi->common.lfc, &cpi->common.fc, sizeof(cpi->common.fc));
vpx_memcpy(&cpi->common.lfc_a, &cpi->common.fc, sizeof(cpi->common.fc)); vpx_memcpy(&cpi->common.lfc_a, &cpi->common.fc, sizeof(cpi->common.fc));
#endif
#if CONFIG_NEWNEAR #if CONFIG_NEWNEAR
vp8_init_mv_ref_counts(&cpi->common); vp8_init_mv_ref_counts(&cpi->common);
#endif #endif
} }
#if CONFIG_MULCONTEXT
void vp8_setup_inter_frame(VP8_COMP *cpi) void vp8_setup_inter_frame(VP8_COMP *cpi)
{ {
if(cpi->common.refresh_alt_ref_frame) if(cpi->common.refresh_alt_ref_frame)
@ -279,7 +276,6 @@ void vp8_setup_inter_frame(VP8_COMP *cpi)
else else
vpx_memcpy(&cpi->common.fc, &cpi->common.lfc, sizeof(cpi->common.fc)); vpx_memcpy(&cpi->common.fc, &cpi->common.lfc, sizeof(cpi->common.fc));
} }
#endif
static int estimate_bits_at_q(int frame_kind, int Q, int MBs, static int estimate_bits_at_q(int frame_kind, int Q, int MBs,