diff options
author | John Koleszar <jkoleszar@google.com> | 2013-01-15 13:49:44 -0800 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2013-01-16 14:06:23 -0800 |
commit | da832a80e435a6656b15f889bf81df8be22d34a7 (patch) | |
tree | 089cfffa63fe08bd42584474eb7a107a53e42b19 /vp9/common/vp9_onyxc_int.h | |
parent | 394b0a6a30d4a7d6b97bdd22d7ff7153b2c7d459 (diff) | |
download | libvpx-da832a80e435a6656b15f889bf81df8be22d34a7.tar libvpx-da832a80e435a6656b15f889bf81df8be22d34a7.tar.gz libvpx-da832a80e435a6656b15f889bf81df8be22d34a7.tar.bz2 libvpx-da832a80e435a6656b15f889bf81df8be22d34a7.zip |
Start to anonymize reference frames
Remove lst_fb_idx, gld_fb_idx, alt_fb_idx, refresh_last_frame,
refresh_golden_frame, refresh_alt_ref_frame from common. Gold/Alt are
encode side conventions. From the decoder's perspective, we want to be
dealing with numbered references.
Updates to active_ref 2 signal mode context switches, vestigial from
refresh_alt_ref_frame. This needs some clean up to make sense with
increased numbers of reference frames, as well as reimplementing the
swapping of alt/golden which was previously done using the
buffer-to-buffer copy mechanism removed in an earlier commit.
Change-Id: I7334445158b7666f9295d2a2dd22aa03f4485f58
Diffstat (limited to 'vp9/common/vp9_onyxc_int.h')
-rw-r--r-- | vp9/common/vp9_onyxc_int.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h index 8fbfafdc2..33ac3f236 100644 --- a/vp9/common/vp9_onyxc_int.h +++ b/vp9/common/vp9_onyxc_int.h @@ -37,7 +37,8 @@ void vp9_initialize_common(void); #define QINDEX_RANGE (MAXQ + 1) -#define NUM_YV12_BUFFERS 4 +#define NUM_REF_FRAMES 3 +#define NUM_YV12_BUFFERS (NUM_REF_FRAMES + 1) #define COMP_PRED_CONTEXTS 2 @@ -142,8 +143,9 @@ typedef struct VP9Common { YV12_BUFFER_CONFIG *frame_to_show; YV12_BUFFER_CONFIG yv12_fb[NUM_YV12_BUFFERS]; - int fb_idx_ref_cnt[NUM_YV12_BUFFERS]; - int new_fb_idx, lst_fb_idx, gld_fb_idx, alt_fb_idx; + int fb_idx_ref_cnt[NUM_YV12_BUFFERS]; /* reference counts */ + int active_ref_idx[3]; /* each frame can reference 3 buffers */ + int new_fb_idx; YV12_BUFFER_CONFIG post_proc_buffer; YV12_BUFFER_CONFIG temp_scale_frame; @@ -202,10 +204,6 @@ typedef struct VP9Common { int last_sharpness_level; int sharpness_level; - int refresh_last_frame; /* Two state 0 = NO, 1 = YES */ - int refresh_golden_frame; /* Two state 0 = NO, 1 = YES */ - int refresh_alt_ref_frame; /* Two state 0 = NO, 1 = YES */ - int refresh_entropy_probs; /* Two state 0 = NO, 1 = YES */ int ref_frame_sign_bias[MAX_REF_FRAMES]; /* Two state 0, 1 */ |