diff options
author | Doney Alex <doney.alex@ittiam.com> | 2016-02-24 12:00:03 +0530 |
---|---|---|
committer | Hangyu Kuang <hkuang@google.com> | 2016-03-11 22:10:12 +0000 |
commit | dfe686ad4a159a25195d614fa88cf00828f443db (patch) | |
tree | 6289db47cacd3448c92dfb50be03e9b3c903b2af /encoder/ih264e_api.c | |
parent | 1a5bf73cb0321ead3d839822986c45454c2f9fa7 (diff) | |
download | android_external_libavc-dfe686ad4a159a25195d614fa88cf00828f443db.tar.gz android_external_libavc-dfe686ad4a159a25195d614fa88cf00828f443db.tar.bz2 android_external_libavc-dfe686ad4a159a25195d614fa88cf00828f443db.zip |
DO NOT MERGE Encoder: Added support for Constrained intra prediction.
Change-Id: I674746047b2b007ca4bc52fad1a2cd9b177cd7bb
Diffstat (limited to 'encoder/ih264e_api.c')
-rw-r--r-- | encoder/ih264e_api.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/encoder/ih264e_api.c b/encoder/ih264e_api.c index 75c22d0..1c9a48b 100644 --- a/encoder/ih264e_api.c +++ b/encoder/ih264e_api.c @@ -1420,6 +1420,16 @@ static IV_STATUS_T api_check_struct_sanity(iv_obj_t *ps_handle, return IV_FAIL; } + if ((ps_ip->s_ive_ip.u4_constrained_intra_pred != 0) + && (ps_ip->s_ive_ip.u4_constrained_intra_pred != 1)) + { + ps_op->s_ive_op.u4_error_code |= 1 + << IVE_UNSUPPORTEDPARAM; + ps_op->s_ive_op.u4_error_code |= + IH264E_INVALID_CONSTRAINED_INTRA_PREDICTION_MODE; + return IV_FAIL; + } + if ((ps_ip->s_ive_ip.u4_enc_speed_preset != IVE_CONFIG) && (ps_ip->s_ive_ip.u4_enc_speed_preset != IVE_SLOWEST) && (ps_ip->s_ive_ip.u4_enc_speed_preset != IVE_NORMAL) @@ -1979,7 +1989,7 @@ IH264E_ERROR_T ih264e_codec_update_config(codec_t *ps_codec, else if (ps_cfg->e_cmd == IVE_CMD_CTL_SET_IPE_PARAMS) { ps_curr_cfg->u4_enc_speed_preset = ps_cfg->u4_enc_speed_preset; - + ps_curr_cfg->u4_constrained_intra_pred = ps_cfg->u4_constrained_intra_pred; if (ps_curr_cfg->u4_enc_speed_preset == IVE_SLOWEST) {/* high quality */ /* enable diamond search */ @@ -5069,6 +5079,8 @@ static IV_STATUS_T ih264_set_ipe_params(void *pv_api_ip, ps_cfg->u4_enable_intra_4x4 = ps_ip->s_ive_ip.u4_enable_intra_4x4; ps_cfg->u4_enc_speed_preset = ps_ip->s_ive_ip.u4_enc_speed_preset; + ps_cfg->u4_constrained_intra_pred = ps_ip->s_ive_ip.u4_constrained_intra_pred; + ps_cfg->u4_timestamp_high = ps_ip->s_ive_ip.u4_timestamp_high; ps_cfg->u4_timestamp_low = ps_ip->s_ive_ip.u4_timestamp_low; |