Merge changes from topic "am-a79c39cd13fd4c62b75e3035afb8585c" into oc-dev am: 0c1bc6b5f2 am: 87aa9543e6
am: 86b96c128e
Change-Id: Ia3d6d0cd24ddb4b4fed3436676f3a8a907ac2591
diff --git a/Android.bp b/Android.bp
index 464f768..957e253 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6,6 +6,9 @@
cflags: [
"-fPIC",
"-O3",
+ "-Wall",
+ "-Werror",
+ "-Wno-unused-variable",
],
export_include_dirs: [
@@ -79,7 +82,7 @@
"-DDEFAULT_ARCH=D_ARCH_ARM_NONEON",
],
- armv7_a_neon: {
+ neon: {
srcs: [
"decoder/arm/ih264d_function_selector_a9q.c",
"common/arm/ih264_intra_pred_chroma_a9q.s",
@@ -242,6 +245,9 @@
"-fPIC",
"-O3",
+ "-Wall",
+ "-Werror",
+ "-Wno-error=constant-conversion",
],
export_include_dirs: [
@@ -326,7 +332,7 @@
"-DDISABLE_NEON",
],
- armv7_a_neon: {
+ neon: {
srcs: [
"encoder/arm/ih264e_function_selector_a9q.c",
"common/arm/ih264_resi_trans_quant_a9.s",
diff --git a/encoder/ih264e_defs.h b/encoder/ih264e_defs.h
index c4e7885..4537bc2 100644
--- a/encoder/ih264e_defs.h
+++ b/encoder/ih264e_defs.h
@@ -202,7 +202,7 @@
#define DEFAULT_RECON_ENABLE 0
#define DEFAULT_RC IVE_RC_STORAGE
#define DEFAULT_MAX_FRAMERATE 120000
-#define DEFAULT_MAX_BITRATE 20000000
+#define DEFAULT_MAX_BITRATE 50000000
#define DEFAULT_MAX_NUM_BFRAMES 0
#define DEFAULT_MAX_SRCH_RANGE_X 256
#define DEFAULT_MAX_SRCH_RANGE_Y 256
diff --git a/encoder/ih264e_intra_modes_eval.c b/encoder/ih264e_intra_modes_eval.c
index 871bdd4..3edf98f 100644
--- a/encoder/ih264e_intra_modes_eval.c
+++ b/encoder/ih264e_intra_modes_eval.c
@@ -428,7 +428,8 @@
/* set valid intra modes for evaluation */
u4_valid_intra_modes = u1_valid_intra_modes[i4_ngbr_avbl];
- if (ps_codec->s_cfg.u4_enc_speed_preset == IVE_FAST)
+ if (ps_codec->s_cfg.u4_enc_speed_preset == IVE_FAST ||
+ ps_codec->s_cfg.u4_enc_speed_preset == IVE_FASTEST)
u4_valid_intra_modes &= ~(1 << PLANE_I16x16);
/* evaluate b/w HORZ_I16x16, VERT_I16x16 & DC_I16x16 */
@@ -440,8 +441,7 @@
/* cost = distortion + lambda*rate */
i4_mb_cost_least = i4_mb_distortion_least;
- if ((( (u4_valid_intra_modes >> 3) & 1) != 0) && (ps_codec->s_cfg.u4_enc_speed_preset != IVE_FASTEST ||
- ps_proc->i4_slice_type == ISLICE))
+ if (((u4_valid_intra_modes >> 3) & 1) != 0)
{
/* intra prediction for PLANE mode*/
(ps_codec->apf_intra_pred_16_l)[PLANE_I16x16](pu1_ngbr_pels_i16, pu1_pred_mb_intra_16x16_plane, 0, i4_pred_strd, i4_ngbr_avbl);
@@ -1450,7 +1450,8 @@
u4_valid_intra_modes = u1_valid_intra_modes[i4_ngbr_avbl];
- if (ps_codec->s_cfg.u4_enc_speed_preset == IVE_FAST)
+ if (ps_codec->s_cfg.u4_enc_speed_preset == IVE_FAST ||
+ ps_codec->s_cfg.u4_enc_speed_preset == IVE_FASTEST)
u4_valid_intra_modes &= ~(1 << PLANE_CH_I8x8);
i4_chroma_mb_distortion = INT_MAX;
diff --git a/encoder/ih264e_me.h b/encoder/ih264e_me.h
index bd88a01..2266e5a 100644
--- a/encoder/ih264e_me.h
+++ b/encoder/ih264e_me.h
@@ -38,6 +38,25 @@
#define IH264E_ME_H_
/*****************************************************************************/
+/* Constant Macros */
+/*****************************************************************************/
+
+/**
+******************************************************************************
+ * @brief Skip Bias value for P slice
+******************************************************************************
+ */
+#define SKIP_BIAS_P 0
+
+/**
+******************************************************************************
+ * @brief Skip Bias value for B slice
+******************************************************************************
+ */
+#define SKIP_BIAS_B 0
+
+
+/*****************************************************************************/
/* Function Macros */
/*****************************************************************************/
diff --git a/encoder/ih264e_process.c b/encoder/ih264e_process.c
index 5fb0b88..644a5a2 100644
--- a/encoder/ih264e_process.c
+++ b/encoder/ih264e_process.c
@@ -2098,7 +2098,7 @@
}
/* If we already have the minimum sad, there is no point in searching for sad again */
- if (ps_proc->u4_min_sad_reached == 0)
+ if (ps_proc->u4_min_sad_reached == 0 || ps_codec->s_cfg.u4_enc_speed_preset != IVE_FASTEST)
{
/* intra gating in inter slices */
/* No need of gating if we want to force intra, we need to find the threshold only if inter is enabled by AIR*/
diff --git a/encoder/ime.h b/encoder/ime.h
index 17912d4..f035e9e 100644
--- a/encoder/ime.h
+++ b/encoder/ime.h
@@ -47,20 +47,6 @@
*/
#define NUM_LAYERS 16
-/**
-******************************************************************************
- * @brief Skip Bias value for P slice
-******************************************************************************
- */
-#define SKIP_BIAS_P 2
-
-/**
-******************************************************************************
- * @brief Skip Bias value for B slice
-******************************************************************************
- */
-#define SKIP_BIAS_B 16
-
/*****************************************************************************/
/* Extern Function Declarations */
/*****************************************************************************/
diff --git a/test/Android.bp b/test/Android.bp
index 5fef68b..9e34a51 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -7,6 +7,8 @@
"-DARM",
"-DMD5_DISABLE",
"-fPIC",
+ "-Wall",
+ "-Werror",
],
local_include_dirs: [
"decoder/",
@@ -26,6 +28,9 @@
"-DMD5_DISABLE",
"-fPIC",
"-pie",
+ "-Wall",
+ "-Werror",
+ "-Wno-unused-variable",
],
local_include_dirs: [
"encoder/",
diff --git a/test/encoder/app.h b/test/encoder/app.h
index 223ad5c..0e9a3df 100644
--- a/test/encoder/app.h
+++ b/test/encoder/app.h
@@ -75,7 +75,7 @@
#define DEFAULT_MAX_REORDER_FRM 0
#define DEFAULT_QP_MIN 4
#define DEFAULT_QP_MAX 51
-#define DEFAULT_MAX_BITRATE 20000000
+#define DEFAULT_MAX_BITRATE 50000000
#define DEFAULT_NUM_BFRAMES 0
#define DEFAULT_MAX_SRCH_RANGE_X 256
#define DEFAULT_MAX_SRCH_RANGE_Y 256