Renaming constants.
NUM_YV12_BUFFERS => FRAME_BUFFERS ALLOWED_REFS_PER_FRAME => REFS_PER_FRAME NUM_REF_FRAMES_LOG2 => REF_FRAMES_LOG2 NUM_REF_FRAMES => REF_FRAMES NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2 NUM_FRAME_CONTEXTS => FRAME_CONTEXTS Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
This commit is contained in:
		@@ -34,7 +34,7 @@ void vp9_update_mode_info_border(VP9_COMMON *cm, MODE_INFO *mi) {
 | 
				
			|||||||
void vp9_free_frame_buffers(VP9_COMMON *cm) {
 | 
					void vp9_free_frame_buffers(VP9_COMMON *cm) {
 | 
				
			||||||
  int i;
 | 
					  int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < NUM_YV12_BUFFERS; i++)
 | 
					  for (i = 0; i < FRAME_BUFFERS; i++)
 | 
				
			||||||
    vp9_free_frame_buffer(&cm->yv12_fb[i]);
 | 
					    vp9_free_frame_buffer(&cm->yv12_fb[i]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vp9_free_frame_buffer(&cm->post_proc_buffer);
 | 
					  vp9_free_frame_buffer(&cm->post_proc_buffer);
 | 
				
			||||||
@@ -141,20 +141,20 @@ int vp9_alloc_frame_buffers(VP9_COMMON *cm, int width, int height) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  vp9_free_frame_buffers(cm);
 | 
					  vp9_free_frame_buffers(cm);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < NUM_YV12_BUFFERS; i++) {
 | 
					  for (i = 0; i < FRAME_BUFFERS; i++) {
 | 
				
			||||||
    cm->fb_idx_ref_cnt[i] = 0;
 | 
					    cm->fb_idx_ref_cnt[i] = 0;
 | 
				
			||||||
    if (vp9_alloc_frame_buffer(&cm->yv12_fb[i], width, height, ss_x, ss_y,
 | 
					    if (vp9_alloc_frame_buffer(&cm->yv12_fb[i], width, height, ss_x, ss_y,
 | 
				
			||||||
                               VP9BORDERINPIXELS) < 0)
 | 
					                               VP9BORDERINPIXELS) < 0)
 | 
				
			||||||
      goto fail;
 | 
					      goto fail;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  cm->new_fb_idx = NUM_YV12_BUFFERS - 1;
 | 
					  cm->new_fb_idx = FRAME_BUFFERS - 1;
 | 
				
			||||||
  cm->fb_idx_ref_cnt[cm->new_fb_idx] = 1;
 | 
					  cm->fb_idx_ref_cnt[cm->new_fb_idx] = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < ALLOWED_REFS_PER_FRAME; i++)
 | 
					  for (i = 0; i < REFS_PER_FRAME; i++)
 | 
				
			||||||
    cm->active_ref_idx[i] = i;
 | 
					    cm->active_ref_idx[i] = i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < NUM_REF_FRAMES; i++) {
 | 
					  for (i = 0; i < REF_FRAMES; i++) {
 | 
				
			||||||
    cm->ref_frame_map[i] = i;
 | 
					    cm->ref_frame_map[i] = i;
 | 
				
			||||||
    cm->fb_idx_ref_cnt[i] = 1;
 | 
					    cm->fb_idx_ref_cnt[i] = 1;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -459,7 +459,7 @@ void vp9_setup_past_independence(VP9_COMMON *cm) {
 | 
				
			|||||||
  if (cm->frame_type == KEY_FRAME ||
 | 
					  if (cm->frame_type == KEY_FRAME ||
 | 
				
			||||||
      cm->error_resilient_mode || cm->reset_frame_context == 3) {
 | 
					      cm->error_resilient_mode || cm->reset_frame_context == 3) {
 | 
				
			||||||
    // Reset all frame contexts.
 | 
					    // Reset all frame contexts.
 | 
				
			||||||
    for (i = 0; i < NUM_FRAME_CONTEXTS; ++i)
 | 
					    for (i = 0; i < FRAME_CONTEXTS; ++i)
 | 
				
			||||||
      cm->frame_contexts[i] = cm->fc;
 | 
					      cm->frame_contexts[i] = cm->fc;
 | 
				
			||||||
  } else if (cm->reset_frame_context == 2) {
 | 
					  } else if (cm->reset_frame_context == 2) {
 | 
				
			||||||
    // Reset only the frame context specified in the frame header.
 | 
					    // Reset only the frame context specified in the frame header.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,18 +25,18 @@
 | 
				
			|||||||
#include "vp9/common/vp9_postproc.h"
 | 
					#include "vp9/common/vp9_postproc.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ALLOWED_REFS_PER_FRAME 3
 | 
					#define REFS_PER_FRAME 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define NUM_REF_FRAMES_LOG2 3
 | 
					#define REF_FRAMES_LOG2 3
 | 
				
			||||||
#define NUM_REF_FRAMES (1 << NUM_REF_FRAMES_LOG2)
 | 
					#define REF_FRAMES (1 << REF_FRAMES_LOG2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 1 scratch frame for the new frame, 3 for scaled references on the encoder
 | 
					// 1 scratch frame for the new frame, 3 for scaled references on the encoder
 | 
				
			||||||
// TODO(jkoleszar): These 3 extra references could probably come from the
 | 
					// TODO(jkoleszar): These 3 extra references could probably come from the
 | 
				
			||||||
// normal reference pool.
 | 
					// normal reference pool.
 | 
				
			||||||
#define NUM_YV12_BUFFERS (NUM_REF_FRAMES + 4)
 | 
					#define FRAME_BUFFERS (REF_FRAMES + 4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define NUM_FRAME_CONTEXTS_LOG2 2
 | 
					#define FRAME_CONTEXTS_LOG2 2
 | 
				
			||||||
#define NUM_FRAME_CONTEXTS (1 << NUM_FRAME_CONTEXTS_LOG2)
 | 
					#define FRAME_CONTEXTS (1 << FRAME_CONTEXTS_LOG2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern const struct {
 | 
					extern const struct {
 | 
				
			||||||
  PARTITION_CONTEXT above;
 | 
					  PARTITION_CONTEXT above;
 | 
				
			||||||
@@ -113,17 +113,17 @@ typedef struct VP9Common {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  YV12_BUFFER_CONFIG *frame_to_show;
 | 
					  YV12_BUFFER_CONFIG *frame_to_show;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  YV12_BUFFER_CONFIG yv12_fb[NUM_YV12_BUFFERS];
 | 
					  YV12_BUFFER_CONFIG yv12_fb[FRAME_BUFFERS];
 | 
				
			||||||
  int fb_idx_ref_cnt[NUM_YV12_BUFFERS]; /* reference counts */
 | 
					  int fb_idx_ref_cnt[FRAME_BUFFERS]; /* reference counts */
 | 
				
			||||||
  int ref_frame_map[NUM_REF_FRAMES]; /* maps fb_idx to reference slot */
 | 
					  int ref_frame_map[REF_FRAMES]; /* maps fb_idx to reference slot */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // TODO(jkoleszar): could expand active_ref_idx to 4, with 0 as intra, and
 | 
					  // TODO(jkoleszar): could expand active_ref_idx to 4, with 0 as intra, and
 | 
				
			||||||
  // roll new_fb_idx into it.
 | 
					  // roll new_fb_idx into it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Each frame can reference ALLOWED_REFS_PER_FRAME buffers
 | 
					  // Each frame can reference REFS_PER_FRAME buffers
 | 
				
			||||||
  int active_ref_idx[ALLOWED_REFS_PER_FRAME];
 | 
					  int active_ref_idx[REFS_PER_FRAME];
 | 
				
			||||||
  struct scale_factors active_ref_scale[ALLOWED_REFS_PER_FRAME];
 | 
					  struct scale_factors active_ref_scale[REFS_PER_FRAME];
 | 
				
			||||||
  struct scale_factors_common active_ref_scale_comm[ALLOWED_REFS_PER_FRAME];
 | 
					  struct scale_factors_common active_ref_scale_comm[REFS_PER_FRAME];
 | 
				
			||||||
  int new_fb_idx;
 | 
					  int new_fb_idx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  YV12_BUFFER_CONFIG post_proc_buffer;
 | 
					  YV12_BUFFER_CONFIG post_proc_buffer;
 | 
				
			||||||
@@ -198,7 +198,7 @@ typedef struct VP9Common {
 | 
				
			|||||||
  REFERENCE_MODE comp_pred_mode;
 | 
					  REFERENCE_MODE comp_pred_mode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  FRAME_CONTEXT fc;  /* this frame entropy */
 | 
					  FRAME_CONTEXT fc;  /* this frame entropy */
 | 
				
			||||||
  FRAME_CONTEXT frame_contexts[NUM_FRAME_CONTEXTS];
 | 
					  FRAME_CONTEXT frame_contexts[FRAME_CONTEXTS];
 | 
				
			||||||
  unsigned int  frame_context_idx; /* Context to use/update */
 | 
					  unsigned int  frame_context_idx; /* Context to use/update */
 | 
				
			||||||
  FRAME_COUNTS counts;
 | 
					  FRAME_COUNTS counts;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -228,11 +228,11 @@ static YV12_BUFFER_CONFIG *get_frame_new_buffer(VP9_COMMON *cm) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int get_free_fb(VP9_COMMON *cm) {
 | 
					static int get_free_fb(VP9_COMMON *cm) {
 | 
				
			||||||
  int i;
 | 
					  int i;
 | 
				
			||||||
  for (i = 0; i < NUM_YV12_BUFFERS; i++)
 | 
					  for (i = 0; i < FRAME_BUFFERS; i++)
 | 
				
			||||||
    if (cm->fb_idx_ref_cnt[i] == 0)
 | 
					    if (cm->fb_idx_ref_cnt[i] == 0)
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  assert(i < NUM_YV12_BUFFERS);
 | 
					  assert(i < FRAME_BUFFERS);
 | 
				
			||||||
  cm->fb_idx_ref_cnt[i] = 1;
 | 
					  cm->fb_idx_ref_cnt[i] = 1;
 | 
				
			||||||
  return i;
 | 
					  return i;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -288,7 +288,7 @@ void vp9_setup_scale_factors(VP9_COMMON *cm, int i) {
 | 
				
			|||||||
  const int ref = cm->active_ref_idx[i];
 | 
					  const int ref = cm->active_ref_idx[i];
 | 
				
			||||||
  struct scale_factors *const sf = &cm->active_ref_scale[i];
 | 
					  struct scale_factors *const sf = &cm->active_ref_scale[i];
 | 
				
			||||||
  struct scale_factors_common *const sfc = &cm->active_ref_scale_comm[i];
 | 
					  struct scale_factors_common *const sfc = &cm->active_ref_scale_comm[i];
 | 
				
			||||||
  if (ref >= NUM_YV12_BUFFERS) {
 | 
					  if (ref >= FRAME_BUFFERS) {
 | 
				
			||||||
    vp9_zero(*sf);
 | 
					    vp9_zero(*sf);
 | 
				
			||||||
    vp9_zero(*sfc);
 | 
					    vp9_zero(*sfc);
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ static int read_be32(const uint8_t *p) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int is_compound_reference_allowed(const VP9_COMMON *cm) {
 | 
					static int is_compound_reference_allowed(const VP9_COMMON *cm) {
 | 
				
			||||||
  int i;
 | 
					  int i;
 | 
				
			||||||
  for (i = 1; i < ALLOWED_REFS_PER_FRAME; ++i)
 | 
					  for (i = 1; i < REFS_PER_FRAME; ++i)
 | 
				
			||||||
    if  (cm->ref_frame_sign_bias[i + 1] != cm->ref_frame_sign_bias[1])
 | 
					    if  (cm->ref_frame_sign_bias[i + 1] != cm->ref_frame_sign_bias[1])
 | 
				
			||||||
      return 1;
 | 
					      return 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -720,7 +720,7 @@ static void setup_frame_size_with_refs(VP9D_COMP *pbi,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  int width, height;
 | 
					  int width, height;
 | 
				
			||||||
  int found = 0, i;
 | 
					  int found = 0, i;
 | 
				
			||||||
  for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
 | 
					  for (i = 0; i < REFS_PER_FRAME; ++i) {
 | 
				
			||||||
    if (vp9_rb_read_bit(rb)) {
 | 
					    if (vp9_rb_read_bit(rb)) {
 | 
				
			||||||
      YV12_BUFFER_CONFIG *const cfg = get_frame_ref_buffer(cm, i);
 | 
					      YV12_BUFFER_CONFIG *const cfg = get_frame_ref_buffer(cm, i);
 | 
				
			||||||
      width = cfg->y_crop_width;
 | 
					      width = cfg->y_crop_width;
 | 
				
			||||||
@@ -1097,9 +1097,9 @@ static size_t read_uncompressed_header(VP9D_COMP *pbi,
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pbi->refresh_frame_flags = (1 << NUM_REF_FRAMES) - 1;
 | 
					    pbi->refresh_frame_flags = (1 << REF_FRAMES) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i)
 | 
					    for (i = 0; i < REFS_PER_FRAME; ++i)
 | 
				
			||||||
      cm->active_ref_idx[i] = cm->new_fb_idx;
 | 
					      cm->active_ref_idx[i] = cm->new_fb_idx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    setup_frame_size(pbi, rb);
 | 
					    setup_frame_size(pbi, rb);
 | 
				
			||||||
@@ -1112,13 +1112,13 @@ static size_t read_uncompressed_header(VP9D_COMP *pbi,
 | 
				
			|||||||
    if (cm->intra_only) {
 | 
					    if (cm->intra_only) {
 | 
				
			||||||
      check_sync_code(cm, rb);
 | 
					      check_sync_code(cm, rb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      pbi->refresh_frame_flags = vp9_rb_read_literal(rb, NUM_REF_FRAMES);
 | 
					      pbi->refresh_frame_flags = vp9_rb_read_literal(rb, REF_FRAMES);
 | 
				
			||||||
      setup_frame_size(pbi, rb);
 | 
					      setup_frame_size(pbi, rb);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      pbi->refresh_frame_flags = vp9_rb_read_literal(rb, NUM_REF_FRAMES);
 | 
					      pbi->refresh_frame_flags = vp9_rb_read_literal(rb, REF_FRAMES);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
 | 
					      for (i = 0; i < REFS_PER_FRAME; ++i) {
 | 
				
			||||||
        const int ref = vp9_rb_read_literal(rb, NUM_REF_FRAMES_LOG2);
 | 
					        const int ref = vp9_rb_read_literal(rb, REF_FRAMES_LOG2);
 | 
				
			||||||
        cm->active_ref_idx[i] = cm->ref_frame_map[ref];
 | 
					        cm->active_ref_idx[i] = cm->ref_frame_map[ref];
 | 
				
			||||||
        cm->ref_frame_sign_bias[LAST_FRAME + i] = vp9_rb_read_bit(rb);
 | 
					        cm->ref_frame_sign_bias[LAST_FRAME + i] = vp9_rb_read_bit(rb);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -1128,7 +1128,7 @@ static size_t read_uncompressed_header(VP9D_COMP *pbi,
 | 
				
			|||||||
      cm->allow_high_precision_mv = vp9_rb_read_bit(rb);
 | 
					      cm->allow_high_precision_mv = vp9_rb_read_bit(rb);
 | 
				
			||||||
      cm->mcomp_filter_type = read_interp_filter_type(rb);
 | 
					      cm->mcomp_filter_type = read_interp_filter_type(rb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
 | 
					      for (i = 0; i < REFS_PER_FRAME; ++i) {
 | 
				
			||||||
        vp9_setup_scale_factors(cm, i);
 | 
					        vp9_setup_scale_factors(cm, i);
 | 
				
			||||||
        if (vp9_is_scaled(&cm->active_ref_scale_comm[i]))
 | 
					        if (vp9_is_scaled(&cm->active_ref_scale_comm[i]))
 | 
				
			||||||
          vp9_extend_frame_borders(&cm->yv12_fb[cm->active_ref_idx[i]],
 | 
					          vp9_extend_frame_borders(&cm->yv12_fb[cm->active_ref_idx[i]],
 | 
				
			||||||
@@ -1147,7 +1147,7 @@ static size_t read_uncompressed_header(VP9D_COMP *pbi,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // This flag will be overridden by the call to vp9_setup_past_independence
 | 
					  // This flag will be overridden by the call to vp9_setup_past_independence
 | 
				
			||||||
  // below, forcing the use of context 0 for those frame types.
 | 
					  // below, forcing the use of context 0 for those frame types.
 | 
				
			||||||
  cm->frame_context_idx = vp9_rb_read_literal(rb, NUM_FRAME_CONTEXTS_LOG2);
 | 
					  cm->frame_context_idx = vp9_rb_read_literal(rb, FRAME_CONTEXTS_LOG2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (frame_is_intra_only(cm) || cm->error_resilient_mode)
 | 
					  if (frame_is_intra_only(cm) || cm->error_resilient_mode)
 | 
				
			||||||
    vp9_setup_past_independence(cm);
 | 
					    vp9_setup_past_independence(cm);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -261,7 +261,7 @@ int vp9_get_reference_dec(VP9D_PTR ptr, int index, YV12_BUFFER_CONFIG **fb) {
 | 
				
			|||||||
  VP9D_COMP *pbi = (VP9D_COMP *) ptr;
 | 
					  VP9D_COMP *pbi = (VP9D_COMP *) ptr;
 | 
				
			||||||
  VP9_COMMON *cm = &pbi->common;
 | 
					  VP9_COMMON *cm = &pbi->common;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (index < 0 || index >= NUM_REF_FRAMES)
 | 
					  if (index < 0 || index >= REF_FRAMES)
 | 
				
			||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  *fb = &cm->yv12_fb[cm->ref_frame_map[index]];
 | 
					  *fb = &cm->yv12_fb[cm->ref_frame_map[index]];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1114,11 +1114,11 @@ static void write_frame_size(VP9_COMP *cpi,
 | 
				
			|||||||
static void write_frame_size_with_refs(VP9_COMP *cpi,
 | 
					static void write_frame_size_with_refs(VP9_COMP *cpi,
 | 
				
			||||||
                                       struct vp9_write_bit_buffer *wb) {
 | 
					                                       struct vp9_write_bit_buffer *wb) {
 | 
				
			||||||
  VP9_COMMON *const cm = &cpi->common;
 | 
					  VP9_COMMON *const cm = &cpi->common;
 | 
				
			||||||
  int refs[ALLOWED_REFS_PER_FRAME] = {cpi->lst_fb_idx, cpi->gld_fb_idx,
 | 
					  int refs[REFS_PER_FRAME] = {cpi->lst_fb_idx, cpi->gld_fb_idx,
 | 
				
			||||||
                                      cpi->alt_fb_idx};
 | 
					                              cpi->alt_fb_idx};
 | 
				
			||||||
  int i, found = 0;
 | 
					  int i, found = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
 | 
					  for (i = 0; i < REFS_PER_FRAME; ++i) {
 | 
				
			||||||
    YV12_BUFFER_CONFIG *cfg = &cm->yv12_fb[cm->ref_frame_map[refs[i]]];
 | 
					    YV12_BUFFER_CONFIG *cfg = &cm->yv12_fb[cm->ref_frame_map[refs[i]]];
 | 
				
			||||||
    found = cm->width == cfg->y_crop_width &&
 | 
					    found = cm->width == cfg->y_crop_width &&
 | 
				
			||||||
            cm->height == cfg->y_crop_height;
 | 
					            cm->height == cfg->y_crop_height;
 | 
				
			||||||
@@ -1183,8 +1183,8 @@ static void write_uncompressed_header(VP9_COMP *cpi,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    write_frame_size(cpi, wb);
 | 
					    write_frame_size(cpi, wb);
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    const int refs[ALLOWED_REFS_PER_FRAME] = {cpi->lst_fb_idx, cpi->gld_fb_idx,
 | 
					    const int refs[REFS_PER_FRAME] = {cpi->lst_fb_idx, cpi->gld_fb_idx,
 | 
				
			||||||
                                              cpi->alt_fb_idx};
 | 
					                                      cpi->alt_fb_idx};
 | 
				
			||||||
    if (!cm->show_frame)
 | 
					    if (!cm->show_frame)
 | 
				
			||||||
      vp9_wb_write_bit(wb, cm->intra_only);
 | 
					      vp9_wb_write_bit(wb, cm->intra_only);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1194,13 +1194,13 @@ static void write_uncompressed_header(VP9_COMP *cpi,
 | 
				
			|||||||
    if (cm->intra_only) {
 | 
					    if (cm->intra_only) {
 | 
				
			||||||
      write_sync_code(wb);
 | 
					      write_sync_code(wb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      vp9_wb_write_literal(wb, get_refresh_mask(cpi), NUM_REF_FRAMES);
 | 
					      vp9_wb_write_literal(wb, get_refresh_mask(cpi), REF_FRAMES);
 | 
				
			||||||
      write_frame_size(cpi, wb);
 | 
					      write_frame_size(cpi, wb);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      int i;
 | 
					      int i;
 | 
				
			||||||
      vp9_wb_write_literal(wb, get_refresh_mask(cpi), NUM_REF_FRAMES);
 | 
					      vp9_wb_write_literal(wb, get_refresh_mask(cpi), REF_FRAMES);
 | 
				
			||||||
      for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
 | 
					      for (i = 0; i < REFS_PER_FRAME; ++i) {
 | 
				
			||||||
        vp9_wb_write_literal(wb, refs[i], NUM_REF_FRAMES_LOG2);
 | 
					        vp9_wb_write_literal(wb, refs[i], REF_FRAMES_LOG2);
 | 
				
			||||||
        vp9_wb_write_bit(wb, cm->ref_frame_sign_bias[LAST_FRAME + i]);
 | 
					        vp9_wb_write_bit(wb, cm->ref_frame_sign_bias[LAST_FRAME + i]);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1218,7 +1218,7 @@ static void write_uncompressed_header(VP9_COMP *cpi,
 | 
				
			|||||||
    vp9_wb_write_bit(wb, cm->frame_parallel_decoding_mode);
 | 
					    vp9_wb_write_bit(wb, cm->frame_parallel_decoding_mode);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vp9_wb_write_literal(wb, cm->frame_context_idx, NUM_FRAME_CONTEXTS_LOG2);
 | 
					  vp9_wb_write_literal(wb, cm->frame_context_idx, FRAME_CONTEXTS_LOG2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  encode_loopfilter(&cm->lf, wb);
 | 
					  encode_loopfilter(&cm->lf, wb);
 | 
				
			||||||
  encode_quantization(cm, wb);
 | 
					  encode_quantization(cm, wb);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2155,7 +2155,7 @@ int vp9_get_reference_enc(VP9_PTR ptr, int index, YV12_BUFFER_CONFIG **fb) {
 | 
				
			|||||||
  VP9_COMP *cpi = (VP9_COMP *)(ptr);
 | 
					  VP9_COMP *cpi = (VP9_COMP *)(ptr);
 | 
				
			||||||
  VP9_COMMON *cm = &cpi->common;
 | 
					  VP9_COMMON *cm = &cpi->common;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (index < 0 || index >= NUM_REF_FRAMES)
 | 
					  if (index < 0 || index >= REF_FRAMES)
 | 
				
			||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  *fb = &cm->yv12_fb[cm->ref_frame_map[index]];
 | 
					  *fb = &cm->yv12_fb[cm->ref_frame_map[index]];
 | 
				
			||||||
@@ -2572,8 +2572,8 @@ static void loopfilter_frame(VP9_COMP *cpi, VP9_COMMON *cm) {
 | 
				
			|||||||
static void scale_references(VP9_COMP *cpi) {
 | 
					static void scale_references(VP9_COMP *cpi) {
 | 
				
			||||||
  VP9_COMMON *cm = &cpi->common;
 | 
					  VP9_COMMON *cm = &cpi->common;
 | 
				
			||||||
  int i;
 | 
					  int i;
 | 
				
			||||||
  int refs[ALLOWED_REFS_PER_FRAME] = {cpi->lst_fb_idx, cpi->gld_fb_idx,
 | 
					  int refs[REFS_PER_FRAME] = {cpi->lst_fb_idx, cpi->gld_fb_idx,
 | 
				
			||||||
                                      cpi->alt_fb_idx};
 | 
					                              cpi->alt_fb_idx};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < 3; i++) {
 | 
					  for (i = 0; i < 3; i++) {
 | 
				
			||||||
    YV12_BUFFER_CONFIG *ref = &cm->yv12_fb[cm->ref_frame_map[refs[i]]];
 | 
					    YV12_BUFFER_CONFIG *ref = &cm->yv12_fb[cm->ref_frame_map[refs[i]]];
 | 
				
			||||||
@@ -3608,7 +3608,7 @@ int vp9_get_compressed_data(VP9_PTR ptr, unsigned int *frame_flags,
 | 
				
			|||||||
                           VP9BORDERINPIXELS);
 | 
					                           VP9BORDERINPIXELS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Calculate scaling factors for each of the 3 available references
 | 
					  // Calculate scaling factors for each of the 3 available references
 | 
				
			||||||
  for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
 | 
					  for (i = 0; i < REFS_PER_FRAME; ++i) {
 | 
				
			||||||
    vp9_setup_scale_factors(cm, i);
 | 
					    vp9_setup_scale_factors(cm, i);
 | 
				
			||||||
    if (vp9_is_scaled(&cm->active_ref_scale_comm[i]))
 | 
					    if (vp9_is_scaled(&cm->active_ref_scale_comm[i]))
 | 
				
			||||||
      vp9_extend_frame_borders(&cm->yv12_fb[cm->active_ref_idx[i]],
 | 
					      vp9_extend_frame_borders(&cm->yv12_fb[cm->active_ref_idx[i]],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -366,7 +366,7 @@ typedef struct VP9_COMP {
 | 
				
			|||||||
  struct lookahead_ctx    *lookahead;
 | 
					  struct lookahead_ctx    *lookahead;
 | 
				
			||||||
  struct lookahead_entry  *source;
 | 
					  struct lookahead_entry  *source;
 | 
				
			||||||
#if CONFIG_MULTIPLE_ARF
 | 
					#if CONFIG_MULTIPLE_ARF
 | 
				
			||||||
  struct lookahead_entry  *alt_ref_source[NUM_REF_FRAMES];
 | 
					  struct lookahead_entry  *alt_ref_source[REF_FRAMES];
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  struct lookahead_entry  *alt_ref_source;
 | 
					  struct lookahead_entry  *alt_ref_source;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@@ -394,7 +394,7 @@ typedef struct VP9_COMP {
 | 
				
			|||||||
  int use_svc;
 | 
					  int use_svc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if CONFIG_MULTIPLE_ARF
 | 
					#if CONFIG_MULTIPLE_ARF
 | 
				
			||||||
  int alt_ref_fb_idx[NUM_REF_FRAMES - 3];
 | 
					  int alt_ref_fb_idx[REF_FRAMES - 3];
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
  int refresh_last_frame;
 | 
					  int refresh_last_frame;
 | 
				
			||||||
  int refresh_golden_frame;
 | 
					  int refresh_golden_frame;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -195,7 +195,7 @@ void vp9_setup_inter_frame(VP9_COMP *cpi) {
 | 
				
			|||||||
  if (cm->error_resilient_mode || cm->intra_only)
 | 
					  if (cm->error_resilient_mode || cm->intra_only)
 | 
				
			||||||
    vp9_setup_past_independence(cm);
 | 
					    vp9_setup_past_independence(cm);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  assert(cm->frame_context_idx < NUM_FRAME_CONTEXTS);
 | 
					  assert(cm->frame_context_idx < FRAME_CONTEXTS);
 | 
				
			||||||
  cm->fc = cm->frame_contexts[cm->frame_context_idx];
 | 
					  cm->fc = cm->frame_contexts[cm->frame_context_idx];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user