1 /****************************************************************************** 2 * 3 * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 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 /** 19 ******************************************************************************* 20 * @file 21 * ihevc_chroma_itrans_recon.h 22 * 23 * @brief 24 * Functions declarations for inverse transform and reconstruction of 25 * chroma interleaved data. 26 * 27 * @author 28 * Ittiam 29 * 30 * @remarks 31 * None 32 * 33 ******************************************************************************* 34 */ 35 36 37 #ifndef _IHEVC_CHROMA_ITRANS_RECON_H_ 38 #define _IHEVC_CHROMA_ITRANS_RECON_H_ 39 40 typedef void ihevc_chroma_itrans_recon_4x4_ft(WORD16 *pi2_src, 41 WORD16 *pi2_tmp, 42 UWORD8 *pu1_pred, 43 UWORD8 *pu1_dst, 44 WORD32 src_strd, 45 WORD32 pred_strd, 46 WORD32 dst_strd, 47 WORD32 zero_cols, 48 WORD32 zero_rows); 49 typedef void ihevc_hbd_chroma_itrans_recon_4x4_ft(WORD16 *pi2_src, 50 WORD16 *pi2_tmp, 51 UWORD16 *pu2_pred, 52 UWORD16 *pu2_dst, 53 WORD32 src_strd, 54 WORD32 pred_strd, 55 WORD32 dst_strd, 56 WORD32 zero_cols, 57 WORD32 zero_rows, 58 UWORD8 bit_depth); 59 typedef void ihevc_chroma_itrans_recon_8x8_ft(WORD16 *pi2_src, 60 WORD16 *pi2_tmp, 61 UWORD8 *pu1_pred, 62 UWORD8 *pu1_dst, 63 WORD32 src_strd, 64 WORD32 pred_strd, 65 WORD32 dst_strd, 66 WORD32 zero_cols, 67 WORD32 zero_rows); 68 typedef void ihevc_hbd_chroma_itrans_recon_8x8_ft(WORD16 *pi2_src, 69 WORD16 *pi2_tmp, 70 UWORD16 *pu2_pred, 71 UWORD16 *pu2_dst, 72 WORD32 src_strd, 73 WORD32 pred_strd, 74 WORD32 dst_strd, 75 WORD32 zero_cols, 76 WORD32 zero_rows, 77 UWORD8 bit_depth); 78 typedef void ihevc_chroma_itrans_recon_16x16_ft(WORD16 *pi2_src, 79 WORD16 *pi2_tmp, 80 UWORD8 *pu1_pred, 81 UWORD8 *pu1_dst, 82 WORD32 src_strd, 83 WORD32 pred_strd, 84 WORD32 dst_strd, 85 WORD32 zero_cols, 86 WORD32 zero_rows); 87 typedef void ihevc_hbd_chroma_itrans_recon_16x16_ft(WORD16 *pi2_src, 88 WORD16 *pi2_tmp, 89 UWORD16 *pu2_pred, 90 UWORD16 *pu2_dst, 91 WORD32 src_strd, 92 WORD32 pred_strd, 93 WORD32 dst_strd, 94 WORD32 zero_cols, 95 WORD32 zero_rows, 96 UWORD8 bit_depth); 97 98 ihevc_chroma_itrans_recon_4x4_ft ihevc_chroma_itrans_recon_4x4; 99 ihevc_hbd_chroma_itrans_recon_4x4_ft ihevc_hbd_chroma_itrans_recon_4x4; 100 ihevc_chroma_itrans_recon_8x8_ft ihevc_chroma_itrans_recon_8x8; 101 ihevc_hbd_chroma_itrans_recon_8x8_ft ihevc_hbd_chroma_itrans_recon_8x8; 102 ihevc_chroma_itrans_recon_16x16_ft ihevc_chroma_itrans_recon_16x16; 103 ihevc_hbd_chroma_itrans_recon_16x16_ft ihevc_hbd_chroma_itrans_recon_16x16; 104 105 /* A9 Q Function Declarations */ 106 ihevc_chroma_itrans_recon_4x4_ft ihevc_chroma_itrans_recon_4x4_a9q; 107 ihevc_chroma_itrans_recon_8x8_ft ihevc_chroma_itrans_recon_8x8_a9q; 108 ihevc_chroma_itrans_recon_16x16_ft ihevc_chroma_itrans_recon_16x16_a9q; 109 110 ihevc_hbd_chroma_itrans_recon_4x4_ft ihevc_hbd_chroma_itrans_recon_4x4_sse42; 111 ihevc_hbd_chroma_itrans_recon_8x8_ft ihevc_hbd_chroma_itrans_recon_8x8_sse42; 112 ihevc_hbd_chroma_itrans_recon_16x16_ft ihevc_hbd_chroma_itrans_recon_16x16_sse42; 113 114 #endif /*_IHEVC_CHROMA_ITRANS_RECON_H_*/ 115