diff options
author | Akshata Jadhav <akshata.jadhav@ittiam.com> | 2019-05-21 09:45:33 +0530 |
---|---|---|
committer | Ram Mohan <ram.mohan@ittiam.com> | 2020-03-13 15:48:53 +0530 |
commit | b852cf285cacce86e516e425edf72f7629b1e85b (patch) | |
tree | e0cdb09cf570e0dbba35604facf4b25026f5b413 /test | |
parent | bc614efab569799c9b7322d0cf7d8205fbd85c63 (diff) | |
download | libhevc-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.c | 11 |
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); |