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_iquant_itrans_recon.h 22* 23* @brief 24* Functions declarations for inverse quantization, inverse transform and 25* reconstruction of chroma interleaved data. 26* 27* @author 28* Ittiam 29* 30* @remarks 31* None 32* 33******************************************************************************* 34*/ 35 36 37#ifndef _IHEVC_CHROMA_IQUANT_ITRANS_RECON_H_ 38#define _IHEVC_CHROMA_IQUANT_ITRANS_RECON_H_ 39 40typedef void ihevc_chroma_iquant_itrans_recon_4x4_ft(WORD16 *pi2_src, 41 WORD16 *pi2_tmp, 42 UWORD8 *pu1_pred, 43 WORD16 *pi2_dequant_coeff, 44 UWORD8 *pu1_dst, 45 WORD32 qp_div, /* qpscaled / 6 */ 46 WORD32 qp_rem, /* qpscaled % 6 */ 47 WORD32 src_strd, 48 WORD32 pred_strd, 49 WORD32 dst_strd, 50 WORD32 zero_cols, 51 WORD32 zero_rows); 52 53typedef void ihevc_hbd_chroma_iquant_itrans_recon_4x4_ft(WORD16 *pi2_src, 54 WORD16 *pi2_tmp, 55 UWORD16 *pu2_pred, 56 WORD16 *pi2_dequant_coeff, 57 UWORD16 *pu2_dst, 58 WORD32 qp_div, /* qpscaled / 6 */ 59 WORD32 qp_rem, /* qpscaled % 6 */ 60 WORD32 src_strd, 61 WORD32 pred_strd, 62 WORD32 dst_strd, 63 WORD32 zero_cols, 64 WORD32 zero_rows, 65 UWORD8 bit_depth); 66 67typedef void ihevc_chroma_iquant_itrans_recon_8x8_ft(WORD16 *pi2_src, 68 WORD16 *pi2_tmp, 69 UWORD8 *pu1_pred, 70 WORD16 *pi2_dequant_coeff, 71 UWORD8 *pu1_dst, 72 WORD32 qp_div, /* qpscaled / 6 */ 73 WORD32 qp_rem, /* qpscaled % 6 */ 74 WORD32 src_strd, 75 WORD32 pred_strd, 76 WORD32 dst_strd, 77 WORD32 zero_cols, 78 WORD32 zero_rows); 79 80typedef void ihevc_hbd_chroma_iquant_itrans_recon_8x8_ft(WORD16 *pi2_src, 81 WORD16 *pi2_tmp, 82 UWORD16 *pu2_pred, 83 WORD16 *pi2_dequant_coeff, 84 UWORD16 *pu2_dst, 85 WORD32 qp_div, /* qpscaled / 6 */ 86 WORD32 qp_rem, /* qpscaled % 6 */ 87 WORD32 src_strd, 88 WORD32 pred_strd, 89 WORD32 dst_strd, 90 WORD32 zero_cols, 91 WORD32 zero_rows, 92 UWORD8 bit_depth); 93 94typedef void ihevc_chroma_iquant_itrans_recon_16x16_ft(WORD16 *pi2_src, 95 WORD16 *pi2_tmp, 96 UWORD8 *pu1_pred, 97 WORD16 *pi2_dequant_coeff, 98 UWORD8 *pu1_dst, 99 WORD32 qp_div, /* qpscaled / 6 */ 100 WORD32 qp_rem, /* qpscaled % 6 */ 101 WORD32 src_strd, 102 WORD32 pred_strd, 103 WORD32 dst_strd, 104 WORD32 zero_cols, 105 WORD32 zero_rows); 106 107typedef void ihevc_hbd_chroma_iquant_itrans_recon_16x16_ft(WORD16 *pi2_src, 108 WORD16 *pi2_tmp, 109 UWORD16 *pu2_pred, 110 WORD16 *pi2_dequant_coeff, 111 UWORD16 *pu2_dst, 112 WORD32 qp_div, /* qpscaled / 6 */ 113 WORD32 qp_rem, /* qpscaled % 6 */ 114 WORD32 src_strd, 115 WORD32 pred_strd, 116 WORD32 dst_strd, 117 WORD32 zero_cols, 118 WORD32 zero_rows, 119 UWORD8 bit_depth); 120 121ihevc_chroma_iquant_itrans_recon_4x4_ft ihevc_chroma_iquant_itrans_recon_4x4; 122ihevc_hbd_chroma_iquant_itrans_recon_4x4_ft ihevc_hbd_chroma_iquant_itrans_recon_4x4; 123ihevc_chroma_iquant_itrans_recon_8x8_ft ihevc_chroma_iquant_itrans_recon_8x8; 124ihevc_hbd_chroma_iquant_itrans_recon_8x8_ft ihevc_hbd_chroma_iquant_itrans_recon_8x8; 125ihevc_chroma_iquant_itrans_recon_16x16_ft ihevc_chroma_iquant_itrans_recon_16x16; 126ihevc_hbd_chroma_iquant_itrans_recon_16x16_ft ihevc_hbd_chroma_iquant_itrans_recon_16x16; 127 128ihevc_chroma_iquant_itrans_recon_4x4_ft ihevc_chroma_iquant_itrans_recon_4x4_sse42; 129ihevc_hbd_chroma_iquant_itrans_recon_4x4_ft ihevc_hbd_chroma_iquant_itrans_recon_4x4_sse42; 130ihevc_chroma_iquant_itrans_recon_8x8_ft ihevc_chroma_iquant_itrans_recon_8x8_sse42; 131ihevc_hbd_chroma_iquant_itrans_recon_8x8_ft ihevc_hbd_chroma_iquant_itrans_recon_8x8_sse42; 132ihevc_chroma_iquant_itrans_recon_16x16_ft ihevc_chroma_iquant_itrans_recon_16x16_sse42; 133ihevc_hbd_chroma_iquant_itrans_recon_16x16_ft ihevc_hbd_chroma_iquant_itrans_recon_16x16_sse42; 134 135#endif /*_IHEVC_CHROMA_IQUANT_ITRANS_RECON_H_*/ 136