[CFL] Add CFL alphas to inspection data
Change-Id: I4269d5b808e8809199a24b7511a3dee029f31820
diff --git a/av1/decoder/inspection.c b/av1/decoder/inspection.c
index 2e8a610..03493dc 100644
--- a/av1/decoder/inspection.c
+++ b/av1/decoder/inspection.c
@@ -14,6 +14,9 @@
#if CONFIG_CDEF
#include "av1/common/cdef.h"
#endif
+#if CONFIG_CFL
+#include "av1/common/cfl.h"
+#endif
void ifd_init(insp_frame_data *fd, int frame_width, int frame_height) {
fd->mi_cols = ALIGN_POWER_OF_TWO(frame_width, 3) >> MI_SIZE_LOG2;
@@ -97,6 +100,17 @@
cm->cdef_strengths[mbmi->cdef_strength] % CLPF_STRENGTHS;
mi->cdef_strength += mi->cdef_strength == 3;
#endif
+#if CONFIG_CFL
+ if (mbmi->uv_mode == DC_PRED) {
+ mi->cfl_alpha_ind = mbmi->cfl_alpha_ind;
+ mi->cfl_alpha_sign_u = mbmi->cfl_alpha_signs[CFL_PRED_U];
+ mi->cfl_alpha_sign_v = mbmi->cfl_alpha_signs[CFL_PRED_V];
+ } else {
+ mi->cfl_alpha_ind = 0;
+ mi->cfl_alpha_sign_u = 0;
+ mi->cfl_alpha_sign_v = 0;
+ }
+#endif
}
}
return 1;
diff --git a/av1/decoder/inspection.h b/av1/decoder/inspection.h
index d6cf431..5bfca11 100644
--- a/av1/decoder/inspection.h
+++ b/av1/decoder/inspection.h
@@ -49,6 +49,11 @@
int8_t cdef_level;
int8_t cdef_strength;
#endif
+#if CONFIG_CFL
+ int8_t cfl_alpha_ind;
+ int8_t cfl_alpha_sign_u;
+ int8_t cfl_alpha_sign_v;
+#endif
};
typedef struct insp_frame_data insp_frame_data;
diff --git a/examples/inspect.c b/examples/inspect.c
index 345c088..acd3f25 100644
--- a/examples/inspect.c
+++ b/examples/inspect.c
@@ -56,7 +56,8 @@
REFERENCE_FRAME_LAYER = 1 << 8,
MOTION_VECTORS_LAYER = 1 << 9,
UV_MODE_LAYER = 1 << 10,
- ALL_LAYERS = (1 << 11) - 1
+ CFL_LAYER = 1 << 11,
+ ALL_LAYERS = (1 << 12) - 1
} LayerType;
static LayerType layers = 0;
@@ -86,6 +87,10 @@
static const arg_def_t dump_filter_arg =
ARG_DEF("f", "filter", 0, "Dump Filter");
static const arg_def_t dump_cdef_arg = ARG_DEF("c", "cdef", 0, "Dump CDEF");
+#if CONFIG_CFL
+static const arg_def_t dump_cfl_arg =
+ ARG_DEF("cfl", "chroma_from_luma", 0, "Dump Chroma from Luma Alphas");
+#endif
static const arg_def_t dump_reference_frame_arg =
ARG_DEF("r", "referenceFrame", 0, "Dump Reference Frame");
static const arg_def_t usage_arg = ARG_DEF("h", "help", 0, "Help");
@@ -106,6 +111,9 @@
#if CONFIG_CDEF
&dump_cdef_arg,
#endif
+#if CONFIG_CFL
+ &dump_cfl_arg,
+#endif
&dump_reference_frame_arg,
&dump_motion_vectors_arg,
&usage_arg,
@@ -489,6 +497,16 @@
offsetof(insp_mi_data, cdef_strength));
}
#endif
+#if CONFIG_CFL
+ if (layers & CFL_LAYER) {
+ buf += put_block_info(buf, NULL, "cfl_alpha_ind",
+ offsetof(insp_mi_data, cfl_alpha_ind));
+ buf += put_block_info(buf, NULL, "cfl_alpha_sign_u",
+ offsetof(insp_mi_data, cfl_alpha_sign_u));
+ buf += put_block_info(buf, NULL, "cfl_alpha_sign_v",
+ offsetof(insp_mi_data, cfl_alpha_sign_v));
+ }
+#endif
if (layers & MOTION_VECTORS_LAYER) {
buf += put_motion_vectors(buf);
}
@@ -621,6 +639,10 @@
else if (arg_match(&arg, &dump_cdef_arg, argi))
layers |= CDEF_LAYER;
#endif
+#if CONFIG_CFL
+ else if (arg_match(&arg, &dump_cfl_arg, argi))
+ layers |= CFL_LAYER;
+#endif
else if (arg_match(&arg, &dump_reference_frame_arg, argi))
layers |= REFERENCE_FRAME_LAYER;
else if (arg_match(&arg, &dump_motion_vectors_arg, argi))