aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAkshata Jadhav <akshata.jadhav@ittiam.com>2019-05-21 09:45:33 +0530
committerRam Mohan <ram.mohan@ittiam.com>2020-03-13 15:48:53 +0530
commitb852cf285cacce86e516e425edf72f7629b1e85b (patch)
treee0cdb09cf570e0dbba35604facf4b25026f5b413 /test
parentbc614efab569799c9b7322d0cf7d8205fbd85c63 (diff)
downloadlibhevc-b852cf285cacce86e516e425edf72f7629b1e85b.tar.gz
libhevcenc: Add support for force idr picture
Test: hevcenc -c vid_enc_cfg.txt Bug: 135515629 Change-Id: I055dade512277a0bb605f253328cf5ac8af2a64f
Diffstat (limited to 'test')
-rw-r--r--test/encoder/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/encoder/main.c b/test/encoder/main.c
index 5e8747a..796724f 100644
--- a/test/encoder/main.c
+++ b/test/encoder/main.c
@@ -60,6 +60,7 @@
/* Constant Macros */
/*****************************************************************************/
#define DYN_BITRATE_TEST 0
+#define FORCE_IDR_TEST 0
/*****************************************************************************/
/* Global definitions */
@@ -836,8 +837,8 @@ IHEVCE_PLUGIN_STATUS_T allocate_input(appl_ctxt_t *ps_ctxt, ihevce_inp_buf_t *in
inp_pic->i4_curr_bitrate = params->s_tgt_lyr_prms.as_tgt_params[0].ai4_tgt_bitrate[0];
inp_pic->i4_curr_peak_bitrate = params->s_tgt_lyr_prms.as_tgt_params[0].ai4_peak_bitrate[0];
- inp_pic->i4_curr_rate_factor = params->s_config_prms.i4_rate_factor;
inp_pic->u8_pts = 0;
+ inp_pic->i4_force_idr_flag = 0;
return IHEVCE_EOK;
}
@@ -1019,6 +1020,8 @@ IHEVCE_PLUGIN_STATUS_T libihevce_encode_frame(appl_ctxt_t *ps_ctxt, FILE *pf_inp
{
ihevce_inp_buf_t *ps_inp_pic = &inp_pic;
+ ps_inp_pic->i4_force_idr_flag = 0;
+
if(i4_num_frames < params->s_config_prms.i4_num_frms_to_encode)
{
status = read_input(ps_ctxt, pf_inp_yuv, &inp_pic);
@@ -1037,6 +1040,12 @@ IHEVCE_PLUGIN_STATUS_T libihevce_encode_frame(appl_ctxt_t *ps_ctxt, FILE *pf_inp
ps_inp_pic->i4_curr_bitrate = ps_inp_pic->i4_curr_bitrate << 1;
}
#endif
+#if FORCE_IDR_TEST
+ if((i4_num_frames == 70) && (ps_inp_pic != NULL))
+ {
+ ps_inp_pic->i4_force_idr_flag = 1;
+ }
+#endif
/* call encoder process frame */
PROFILE_START(&s_profile_data);
status = ihevce_encode(ps_ctxt->ihevceHdl, ps_inp_pic, &out_pic);