From dfe686ad4a159a25195d614fa88cf00828f443db Mon Sep 17 00:00:00 2001 From: Doney Alex Date: Wed, 24 Feb 2016 12:00:03 +0530 Subject: DO NOT MERGE Encoder: Added support for Constrained intra prediction. Change-Id: I674746047b2b007ca4bc52fad1a2cd9b177cd7bb --- test/encoder/app.h | 2 ++ test/encoder/main.c | 10 ++++++++++ 2 files changed, 12 insertions(+) (limited to 'test') diff --git a/test/encoder/app.h b/test/encoder/app.h index ad45f5a..223ad5c 100644 --- a/test/encoder/app.h +++ b/test/encoder/app.h @@ -122,6 +122,7 @@ #define DEFAULT_SRCH_RNG_Y 48 #define DEFAULT_I_INTERVAL 30 #define DEFAULT_IDR_INTERVAL 1000 +#define DEFAULT_CONSTRAINED_INTRAPRED 0 #define DEFAULT_B_FRAMES 0 #define DEFAULT_DISABLE_DEBLK_LEVEL 0 #define DEFAULT_HPEL 1 @@ -285,6 +286,7 @@ typedef struct UWORD32 u4_srch_rng_y; UWORD32 u4_i_interval; UWORD32 u4_idr_interval; + UWORD32 u4_constrained_intra_pred; UWORD32 u4_b_frames; UWORD32 u4_num_bframes; UWORD32 u4_disable_deblk_level; diff --git a/test/encoder/main.c b/test/encoder/main.c index 3510e2b..0c7d4f0 100644 --- a/test/encoder/main.c +++ b/test/encoder/main.c @@ -106,6 +106,7 @@ typedef enum SRCH_RNG_Y, I_INTERVAL, IDR_INTERVAL, + CONSTRAINED_INTRA_PRED, B_FRMS, NUM_B_FRMS, DISABLE_DBLK, @@ -156,6 +157,7 @@ static const argument_t argument_mapping[] = { "--", "--src_framerate", SRC_FRAMERATE, "Source frame rate \n" }, { "--", "--i_interval", I_INTERVAL, "Intra frame interval \n" }, { "--", "--idr_interval", IDR_INTERVAL, "IDR frame interval \n" }, + { "--", "--constrained_intrapred", CONSTRAINED_INTRA_PRED, "Constrained IntraPrediction Flag \n" }, { "--", "--bframes", NUM_B_FRMS, "Maximum number of consecutive B frames \n" }, { "--", "--speed", ENC_SPEED, "Encoder speed preset 0 (slowest) and 100 (fastest)\n" }, { "--", "--me_speed", ME_SPEED, "Encoder speed preset 0 (slowest) and 100 (fastest)\n" }, @@ -750,6 +752,10 @@ void parse_argument(app_ctxt_t *ps_app_ctxt, CHAR *argument, CHAR *value) sscanf(value, "%d", &ps_app_ctxt->u4_idr_interval); break; + case CONSTRAINED_INTRA_PRED: + sscanf(value, "%d", &ps_app_ctxt->u4_constrained_intra_pred); + break; + case NUM_B_FRMS: sscanf(value, "%d", &ps_app_ctxt->u4_num_bframes); break; @@ -976,6 +982,7 @@ void init_default_params(app_ctxt_t *ps_app_ctxt) ps_app_ctxt->u4_srch_rng_y = DEFAULT_SRCH_RNG_Y; ps_app_ctxt->u4_i_interval = DEFAULT_I_INTERVAL; ps_app_ctxt->u4_idr_interval = DEFAULT_IDR_INTERVAL; + ps_app_ctxt->u4_constrained_intra_pred = DEFAULT_CONSTRAINED_INTRAPRED; ps_app_ctxt->u4_disable_deblk_level = DEFAULT_DISABLE_DEBLK_LEVEL; ps_app_ctxt->u4_hpel = DEFAULT_HPEL; ps_app_ctxt->u4_qpel = DEFAULT_QPEL; @@ -1088,6 +1095,9 @@ void set_ipe_params(app_ctxt_t *ps_app_ctxt, s_ipe_params_ip.s_ive_ip.u4_size = sizeof(ih264e_ctl_set_ipe_params_ip_t); s_ipe_params_op.s_ive_op.u4_size = sizeof(ih264e_ctl_set_ipe_params_op_t); + s_ipe_params_ip.s_ive_ip.u4_constrained_intra_pred = + ps_app_ctxt->u4_constrained_intra_pred; + status = ih264e_api_function(ps_app_ctxt->ps_enc,&s_ipe_params_ip,&s_ipe_params_op); if(status != IV_SUCCESS) { -- cgit v1.2.3