From 1d5ed021fbbda4344983c5ca32897756de6af66d Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev Date: Wed, 9 Apr 2014 20:56:06 -0700 Subject: [PATCH] Moving frame_frags field from VP9Common to VP9_COMP. Change-Id: I0f4a5c50561a2653d22c366c214a937272ecfa2c --- vp9/common/vp9_onyxc_int.h | 1 - vp9/encoder/vp9_firstpass.c | 4 ++-- vp9/encoder/vp9_onyx_if.c | 14 +++++++------- vp9/encoder/vp9_onyx_int.h | 2 ++ vp9/encoder/vp9_ratectrl.c | 6 +++--- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h index fe9cc9e6a..10f8ba62f 100644 --- a/vp9/common/vp9_onyxc_int.h +++ b/vp9/common/vp9_onyxc_int.h @@ -120,7 +120,6 @@ typedef struct VP9Common { // frame header, 3 reset all contexts. int reset_frame_context; - int frame_flags; // MBs, mb_rows/cols is in 16-pixel units; mi_rows/cols is in // MODE_INFO (8-pixel) units. int MBs; diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c index db32ef8c9..92dd191db 100644 --- a/vp9/encoder/vp9_firstpass.c +++ b/vp9/encoder/vp9_firstpass.c @@ -2187,7 +2187,7 @@ void vp9_rc_get_first_pass_params(VP9_COMP *cpi) { VP9_COMMON *const cm = &cpi->common; if (!cpi->refresh_alt_ref_frame && (cm->current_video_frame == 0 || - (cm->frame_flags & FRAMEFLAGS_KEY))) { + (cpi->frame_flags & FRAMEFLAGS_KEY))) { cm->frame_type = KEY_FRAME; } else { cm->frame_type = INTER_FRAME; @@ -2257,7 +2257,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) { // Keyframe and section processing. if (rc->frames_to_key == 0 || - (cm->frame_flags & FRAMEFLAGS_KEY)) { + (cpi->frame_flags & FRAMEFLAGS_KEY)) { // Define next KF group and assign bits to it. this_frame_copy = this_frame; find_next_key_frame(cpi, &this_frame_copy); diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 0ac9d5f05..988c1c049 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -2647,14 +2647,14 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, output_frame_level_debug_stats(cpi); #endif if (cpi->refresh_golden_frame == 1) - cm->frame_flags |= FRAMEFLAGS_GOLDEN; + cpi->frame_flags |= FRAMEFLAGS_GOLDEN; else - cm->frame_flags &= ~FRAMEFLAGS_GOLDEN; + cpi->frame_flags &= ~FRAMEFLAGS_GOLDEN; if (cpi->refresh_alt_ref_frame == 1) - cm->frame_flags |= FRAMEFLAGS_ALTREF; + cpi->frame_flags |= FRAMEFLAGS_ALTREF; else - cm->frame_flags &= ~FRAMEFLAGS_ALTREF; + cpi->frame_flags &= ~FRAMEFLAGS_ALTREF; get_ref_frame_flags(cpi); @@ -2662,7 +2662,7 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, if (cm->frame_type == KEY_FRAME) { // Tell the caller that the frame was coded as a key frame - *frame_flags = cm->frame_flags | FRAMEFLAGS_KEY; + *frame_flags = cpi->frame_flags | FRAMEFLAGS_KEY; #if CONFIG_MULTIPLE_ARF // Reset the sequence number. @@ -2673,7 +2673,7 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, } #endif } else { - *frame_flags = cm->frame_flags&~FRAMEFLAGS_KEY; + *frame_flags = cpi->frame_flags & ~FRAMEFLAGS_KEY; #if CONFIG_MULTIPLE_ARF /* Increment position in the coded frame sequence. */ @@ -3042,7 +3042,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, } #endif - cm->frame_flags = *frame_flags; + cpi->frame_flags = *frame_flags; // Reset the frame pointers to the current frame size vp9_realloc_frame_buffer(get_frame_new_buffer(cm), diff --git a/vp9/encoder/vp9_onyx_int.h b/vp9/encoder/vp9_onyx_int.h index 18203f96a..cff79edd0 100644 --- a/vp9/encoder/vp9_onyx_int.h +++ b/vp9/encoder/vp9_onyx_int.h @@ -498,6 +498,8 @@ typedef struct VP9_COMP { int use_large_partition_rate; + int frame_flags; + #if CONFIG_MULTIPLE_ARF // ARF tracking variables. int multi_arf_enabled; diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index 342081644..52a1dc5be 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -1196,7 +1196,7 @@ void vp9_rc_get_one_pass_vbr_params(VP9_COMP *cpi) { int target; if (!cpi->refresh_alt_ref_frame && (cm->current_video_frame == 0 || - (cm->frame_flags & FRAMEFLAGS_KEY) || + (cpi->frame_flags & FRAMEFLAGS_KEY) || rc->frames_to_key == 0 || (cpi->oxcf.auto_key && test_for_kf_one_pass(cpi)))) { cm->frame_type = KEY_FRAME; @@ -1280,7 +1280,7 @@ void vp9_rc_get_svc_params(VP9_COMP *cpi) { RATE_CONTROL *const rc = &cpi->rc; int target = rc->av_per_frame_bandwidth; if ((cm->current_video_frame == 0) || - (cm->frame_flags & FRAMEFLAGS_KEY) || + (cpi->frame_flags & FRAMEFLAGS_KEY) || (cpi->oxcf.auto_key && (rc->frames_since_key % cpi->key_frame_frequency == 0))) { cm->frame_type = KEY_FRAME; @@ -1304,7 +1304,7 @@ void vp9_rc_get_one_pass_cbr_params(VP9_COMP *cpi) { RATE_CONTROL *const rc = &cpi->rc; int target; if ((cm->current_video_frame == 0 || - (cm->frame_flags & FRAMEFLAGS_KEY) || + (cpi->frame_flags & FRAMEFLAGS_KEY) || rc->frames_to_key == 0 || (cpi->oxcf.auto_key && test_for_kf_one_pass(cpi)))) { cm->frame_type = KEY_FRAME; -- 2.40.0