| 1003 | } // anon ns |
| 1004 | |
| 1005 | void InitPredFunc (PWelsDecoderContext pCtx, uint32_t uiCpuFlag) { |
| 1006 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_V ] = WelsI16x16LumaPredV_c; |
| 1007 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_H ] = WelsI16x16LumaPredH_c; |
| 1008 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC ] = WelsI16x16LumaPredDc_c; |
| 1009 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_P ] = WelsI16x16LumaPredPlane_c; |
| 1010 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC_L ] = WelsI16x16LumaPredDcLeft_c; |
| 1011 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC_T ] = WelsI16x16LumaPredDcTop_c; |
| 1012 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC_128] = WelsI16x16LumaPredDcNA_c; |
| 1013 | |
| 1014 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_V ] = WelsI4x4LumaPredV_c; |
| 1015 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_H ] = WelsI4x4LumaPredH_c; |
| 1016 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DC ] = WelsI4x4LumaPredDc_c; |
| 1017 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DC_L ] = WelsI4x4LumaPredDcLeft_c; |
| 1018 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DC_T ] = WelsI4x4LumaPredDcTop_c; |
| 1019 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DC_128] = WelsI4x4LumaPredDcNA_c; |
| 1020 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DDL ] = WelsI4x4LumaPredDDL_c; |
| 1021 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DDL_TOP] = WelsI4x4LumaPredDDLTop_c; |
| 1022 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_DDR ] = WelsI4x4LumaPredDDR_c; |
| 1023 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_VL ] = WelsI4x4LumaPredVL_c; |
| 1024 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_VL_TOP] = WelsI4x4LumaPredVLTop_c; |
| 1025 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_VR ] = WelsI4x4LumaPredVR_c; |
| 1026 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_HU ] = WelsI4x4LumaPredHU_c; |
| 1027 | pCtx->pGetI4x4LumaPredFunc[I4_PRED_HD ] = WelsI4x4LumaPredHD_c; |
| 1028 | |
| 1029 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_V ] = WelsI8x8LumaPredV_c; |
| 1030 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_H ] = WelsI8x8LumaPredH_c; |
| 1031 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DC ] = WelsI8x8LumaPredDc_c; |
| 1032 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DC_L ] = WelsI8x8LumaPredDcLeft_c; |
| 1033 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DC_T ] = WelsI8x8LumaPredDcTop_c; |
| 1034 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DC_128] = WelsI8x8LumaPredDcNA_c; |
| 1035 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DDL ] = WelsI8x8LumaPredDDL_c; |
| 1036 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DDL_TOP] = WelsI8x8LumaPredDDLTop_c; |
| 1037 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_DDR ] = WelsI8x8LumaPredDDR_c; |
| 1038 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_VL ] = WelsI8x8LumaPredVL_c; |
| 1039 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_VL_TOP] = WelsI8x8LumaPredVLTop_c; |
| 1040 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_VR ] = WelsI8x8LumaPredVR_c; |
| 1041 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_HU ] = WelsI8x8LumaPredHU_c; |
| 1042 | pCtx->pGetI8x8LumaPredFunc[I4_PRED_HD ] = WelsI8x8LumaPredHD_c; |
| 1043 | |
| 1044 | pCtx->pGetIChromaPredFunc[C_PRED_DC ] = WelsIChromaPredDc_c; |
| 1045 | pCtx->pGetIChromaPredFunc[C_PRED_H ] = WelsIChromaPredH_c; |
| 1046 | pCtx->pGetIChromaPredFunc[C_PRED_V ] = WelsIChromaPredV_c; |
| 1047 | pCtx->pGetIChromaPredFunc[C_PRED_P ] = WelsIChromaPredPlane_c; |
| 1048 | pCtx->pGetIChromaPredFunc[C_PRED_DC_L ] = WelsIChromaPredDcLeft_c; |
| 1049 | pCtx->pGetIChromaPredFunc[C_PRED_DC_T ] = WelsIChromaPredDcTop_c; |
| 1050 | pCtx->pGetIChromaPredFunc[C_PRED_DC_128] = WelsIChromaPredDcNA_c; |
| 1051 | |
| 1052 | pCtx->pIdctResAddPredFunc = IdctResAddPred_c; |
| 1053 | pCtx->pIdctFourResAddPredFunc = IdctFourResAddPred_<IdctResAddPred_c>; |
| 1054 | |
| 1055 | pCtx->pIdctResAddPredFunc8x8 = IdctResAddPred8x8_c; |
| 1056 | |
| 1057 | #if defined(HAVE_NEON) |
| 1058 | if (uiCpuFlag & WELS_CPU_NEON) { |
| 1059 | pCtx->pIdctResAddPredFunc = IdctResAddPred_neon; |
| 1060 | pCtx->pIdctFourResAddPredFunc = IdctFourResAddPred_<IdctResAddPred_neon>; |
| 1061 | |
| 1062 | pCtx->pGetI16x16LumaPredFunc[I16_PRED_DC] = WelsDecoderI16x16LumaPredDc_neon; |