1 /****************************************************************************** 2 * 3 * Copyright (C) 2018 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20 /*! 21 ****************************************************************************** 22 * \file ihevce_enc_subpel_gen.h 23 * 24 * \brief 25 * This file contains interface defination of Subpel Plane generation 26 * function 27 * 28 * \date 29 * 29/12/2012 30 * 31 * \author 32 * Ittiam 33 * 34 ****************************************************************************** 35 */ 36 37 #ifndef _IHEVCE_ENC_SUBPEL_GEN_H_ 38 #define _IHEVCE_ENC_SUBPEL_GEN_H_ 39 40 /*****************************************************************************/ 41 /* Constant Macros */ 42 /*****************************************************************************/ 43 44 /*****************************************************************************/ 45 /* Function Macros */ 46 /*****************************************************************************/ 47 48 /*****************************************************************************/ 49 /* Typedefs */ 50 /*****************************************************************************/ 51 52 /*****************************************************************************/ 53 /* Enums */ 54 /*****************************************************************************/ 55 56 /*****************************************************************************/ 57 /* Structure */ 58 /*****************************************************************************/ 59 60 /*****************************************************************************/ 61 /* Extern Variable Declarations */ 62 /*****************************************************************************/ 63 /*****************************************************************************/ 64 /* Extern Function Declarations */ 65 /*****************************************************************************/ 66 67 void ihevce_subpel_padding( 68 UWORD8 *pu1_dst, 69 WORD32 stride, 70 WORD32 tot_wd, 71 WORD32 tot_ht, 72 WORD32 pad_subpel_x, 73 WORD32 pad_subpel_y, 74 WORD32 ctb_ctr, 75 WORD32 vert_ctr, 76 frm_ctb_ctxt_t *ps_frm_ctb_prms, 77 func_selector_t *ps_func_selector); 78 79 void ihevce_pad_interp_recon_ctb( 80 pad_interp_recon_frm_t *ps_pad_interp_recon, 81 WORD32 ctb_ctr, 82 WORD32 vert_ctr, 83 WORD32 quality_preset, 84 frm_ctb_ctxt_t *ps_frm_ctb_prms, 85 WORD16 *pi2_hxhy_interm, 86 WORD32 i4_bitrate_instance, 87 func_selector_t *ps_func_selector); 88 89 void ihevce_recon_padding( 90 pad_interp_recon_frm_t *ps_pad_interp_recon, 91 WORD32 ctb_ctr, 92 WORD32 vert_ctr, 93 frm_ctb_ctxt_t *ps_frm_ctb_prms, 94 func_selector_t *ps_func_selector); 95 96 void ihevce_pad_interp_recon_src_ctb( 97 pad_interp_recon_frm_t *ps_pad_interp_recon, 98 WORD32 ctb_ctr, 99 WORD32 vert_ctr, 100 frm_ctb_ctxt_t *ps_frm_ctb_prms, 101 WORD32 i4_bitrate_instance_id, 102 func_selector_t *ps_func_selector, 103 WORD32 is_chroma_needs_padding); 104 105 #endif /* _IHEVCE_ENC_SUBPEL_GEN_H_ */ 106