summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_onyxc_int.h
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2013-01-15 13:49:44 -0800
committerJohn Koleszar <jkoleszar@google.com>2013-01-16 14:06:23 -0800
commitda832a80e435a6656b15f889bf81df8be22d34a7 (patch)
tree089cfffa63fe08bd42584474eb7a107a53e42b19 /vp9/common/vp9_onyxc_int.h
parent394b0a6a30d4a7d6b97bdd22d7ff7153b2c7d459 (diff)
downloadlibvpx-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.h12
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 */