| Index: source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h
|
| diff --git a/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h b/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h
|
| index 29d2a91bc6993fb0d92625e828cadbaa8463e9ad..7da1f94cfc8e98203181d82e1a1337a900aba6da 100644
|
| --- a/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h
|
| +++ b/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h
|
| @@ -12,6 +12,7 @@
|
| #ifndef VP9_ENCODER_VP9_AQ_CYCLICREFRESH_H_
|
| #define VP9_ENCODER_VP9_AQ_CYCLICREFRESH_H_
|
|
|
| +#include "vpx/vpx_integer.h"
|
| #include "vp9/common/vp9_blockd.h"
|
|
|
| #ifdef __cplusplus
|
| @@ -27,9 +28,46 @@ extern "C" {
|
| // Maximum rate target ratio for setting segment delta-qp.
|
| #define CR_MAX_RATE_TARGET_RATIO 4.0
|
|
|
| +struct CYCLIC_REFRESH {
|
| + // Percentage of blocks per frame that are targeted as candidates
|
| + // for cyclic refresh.
|
| + int percent_refresh;
|
| + // Maximum q-delta as percentage of base q.
|
| + int max_qdelta_perc;
|
| + // Superblock starting index for cycling through the frame.
|
| + int sb_index;
|
| + // Controls how long block will need to wait to be refreshed again, in
|
| + // excess of the cycle time, i.e., in the case of all zero motion, block
|
| + // will be refreshed every (100/percent_refresh + time_for_refresh) frames.
|
| + int time_for_refresh;
|
| + // Target number of (8x8) blocks that are set for delta-q.
|
| + int target_num_seg_blocks;
|
| + // Actual number of (8x8) blocks that were applied delta-q.
|
| + int actual_num_seg1_blocks;
|
| + int actual_num_seg2_blocks;
|
| + // RD mult. parameters for segment 1.
|
| + int rdmult;
|
| + // Cyclic refresh map.
|
| + signed char *map;
|
| + // Map of the last q a block was coded at.
|
| + uint8_t *last_coded_q_map;
|
| + // Thresholds applied to the projected rate/distortion of the coding block,
|
| + // when deciding whether block should be refreshed.
|
| + int64_t thresh_rate_sb;
|
| + int64_t thresh_dist_sb;
|
| + // Threshold applied to the motion vector (in units of 1/8 pel) of the
|
| + // coding block, when deciding whether block should be refreshed.
|
| + int16_t motion_thresh;
|
| + // Rate target ratio to set q delta.
|
| + double rate_ratio_qdelta;
|
| + // Boost factor for rate target ratio, for segment CR_SEGMENT_ID_BOOST2.
|
| + int rate_boost_fac;
|
| + double low_content_avg;
|
| + int qindex_delta[3];
|
| +};
|
| +
|
| struct VP9_COMP;
|
|
|
| -struct CYCLIC_REFRESH;
|
| typedef struct CYCLIC_REFRESH CYCLIC_REFRESH;
|
|
|
| CYCLIC_REFRESH *vp9_cyclic_refresh_alloc(int mi_rows, int mi_cols);
|
|
|