Commit e7d9d1eb authored by Angie Chiang's avatar Angie Chiang Committed by Gerrit Code Review

Merge changes I163874ee,I1424690f into nextgenv2

* changes:
  Add data structure of adpat_scan experiment
  Add adapt_scan experimental flag
parents 528d9de5 37fb8edd
...@@ -41,6 +41,12 @@ extern "C" { ...@@ -41,6 +41,12 @@ extern "C" {
struct AV1Common; struct AV1Common;
typedef struct {
const int16_t *scan;
const int16_t *iscan;
const int16_t *neighbors;
} SCAN_ORDER;
struct seg_counts { struct seg_counts {
unsigned int tree_total[MAX_SEGMENTS]; unsigned int tree_total[MAX_SEGMENTS];
unsigned int tree_mispred[MAX_SEGMENTS]; unsigned int tree_mispred[MAX_SEGMENTS];
...@@ -62,6 +68,31 @@ typedef struct frame_contexts { ...@@ -62,6 +68,31 @@ typedef struct frame_contexts {
aom_prob switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS] aom_prob switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
[SWITCHABLE_FILTERS - 1]; [SWITCHABLE_FILTERS - 1];
#if CONFIG_ADAPT_SCAN
// TODO(angiebird): try aom_prob
uint32_t non_zero_prob_4X4[TX_TYPES][16];
uint32_t non_zero_prob_8X8[TX_TYPES][64];
uint32_t non_zero_prob_16X16[TX_TYPES][256];
uint32_t non_zero_prob_32X32[TX_TYPES][1024];
DECLARE_ALIGNED(16, int16_t, scan_4X4[TX_TYPES][16]);
DECLARE_ALIGNED(16, int16_t, scan_8X8[TX_TYPES][64]);
DECLARE_ALIGNED(16, int16_t, scan_16X16[TX_TYPES][256]);
DECLARE_ALIGNED(16, int16_t, scan_32X32[TX_TYPES][1024]);
DECLARE_ALIGNED(16, int16_t, iscan_4X4[TX_TYPES][16]);
DECLARE_ALIGNED(16, int16_t, iscan_8X8[TX_TYPES][64]);
DECLARE_ALIGNED(16, int16_t, iscan_16X16[TX_TYPES][256]);
DECLARE_ALIGNED(16, int16_t, iscan_32X32[TX_TYPES][1024]);
int16_t nb_4X4[TX_TYPES][(16 + 1) * 2];
int16_t nb_8X8[TX_TYPES][(64 + 1) * 2];
int16_t nb_16X16[TX_TYPES][(256 + 1) * 2];
int16_t nb_32X32[TX_TYPES][(1024 + 1) * 2];
SCAN_ORDER sc[TX_SIZES][TX_TYPES];
#endif // CONFIG_ADAPT_SCAN
#if CONFIG_REF_MV #if CONFIG_REF_MV
aom_prob newmv_prob[NEWMV_MODE_CONTEXTS]; aom_prob newmv_prob[NEWMV_MODE_CONTEXTS];
aom_prob zeromv_prob[ZEROMV_MODE_CONTEXTS]; aom_prob zeromv_prob[ZEROMV_MODE_CONTEXTS];
...@@ -161,6 +192,14 @@ typedef struct FRAME_COUNTS { ...@@ -161,6 +192,14 @@ typedef struct FRAME_COUNTS {
[COEFF_CONTEXTS]; [COEFF_CONTEXTS];
unsigned int switchable_interp[SWITCHABLE_FILTER_CONTEXTS] unsigned int switchable_interp[SWITCHABLE_FILTER_CONTEXTS]
[SWITCHABLE_FILTERS]; [SWITCHABLE_FILTERS];
#if CONFIG_ADAPT_SCAN
unsigned int non_zero_count_4X4[TX_TYPES][16];
unsigned int non_zero_count_8X8[TX_TYPES][64];
unsigned int non_zero_count_16X16[TX_TYPES][256];
unsigned int non_zero_count_32X32[TX_TYPES][1024];
unsigned int txb_count[TX_SIZES][TX_TYPES];
#endif
#if CONFIG_REF_MV #if CONFIG_REF_MV
unsigned int newmv_mode[NEWMV_MODE_CONTEXTS][2]; unsigned int newmv_mode[NEWMV_MODE_CONTEXTS][2];
unsigned int zeromv_mode[ZEROMV_MODE_CONTEXTS][2]; unsigned int zeromv_mode[ZEROMV_MODE_CONTEXTS][2];
......
...@@ -24,12 +24,6 @@ extern "C" { ...@@ -24,12 +24,6 @@ extern "C" {
#define MAX_NEIGHBORS 2 #define MAX_NEIGHBORS 2
typedef struct {
const int16_t *scan;
const int16_t *iscan;
const int16_t *neighbors;
} SCAN_ORDER;
extern const SCAN_ORDER av1_default_scan_orders[TX_SIZES]; extern const SCAN_ORDER av1_default_scan_orders[TX_SIZES];
extern const SCAN_ORDER av1_intra_scan_orders[TX_SIZES][TX_TYPES]; extern const SCAN_ORDER av1_intra_scan_orders[TX_SIZES][TX_TYPES];
......
...@@ -287,6 +287,7 @@ EXPERIMENT_LIST=" ...@@ -287,6 +287,7 @@ EXPERIMENT_LIST="
cb4x4 cb4x4
frame_size frame_size
delta_q delta_q
adapt_scan
" "
CONFIG_LIST=" CONFIG_LIST="
dependency_tracking dependency_tracking
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment