Mercurial > libavcodec.hg
comparison dsputil.c @ 984:e162c09efbe7 libavcodec
qpel fix
| author | michaelni |
|---|---|
| date | Thu, 09 Jan 2003 20:42:37 +0000 |
| parents | 13aec7e50c52 |
| children | ad44196ea483 |
comparison
equal
deleted
inserted
replaced
| 983:ca2a303ea039 | 984:e162c09efbe7 |
|---|---|
| 799 dst+=dstStride;\ | 799 dst+=dstStride;\ |
| 800 src+=srcStride;\ | 800 src+=srcStride;\ |
| 801 }\ | 801 }\ |
| 802 }\ | 802 }\ |
| 803 \ | 803 \ |
| 804 static void OPNAME ## mpeg4_qpel8_v_lowpass(UINT8 *dst, UINT8 *src, int dstStride, int srcStride, int w){\ | 804 static void OPNAME ## mpeg4_qpel8_v_lowpass(UINT8 *dst, UINT8 *src, int dstStride, int srcStride){\ |
| 805 const int w=8;\ | |
| 805 UINT8 *cm = cropTbl + MAX_NEG_CROP;\ | 806 UINT8 *cm = cropTbl + MAX_NEG_CROP;\ |
| 806 int i;\ | 807 int i;\ |
| 807 for(i=0; i<w; i++)\ | 808 for(i=0; i<w; i++)\ |
| 808 {\ | 809 {\ |
| 809 const int src0= src[0*srcStride];\ | 810 const int src0= src[0*srcStride];\ |
| 921 \ | 922 \ |
| 922 static void OPNAME ## qpel8_mc01_c(UINT8 *dst, UINT8 *src, int stride){\ | 923 static void OPNAME ## qpel8_mc01_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 923 UINT8 full[16*9];\ | 924 UINT8 full[16*9];\ |
| 924 UINT8 half[64];\ | 925 UINT8 half[64];\ |
| 925 copy_block9(full, src, 16, stride, 9);\ | 926 copy_block9(full, src, 16, stride, 9);\ |
| 926 put ## RND ## mpeg4_qpel8_v_lowpass(half, full, 8, 16, 8);\ | 927 put ## RND ## mpeg4_qpel8_v_lowpass(half, full, 8, 16);\ |
| 927 OPNAME ## pixels8_l2(dst, full, half, stride, 16, 8, 8);\ | 928 OPNAME ## pixels8_l2(dst, full, half, stride, 16, 8, 8);\ |
| 928 }\ | 929 }\ |
| 929 \ | 930 \ |
| 930 static void OPNAME ## qpel8_mc02_c(UINT8 *dst, UINT8 *src, int stride){\ | 931 static void OPNAME ## qpel8_mc02_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 931 UINT8 full[16*9];\ | 932 UINT8 full[16*9];\ |
| 932 copy_block9(full, src, 16, stride, 9);\ | 933 copy_block9(full, src, 16, stride, 9);\ |
| 933 OPNAME ## mpeg4_qpel8_v_lowpass(dst, full, stride, 16, 8);\ | 934 OPNAME ## mpeg4_qpel8_v_lowpass(dst, full, stride, 16);\ |
| 934 }\ | 935 }\ |
| 935 \ | 936 \ |
| 936 static void OPNAME ## qpel8_mc03_c(UINT8 *dst, UINT8 *src, int stride){\ | 937 static void OPNAME ## qpel8_mc03_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 937 UINT8 full[16*9];\ | 938 UINT8 full[16*9];\ |
| 938 UINT8 half[64];\ | 939 UINT8 half[64];\ |
| 939 copy_block9(full, src, 16, stride, 9);\ | 940 copy_block9(full, src, 16, stride, 9);\ |
| 940 put ## RND ## mpeg4_qpel8_v_lowpass(half, full, 8, 16, 8);\ | 941 put ## RND ## mpeg4_qpel8_v_lowpass(half, full, 8, 16);\ |
| 941 OPNAME ## pixels8_l2(dst, full+16, half, stride, 16, 8, 8);\ | 942 OPNAME ## pixels8_l2(dst, full+16, half, stride, 16, 8, 8);\ |
| 942 }\ | 943 }\ |
| 943 static void OPNAME ## qpel8_mc11_c(UINT8 *dst, UINT8 *src, int stride){\ | 944 void ff_ ## OPNAME ## qpel8_mc11_old_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 944 UINT8 full[16*9];\ | 945 UINT8 full[16*9];\ |
| 945 UINT8 halfH[72];\ | 946 UINT8 halfH[72];\ |
| 946 UINT8 halfV[64];\ | 947 UINT8 halfV[64];\ |
| 947 UINT8 halfHV[64];\ | 948 UINT8 halfHV[64];\ |
| 948 copy_block9(full, src, 16, stride, 9);\ | 949 copy_block9(full, src, 16, stride, 9);\ |
| 949 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | 950 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ |
| 950 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full, 8, 16, 8);\ | 951 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full, 8, 16);\ |
| 951 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 952 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 952 OPNAME ## pixels8_l4(dst, full, halfH, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ | 953 OPNAME ## pixels8_l4(dst, full, halfH, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ |
| 953 }\ | 954 }\ |
| 954 static void OPNAME ## qpel8_mc31_c(UINT8 *dst, UINT8 *src, int stride){\ | 955 static void OPNAME ## qpel8_mc11_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 956 UINT8 full[16*9];\ | |
| 957 UINT8 halfH[72];\ | |
| 958 UINT8 halfHV[64];\ | |
| 959 copy_block9(full, src, 16, stride, 9);\ | |
| 960 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | |
| 961 put ## RND ## pixels8_l2(halfH, halfH, full, 8, 8, 16, 9);\ | |
| 962 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ | |
| 963 OPNAME ## pixels8_l2(dst, halfH, halfHV, stride, 8, 8, 8);\ | |
| 964 }\ | |
| 965 void ff_ ## OPNAME ## qpel8_mc31_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 955 UINT8 full[16*9];\ | 966 UINT8 full[16*9];\ |
| 956 UINT8 halfH[72];\ | 967 UINT8 halfH[72];\ |
| 957 UINT8 halfV[64];\ | 968 UINT8 halfV[64];\ |
| 958 UINT8 halfHV[64];\ | 969 UINT8 halfHV[64];\ |
| 959 copy_block9(full, src, 16, stride, 9);\ | 970 copy_block9(full, src, 16, stride, 9);\ |
| 960 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | 971 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ |
| 961 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full+1, 8, 16, 8);\ | 972 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full+1, 8, 16);\ |
| 962 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 973 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 963 OPNAME ## pixels8_l4(dst, full+1, halfH, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ | 974 OPNAME ## pixels8_l4(dst, full+1, halfH, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ |
| 964 }\ | 975 }\ |
| 965 static void OPNAME ## qpel8_mc13_c(UINT8 *dst, UINT8 *src, int stride){\ | 976 static void OPNAME ## qpel8_mc31_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 977 UINT8 full[16*9];\ | |
| 978 UINT8 halfH[72];\ | |
| 979 UINT8 halfHV[64];\ | |
| 980 copy_block9(full, src, 16, stride, 9);\ | |
| 981 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | |
| 982 put ## RND ## pixels8_l2(halfH, halfH, full+1, 8, 8, 16, 9);\ | |
| 983 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ | |
| 984 OPNAME ## pixels8_l2(dst, halfH, halfHV, stride, 8, 8, 8);\ | |
| 985 }\ | |
| 986 void ff_ ## OPNAME ## qpel8_mc13_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 966 UINT8 full[16*9];\ | 987 UINT8 full[16*9];\ |
| 967 UINT8 halfH[72];\ | 988 UINT8 halfH[72];\ |
| 968 UINT8 halfV[64];\ | 989 UINT8 halfV[64];\ |
| 969 UINT8 halfHV[64];\ | 990 UINT8 halfHV[64];\ |
| 970 copy_block9(full, src, 16, stride, 9);\ | 991 copy_block9(full, src, 16, stride, 9);\ |
| 971 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | 992 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ |
| 972 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full, 8, 16, 8);\ | 993 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full, 8, 16);\ |
| 973 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 994 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 974 OPNAME ## pixels8_l4(dst, full+16, halfH+8, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ | 995 OPNAME ## pixels8_l4(dst, full+16, halfH+8, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ |
| 975 }\ | 996 }\ |
| 976 static void OPNAME ## qpel8_mc33_c(UINT8 *dst, UINT8 *src, int stride){\ | 997 static void OPNAME ## qpel8_mc13_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 998 UINT8 full[16*9];\ | |
| 999 UINT8 halfH[72];\ | |
| 1000 UINT8 halfHV[64];\ | |
| 1001 copy_block9(full, src, 16, stride, 9);\ | |
| 1002 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | |
| 1003 put ## RND ## pixels8_l2(halfH, halfH, full, 8, 8, 16, 9);\ | |
| 1004 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ | |
| 1005 OPNAME ## pixels8_l2(dst, halfH+8, halfHV, stride, 8, 8, 8);\ | |
| 1006 }\ | |
| 1007 void ff_ ## OPNAME ## qpel8_mc33_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 977 UINT8 full[16*9];\ | 1008 UINT8 full[16*9];\ |
| 978 UINT8 halfH[72];\ | 1009 UINT8 halfH[72];\ |
| 979 UINT8 halfV[64];\ | 1010 UINT8 halfV[64];\ |
| 980 UINT8 halfHV[64];\ | 1011 UINT8 halfHV[64];\ |
| 981 copy_block9(full, src, 16, stride, 9);\ | 1012 copy_block9(full, src, 16, stride, 9);\ |
| 982 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full , 8, 16, 9);\ | 1013 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full , 8, 16, 9);\ |
| 983 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full+1, 8, 16, 8);\ | 1014 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full+1, 8, 16);\ |
| 984 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 1015 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 985 OPNAME ## pixels8_l4(dst, full+17, halfH+8, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ | 1016 OPNAME ## pixels8_l4(dst, full+17, halfH+8, halfV, halfHV, stride, 16, 8, 8, 8, 8);\ |
| 1017 }\ | |
| 1018 static void OPNAME ## qpel8_mc33_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1019 UINT8 full[16*9];\ | |
| 1020 UINT8 halfH[72];\ | |
| 1021 UINT8 halfHV[64];\ | |
| 1022 copy_block9(full, src, 16, stride, 9);\ | |
| 1023 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | |
| 1024 put ## RND ## pixels8_l2(halfH, halfH, full+1, 8, 8, 16, 9);\ | |
| 1025 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ | |
| 1026 OPNAME ## pixels8_l2(dst, halfH+8, halfHV, stride, 8, 8, 8);\ | |
| 986 }\ | 1027 }\ |
| 987 static void OPNAME ## qpel8_mc21_c(UINT8 *dst, UINT8 *src, int stride){\ | 1028 static void OPNAME ## qpel8_mc21_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 988 UINT8 halfH[72];\ | 1029 UINT8 halfH[72];\ |
| 989 UINT8 halfHV[64];\ | 1030 UINT8 halfHV[64];\ |
| 990 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ | 1031 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ |
| 991 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 1032 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 992 OPNAME ## pixels8_l2(dst, halfH, halfHV, stride, 8, 8, 8);\ | 1033 OPNAME ## pixels8_l2(dst, halfH, halfHV, stride, 8, 8, 8);\ |
| 993 }\ | 1034 }\ |
| 994 static void OPNAME ## qpel8_mc23_c(UINT8 *dst, UINT8 *src, int stride){\ | 1035 static void OPNAME ## qpel8_mc23_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 995 UINT8 halfH[72];\ | 1036 UINT8 halfH[72];\ |
| 996 UINT8 halfHV[64];\ | 1037 UINT8 halfHV[64];\ |
| 997 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ | 1038 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ |
| 998 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 1039 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 999 OPNAME ## pixels8_l2(dst, halfH+8, halfHV, stride, 8, 8, 8);\ | 1040 OPNAME ## pixels8_l2(dst, halfH+8, halfHV, stride, 8, 8, 8);\ |
| 1000 }\ | 1041 }\ |
| 1001 static void OPNAME ## qpel8_mc12_c(UINT8 *dst, UINT8 *src, int stride){\ | 1042 void ff_ ## OPNAME ## qpel8_mc12_old_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1002 UINT8 full[16*9];\ | 1043 UINT8 full[16*9];\ |
| 1003 UINT8 halfH[72];\ | 1044 UINT8 halfH[72];\ |
| 1004 UINT8 halfV[64];\ | 1045 UINT8 halfV[64];\ |
| 1005 UINT8 halfHV[64];\ | 1046 UINT8 halfHV[64];\ |
| 1006 copy_block9(full, src, 16, stride, 9);\ | 1047 copy_block9(full, src, 16, stride, 9);\ |
| 1007 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | 1048 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ |
| 1008 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full, 8, 16, 8);\ | 1049 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full, 8, 16);\ |
| 1009 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 1050 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 1010 OPNAME ## pixels8_l2(dst, halfV, halfHV, stride, 8, 8, 8);\ | 1051 OPNAME ## pixels8_l2(dst, halfV, halfHV, stride, 8, 8, 8);\ |
| 1011 }\ | 1052 }\ |
| 1012 static void OPNAME ## qpel8_mc32_c(UINT8 *dst, UINT8 *src, int stride){\ | 1053 static void OPNAME ## qpel8_mc12_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1054 UINT8 full[16*9];\ | |
| 1055 UINT8 halfH[72];\ | |
| 1056 copy_block9(full, src, 16, stride, 9);\ | |
| 1057 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | |
| 1058 put ## RND ## pixels8_l2(halfH, halfH, full, 8, 8, 16, 9);\ | |
| 1059 OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);\ | |
| 1060 }\ | |
| 1061 void ff_ ## OPNAME ## qpel8_mc32_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1013 UINT8 full[16*9];\ | 1062 UINT8 full[16*9];\ |
| 1014 UINT8 halfH[72];\ | 1063 UINT8 halfH[72];\ |
| 1015 UINT8 halfV[64];\ | 1064 UINT8 halfV[64];\ |
| 1016 UINT8 halfHV[64];\ | 1065 UINT8 halfHV[64];\ |
| 1017 copy_block9(full, src, 16, stride, 9);\ | 1066 copy_block9(full, src, 16, stride, 9);\ |
| 1018 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | 1067 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ |
| 1019 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full+1, 8, 16, 8);\ | 1068 put ## RND ## mpeg4_qpel8_v_lowpass(halfV, full+1, 8, 16);\ |
| 1020 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8, 8);\ | 1069 put ## RND ## mpeg4_qpel8_v_lowpass(halfHV, halfH, 8, 8);\ |
| 1021 OPNAME ## pixels8_l2(dst, halfV, halfHV, stride, 8, 8, 8);\ | 1070 OPNAME ## pixels8_l2(dst, halfV, halfHV, stride, 8, 8, 8);\ |
| 1071 }\ | |
| 1072 static void OPNAME ## qpel8_mc32_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1073 UINT8 full[16*9];\ | |
| 1074 UINT8 halfH[72];\ | |
| 1075 copy_block9(full, src, 16, stride, 9);\ | |
| 1076 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, full, 8, 16, 9);\ | |
| 1077 put ## RND ## pixels8_l2(halfH, halfH, full+1, 8, 8, 16, 9);\ | |
| 1078 OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);\ | |
| 1022 }\ | 1079 }\ |
| 1023 static void OPNAME ## qpel8_mc22_c(UINT8 *dst, UINT8 *src, int stride){\ | 1080 static void OPNAME ## qpel8_mc22_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1024 UINT8 halfH[72];\ | 1081 UINT8 halfH[72];\ |
| 1025 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ | 1082 put ## RND ## mpeg4_qpel8_h_lowpass(halfH, src, 8, stride, 9);\ |
| 1026 OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8, 8);\ | 1083 OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);\ |
| 1027 }\ | 1084 }\ |
| 1028 static void OPNAME ## qpel16_mc00_c (UINT8 *dst, UINT8 *src, int stride){\ | 1085 static void OPNAME ## qpel16_mc00_c (UINT8 *dst, UINT8 *src, int stride){\ |
| 1029 OPNAME ## pixels16_c(dst, src, stride, 16);\ | 1086 OPNAME ## pixels16_c(dst, src, stride, 16);\ |
| 1030 }\ | 1087 }\ |
| 1031 \ | 1088 \ |
| 1064 UINT8 half[256];\ | 1121 UINT8 half[256];\ |
| 1065 copy_block17(full, src, 24, stride, 17);\ | 1122 copy_block17(full, src, 24, stride, 17);\ |
| 1066 put ## RND ## mpeg4_qpel16_v_lowpass(half, full, 16, 24);\ | 1123 put ## RND ## mpeg4_qpel16_v_lowpass(half, full, 16, 24);\ |
| 1067 OPNAME ## pixels16_l2(dst, full+24, half, stride, 24, 16, 16);\ | 1124 OPNAME ## pixels16_l2(dst, full+24, half, stride, 24, 16, 16);\ |
| 1068 }\ | 1125 }\ |
| 1069 static void OPNAME ## qpel16_mc11_c(UINT8 *dst, UINT8 *src, int stride){\ | 1126 void ff_ ## OPNAME ## qpel16_mc11_old_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1070 UINT8 full[24*17];\ | 1127 UINT8 full[24*17];\ |
| 1071 UINT8 halfH[272];\ | 1128 UINT8 halfH[272];\ |
| 1072 UINT8 halfV[256];\ | 1129 UINT8 halfV[256];\ |
| 1073 UINT8 halfHV[256];\ | 1130 UINT8 halfHV[256];\ |
| 1074 copy_block17(full, src, 24, stride, 17);\ | 1131 copy_block17(full, src, 24, stride, 17);\ |
| 1075 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | 1132 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ |
| 1076 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full, 16, 24);\ | 1133 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full, 16, 24);\ |
| 1077 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1134 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1078 OPNAME ## pixels16_l4(dst, full, halfH, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ | 1135 OPNAME ## pixels16_l4(dst, full, halfH, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ |
| 1079 }\ | 1136 }\ |
| 1080 static void OPNAME ## qpel16_mc31_c(UINT8 *dst, UINT8 *src, int stride){\ | 1137 static void OPNAME ## qpel16_mc11_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1138 UINT8 full[24*17];\ | |
| 1139 UINT8 halfH[272];\ | |
| 1140 UINT8 halfHV[256];\ | |
| 1141 copy_block17(full, src, 24, stride, 17);\ | |
| 1142 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | |
| 1143 put ## RND ## pixels16_l2(halfH, halfH, full, 16, 16, 24, 17);\ | |
| 1144 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | |
| 1145 OPNAME ## pixels16_l2(dst, halfH, halfHV, stride, 16, 16, 16);\ | |
| 1146 }\ | |
| 1147 void ff_ ## OPNAME ## qpel16_mc31_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1081 UINT8 full[24*17];\ | 1148 UINT8 full[24*17];\ |
| 1082 UINT8 halfH[272];\ | 1149 UINT8 halfH[272];\ |
| 1083 UINT8 halfV[256];\ | 1150 UINT8 halfV[256];\ |
| 1084 UINT8 halfHV[256];\ | 1151 UINT8 halfHV[256];\ |
| 1085 copy_block17(full, src, 24, stride, 17);\ | 1152 copy_block17(full, src, 24, stride, 17);\ |
| 1086 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | 1153 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ |
| 1087 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full+1, 16, 24);\ | 1154 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full+1, 16, 24);\ |
| 1088 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1155 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1089 OPNAME ## pixels16_l4(dst, full+1, halfH, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ | 1156 OPNAME ## pixels16_l4(dst, full+1, halfH, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ |
| 1090 }\ | 1157 }\ |
| 1091 static void OPNAME ## qpel16_mc13_c(UINT8 *dst, UINT8 *src, int stride){\ | 1158 static void OPNAME ## qpel16_mc31_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1159 UINT8 full[24*17];\ | |
| 1160 UINT8 halfH[272];\ | |
| 1161 UINT8 halfHV[256];\ | |
| 1162 copy_block17(full, src, 24, stride, 17);\ | |
| 1163 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | |
| 1164 put ## RND ## pixels16_l2(halfH, halfH, full+1, 16, 16, 24, 17);\ | |
| 1165 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | |
| 1166 OPNAME ## pixels16_l2(dst, halfH, halfHV, stride, 16, 16, 16);\ | |
| 1167 }\ | |
| 1168 void ff_ ## OPNAME ## qpel16_mc13_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1092 UINT8 full[24*17];\ | 1169 UINT8 full[24*17];\ |
| 1093 UINT8 halfH[272];\ | 1170 UINT8 halfH[272];\ |
| 1094 UINT8 halfV[256];\ | 1171 UINT8 halfV[256];\ |
| 1095 UINT8 halfHV[256];\ | 1172 UINT8 halfHV[256];\ |
| 1096 copy_block17(full, src, 24, stride, 17);\ | 1173 copy_block17(full, src, 24, stride, 17);\ |
| 1097 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | 1174 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ |
| 1098 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full, 16, 24);\ | 1175 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full, 16, 24);\ |
| 1099 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1176 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1100 OPNAME ## pixels16_l4(dst, full+24, halfH+16, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ | 1177 OPNAME ## pixels16_l4(dst, full+24, halfH+16, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ |
| 1101 }\ | 1178 }\ |
| 1102 static void OPNAME ## qpel16_mc33_c(UINT8 *dst, UINT8 *src, int stride){\ | 1179 static void OPNAME ## qpel16_mc13_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1180 UINT8 full[24*17];\ | |
| 1181 UINT8 halfH[272];\ | |
| 1182 UINT8 halfHV[256];\ | |
| 1183 copy_block17(full, src, 24, stride, 17);\ | |
| 1184 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | |
| 1185 put ## RND ## pixels16_l2(halfH, halfH, full, 16, 16, 24, 17);\ | |
| 1186 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | |
| 1187 OPNAME ## pixels16_l2(dst, halfH+16, halfHV, stride, 16, 16, 16);\ | |
| 1188 }\ | |
| 1189 void ff_ ## OPNAME ## qpel16_mc33_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1103 UINT8 full[24*17];\ | 1190 UINT8 full[24*17];\ |
| 1104 UINT8 halfH[272];\ | 1191 UINT8 halfH[272];\ |
| 1105 UINT8 halfV[256];\ | 1192 UINT8 halfV[256];\ |
| 1106 UINT8 halfHV[256];\ | 1193 UINT8 halfHV[256];\ |
| 1107 copy_block17(full, src, 24, stride, 17);\ | 1194 copy_block17(full, src, 24, stride, 17);\ |
| 1108 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full , 16, 24, 17);\ | 1195 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full , 16, 24, 17);\ |
| 1109 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full+1, 16, 24);\ | 1196 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full+1, 16, 24);\ |
| 1110 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1197 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1111 OPNAME ## pixels16_l4(dst, full+25, halfH+16, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ | 1198 OPNAME ## pixels16_l4(dst, full+25, halfH+16, halfV, halfHV, stride, 24, 16, 16, 16, 16);\ |
| 1112 }\ | 1199 }\ |
| 1200 static void OPNAME ## qpel16_mc33_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1201 UINT8 full[24*17];\ | |
| 1202 UINT8 halfH[272];\ | |
| 1203 UINT8 halfHV[256];\ | |
| 1204 copy_block17(full, src, 24, stride, 17);\ | |
| 1205 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | |
| 1206 put ## RND ## pixels16_l2(halfH, halfH, full+1, 16, 16, 24, 17);\ | |
| 1207 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | |
| 1208 OPNAME ## pixels16_l2(dst, halfH+16, halfHV, stride, 16, 16, 16);\ | |
| 1209 }\ | |
| 1113 static void OPNAME ## qpel16_mc21_c(UINT8 *dst, UINT8 *src, int stride){\ | 1210 static void OPNAME ## qpel16_mc21_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1114 UINT8 halfH[272];\ | 1211 UINT8 halfH[272];\ |
| 1115 UINT8 halfHV[256];\ | 1212 UINT8 halfHV[256];\ |
| 1116 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, src, 16, stride, 17);\ | 1213 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, src, 16, stride, 17);\ |
| 1117 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1214 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1122 UINT8 halfHV[256];\ | 1219 UINT8 halfHV[256];\ |
| 1123 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, src, 16, stride, 17);\ | 1220 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, src, 16, stride, 17);\ |
| 1124 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1221 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1125 OPNAME ## pixels16_l2(dst, halfH+16, halfHV, stride, 16, 16, 16);\ | 1222 OPNAME ## pixels16_l2(dst, halfH+16, halfHV, stride, 16, 16, 16);\ |
| 1126 }\ | 1223 }\ |
| 1127 static void OPNAME ## qpel16_mc12_c(UINT8 *dst, UINT8 *src, int stride){\ | 1224 void ff_ ## OPNAME ## qpel16_mc12_old_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1128 UINT8 full[24*17];\ | 1225 UINT8 full[24*17];\ |
| 1129 UINT8 halfH[272];\ | 1226 UINT8 halfH[272];\ |
| 1130 UINT8 halfV[256];\ | 1227 UINT8 halfV[256];\ |
| 1131 UINT8 halfHV[256];\ | 1228 UINT8 halfHV[256];\ |
| 1132 copy_block17(full, src, 24, stride, 17);\ | 1229 copy_block17(full, src, 24, stride, 17);\ |
| 1133 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | 1230 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ |
| 1134 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full, 16, 24);\ | 1231 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full, 16, 24);\ |
| 1135 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1232 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1136 OPNAME ## pixels16_l2(dst, halfV, halfHV, stride, 16, 16, 16);\ | 1233 OPNAME ## pixels16_l2(dst, halfV, halfHV, stride, 16, 16, 16);\ |
| 1137 }\ | 1234 }\ |
| 1138 static void OPNAME ## qpel16_mc32_c(UINT8 *dst, UINT8 *src, int stride){\ | 1235 static void OPNAME ## qpel16_mc12_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1236 UINT8 full[24*17];\ | |
| 1237 UINT8 halfH[272];\ | |
| 1238 copy_block17(full, src, 24, stride, 17);\ | |
| 1239 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | |
| 1240 put ## RND ## pixels16_l2(halfH, halfH, full, 16, 16, 24, 17);\ | |
| 1241 OPNAME ## mpeg4_qpel16_v_lowpass(dst, halfH, stride, 16);\ | |
| 1242 }\ | |
| 1243 void ff_ ## OPNAME ## qpel16_mc32_old_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1139 UINT8 full[24*17];\ | 1244 UINT8 full[24*17];\ |
| 1140 UINT8 halfH[272];\ | 1245 UINT8 halfH[272];\ |
| 1141 UINT8 halfV[256];\ | 1246 UINT8 halfV[256];\ |
| 1142 UINT8 halfHV[256];\ | 1247 UINT8 halfHV[256];\ |
| 1143 copy_block17(full, src, 24, stride, 17);\ | 1248 copy_block17(full, src, 24, stride, 17);\ |
| 1144 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | 1249 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ |
| 1145 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full+1, 16, 24);\ | 1250 put ## RND ## mpeg4_qpel16_v_lowpass(halfV, full+1, 16, 24);\ |
| 1146 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ | 1251 put ## RND ## mpeg4_qpel16_v_lowpass(halfHV, halfH, 16, 16);\ |
| 1147 OPNAME ## pixels16_l2(dst, halfV, halfHV, stride, 16, 16, 16);\ | 1252 OPNAME ## pixels16_l2(dst, halfV, halfHV, stride, 16, 16, 16);\ |
| 1253 }\ | |
| 1254 static void OPNAME ## qpel16_mc32_c(UINT8 *dst, UINT8 *src, int stride){\ | |
| 1255 UINT8 full[24*17];\ | |
| 1256 UINT8 halfH[272];\ | |
| 1257 copy_block17(full, src, 24, stride, 17);\ | |
| 1258 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, full, 16, 24, 17);\ | |
| 1259 put ## RND ## pixels16_l2(halfH, halfH, full+1, 16, 16, 24, 17);\ | |
| 1260 OPNAME ## mpeg4_qpel16_v_lowpass(dst, halfH, stride, 16);\ | |
| 1148 }\ | 1261 }\ |
| 1149 static void OPNAME ## qpel16_mc22_c(UINT8 *dst, UINT8 *src, int stride){\ | 1262 static void OPNAME ## qpel16_mc22_c(UINT8 *dst, UINT8 *src, int stride){\ |
| 1150 UINT8 halfH[272];\ | 1263 UINT8 halfH[272];\ |
| 1151 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, src, 16, stride, 17);\ | 1264 put ## RND ## mpeg4_qpel16_h_lowpass(halfH, src, 16, stride, 17);\ |
| 1152 OPNAME ## mpeg4_qpel16_v_lowpass(dst, halfH, stride, 16);\ | 1265 OPNAME ## mpeg4_qpel16_v_lowpass(dst, halfH, stride, 16);\ |
