diff options
Diffstat (limited to 'encoder/ih264e_half_pel.h')
-rw-r--r-- | encoder/ih264e_half_pel.h | 135 |
1 files changed, 28 insertions, 107 deletions
diff --git a/encoder/ih264e_half_pel.h b/encoder/ih264e_half_pel.h index 92bd37f..5b66ec0 100644 --- a/encoder/ih264e_half_pel.h +++ b/encoder/ih264e_half_pel.h @@ -19,27 +19,27 @@ */ /** - ******************************************************************************* - * @file - * ih264e_half_pel.h - * - * @brief - * Contains extern declarations of subpel functions used by the encoder - * - * @author - * ittiam - * - * @remarks - * none - * - ******************************************************************************* - */ +******************************************************************************* +* @file +* ih264e_half_pel.h +* +* @brief +* Contains declarations of subpel functions used by the encoder +* +* @author +* ittiam +* +* @remarks +* none +* +******************************************************************************* +*/ -#ifndef IH264E_HALF_PEL_H_ -#define IH264E_HALF_PEL_H_ +#ifndef _IH264E_HALF_PEL_H_ +#define _IH264E_HALF_PEL_H_ /*****************************************************************************/ -/* Global constants */ +/* Constant Macros */ /*****************************************************************************/ /* * Dimensions of subpel plane buffers @@ -48,99 +48,14 @@ #define HP_PL_HT MB_SIZE + 1 /*****************************************************************************/ -/* Extern Function Declarations */ +/* Function Declarations */ /*****************************************************************************/ -/** -******************************************************************************* -* -* @brief -* Interprediction luma filter for horizontal input (Filter run for width = 17 -* and height =16) -* -* @par Description: -* Applies a 6 tap horizontal filter .The output is clipped to 8 bits -* sec 8.4.2.2.1 titled "Luma sample interpolation process" -* -* @param[in] pu1_src -* UWORD8 pointer to the source -* -* @param[out] pu1_dst -* UWORD8 pointer to the destination -* -* @param[in] src_strd -* integer source stride -* -* @param[in] dst_strd -* integer destination stride -* -* @returns -* -* @remarks -* None -* -******************************************************************************* -*/ typedef void ih264e_sixtapfilter_horz_ft(UWORD8 *pu1_src, UWORD8 *pu1_dst, WORD32 src_strd, WORD32 dst_strd); -ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz; - -/* arm assembly */ -ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz_a9q; -ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz_av8; - -/* x86 intrinsics*/ -ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz_ssse3; - -/** -******************************************************************************* -* -* @brief -* This function implements a two stage cascaded six tap filter. It applies -* the six tap filter in the vertical direction on the predictor values, -* followed by applying the same filter in the horizontal direction on the -* output of the first stage. The six tap filtering operation is described in -* sec 8.4.2.2.1 titled "Luma sample interpolation process" (Filter run for -* width = 17 and height = 17) -* -* @par Description: -* The function interpolates the predictors first in the vertical direction and -* then in the horizontal direction to output the (1/2,1/2). The output of the -* first stage of the filter is stored in the buffer pointed to by -* pi16_pred1(only in C) in 16 bit precision. -* -* @param[in] pu1_src -* UWORD8 pointer to the source -* -* @param[out] pu1_dst1 -* UWORD8 pointer to the destination (Horizontal filtered output) -* -* @param[out] pu1_dst2 -* UWORD8 pointer to the destination (output after applying vertical filter to -* the intermediate horizontal output) -* -* @param[in] src_strd -* integer source stride - -* @param[in] dst_strd -* integer destination stride of pu1_dst -* -* @param[in] pi4_pred -* Pointer to 16bit intermediate buffer (used only in c) -* -* @param[in] i4_pred_strd -* integer destination stride of pi16_pred1 -* -* @returns -* -* @remarks -* None -* -******************************************************************************* -*/ typedef void ih264e_sixtap_filter_2dvh_vert_ft(UWORD8 *pu1_src, UWORD8 *pu1_dst1, UWORD8 *pu1_dst2, @@ -149,14 +64,20 @@ typedef void ih264e_sixtap_filter_2dvh_vert_ft(UWORD8 *pu1_src, WORD32 *pi4_pred, WORD32 i4_pred_strd); +/* C Declarations */ +ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz; ih264e_sixtap_filter_2dvh_vert_ft ih264e_sixtap_filter_2dvh_vert; -/* assembly */ +/* A9 Declarations */ +ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz_a9q; ih264e_sixtap_filter_2dvh_vert_ft ih264e_sixtap_filter_2dvh_vert_a9q; +/* AV8 Declarations */ +ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz_av8; ih264e_sixtap_filter_2dvh_vert_ft ih264e_sixtap_filter_2dvh_vert_av8; -/* x86 intrinsics */ +/* SSSE3 Declarations */ +ih264e_sixtapfilter_horz_ft ih264e_sixtapfilter_horz_ssse3; ih264e_sixtap_filter_2dvh_vert_ft ih264e_sixtap_filter_2dvh_vert_ssse3; -#endif /* IH264E_HALF_PEL_H_ */ +#endif /* _IH264E_HALF_PEL_H_ */ |