Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
| ... | ... |
@@ -1045,7 +1045,7 @@ static void fillPlane(uint8_t* plane, int stride, int width, int height, int y, |
| 1045 | 1045 |
} |
| 1046 | 1046 |
} |
| 1047 | 1047 |
|
| 1048 |
-static inline void rgb48ToY(uint8_t *dst, const uint8_t *src, long width, |
|
| 1048 |
+static inline void rgb48ToY(int16_t *dst, const uint8_t *src, long width, |
|
| 1049 | 1049 |
uint32_t *unused) |
| 1050 | 1050 |
{
|
| 1051 | 1051 |
int i; |
| ... | ... |
@@ -1054,11 +1054,11 @@ static inline void rgb48ToY(uint8_t *dst, const uint8_t *src, long width, |
| 1054 | 1054 |
int g = src[i*6+2]; |
| 1055 | 1055 |
int b = src[i*6+4]; |
| 1056 | 1056 |
|
| 1057 |
- dst[i] = (RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; |
|
| 1057 |
+ dst[i] = (RY*r + GY*g + BY*b + (32<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7))) >> (RGB2YUV_SHIFT-6); |
|
| 1058 | 1058 |
} |
| 1059 | 1059 |
} |
| 1060 | 1060 |
|
| 1061 |
-static inline void rgb48ToUV(uint8_t *dstU, uint8_t *dstV, |
|
| 1061 |
+static inline void rgb48ToUV(int16_t *dstU, int16_t *dstV, |
|
| 1062 | 1062 |
const uint8_t *src1, const uint8_t *src2, |
| 1063 | 1063 |
long width, uint32_t *unused) |
| 1064 | 1064 |
{
|
| ... | ... |
@@ -1069,12 +1069,12 @@ static inline void rgb48ToUV(uint8_t *dstU, uint8_t *dstV, |
| 1069 | 1069 |
int g = src1[6*i + 2]; |
| 1070 | 1070 |
int b = src1[6*i + 4]; |
| 1071 | 1071 |
|
| 1072 |
- dstU[i] = (RU*r + GU*g + BU*b + (257<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; |
|
| 1073 |
- dstV[i] = (RV*r + GV*g + BV*b + (257<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; |
|
| 1072 |
+ dstU[i] = (RU*r + GU*g + BU*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7))) >> (RGB2YUV_SHIFT-6); |
|
| 1073 |
+ dstV[i] = (RV*r + GV*g + BV*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7))) >> (RGB2YUV_SHIFT-6); |
|
| 1074 | 1074 |
} |
| 1075 | 1075 |
} |
| 1076 | 1076 |
|
| 1077 |
-static inline void rgb48ToUV_half(uint8_t *dstU, uint8_t *dstV, |
|
| 1077 |
+static inline void rgb48ToUV_half(int16_t *dstU, int16_t *dstV, |
|
| 1078 | 1078 |
const uint8_t *src1, const uint8_t *src2, |
| 1079 | 1079 |
long width, uint32_t *unused) |
| 1080 | 1080 |
{
|
| ... | ... |
@@ -1085,12 +1085,12 @@ static inline void rgb48ToUV_half(uint8_t *dstU, uint8_t *dstV, |
| 1085 | 1085 |
int g= src1[12*i + 2] + src1[12*i + 8]; |
| 1086 | 1086 |
int b= src1[12*i + 4] + src1[12*i + 10]; |
| 1087 | 1087 |
|
| 1088 |
- dstU[i]= (RU*r + GU*g + BU*b + (257<<RGB2YUV_SHIFT)) >> (RGB2YUV_SHIFT+1); |
|
| 1089 |
- dstV[i]= (RV*r + GV*g + BV*b + (257<<RGB2YUV_SHIFT)) >> (RGB2YUV_SHIFT+1); |
|
| 1088 |
+ dstU[i]= (RU*r + GU*g + BU*b + (256<<(RGB2YUV_SHIFT)) + (1<<(RGB2YUV_SHIFT-6))) >> (RGB2YUV_SHIFT-5); |
|
| 1089 |
+ dstV[i]= (RV*r + GV*g + BV*b + (256<<(RGB2YUV_SHIFT)) + (1<<(RGB2YUV_SHIFT-6))) >> (RGB2YUV_SHIFT-5); |
|
| 1090 | 1090 |
} |
| 1091 | 1091 |
} |
| 1092 | 1092 |
|
| 1093 |
-static inline void bgr48ToY(uint8_t *dst, const uint8_t *src, long width, |
|
| 1093 |
+static inline void bgr48ToY(int16_t *dst, const uint8_t *src, long width, |
|
| 1094 | 1094 |
uint32_t *unused) |
| 1095 | 1095 |
{
|
| 1096 | 1096 |
int i; |
| ... | ... |
@@ -1099,11 +1099,11 @@ static inline void bgr48ToY(uint8_t *dst, const uint8_t *src, long width, |
| 1099 | 1099 |
int g = src[i*6+2]; |
| 1100 | 1100 |
int r = src[i*6+4]; |
| 1101 | 1101 |
|
| 1102 |
- dst[i] = (RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; |
|
| 1102 |
+ dst[i] = (RY*r + GY*g + BY*b + (32<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7))) >> (RGB2YUV_SHIFT-6); |
|
| 1103 | 1103 |
} |
| 1104 | 1104 |
} |
| 1105 | 1105 |
|
| 1106 |
-static inline void bgr48ToUV(uint8_t *dstU, uint8_t *dstV, |
|
| 1106 |
+static inline void bgr48ToUV(int16_t *dstU, int16_t *dstV, |
|
| 1107 | 1107 |
const uint8_t *src1, const uint8_t *src2, |
| 1108 | 1108 |
long width, uint32_t *unused) |
| 1109 | 1109 |
{
|
| ... | ... |
@@ -1113,12 +1113,12 @@ static inline void bgr48ToUV(uint8_t *dstU, uint8_t *dstV, |
| 1113 | 1113 |
int g = src1[6*i + 2]; |
| 1114 | 1114 |
int r = src1[6*i + 4]; |
| 1115 | 1115 |
|
| 1116 |
- dstU[i] = (RU*r + GU*g + BU*b + (257<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; |
|
| 1117 |
- dstV[i] = (RV*r + GV*g + BV*b + (257<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; |
|
| 1116 |
+ dstU[i] = (RU*r + GU*g + BU*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7))) >> (RGB2YUV_SHIFT-6); |
|
| 1117 |
+ dstV[i] = (RV*r + GV*g + BV*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7))) >> (RGB2YUV_SHIFT-6); |
|
| 1118 | 1118 |
} |
| 1119 | 1119 |
} |
| 1120 | 1120 |
|
| 1121 |
-static inline void bgr48ToUV_half(uint8_t *dstU, uint8_t *dstV, |
|
| 1121 |
+static inline void bgr48ToUV_half(int16_t *dstU, int16_t *dstV, |
|
| 1122 | 1122 |
const uint8_t *src1, const uint8_t *src2, |
| 1123 | 1123 |
long width, uint32_t *unused) |
| 1124 | 1124 |
{
|
| ... | ... |
@@ -1128,13 +1128,13 @@ static inline void bgr48ToUV_half(uint8_t *dstU, uint8_t *dstV, |
| 1128 | 1128 |
int g= src1[12*i + 2] + src1[12*i + 8]; |
| 1129 | 1129 |
int r= src1[12*i + 4] + src1[12*i + 10]; |
| 1130 | 1130 |
|
| 1131 |
- dstU[i]= (RU*r + GU*g + BU*b + (257<<RGB2YUV_SHIFT)) >> (RGB2YUV_SHIFT+1); |
|
| 1132 |
- dstV[i]= (RV*r + GV*g + BV*b + (257<<RGB2YUV_SHIFT)) >> (RGB2YUV_SHIFT+1); |
|
| 1131 |
+ dstU[i]= (RU*r + GU*g + BU*b + (256<<(RGB2YUV_SHIFT)) + (1<<(RGB2YUV_SHIFT-6))) >> (RGB2YUV_SHIFT-5); |
|
| 1132 |
+ dstV[i]= (RV*r + GV*g + BV*b + (256<<(RGB2YUV_SHIFT)) + (1<<(RGB2YUV_SHIFT-6))) >> (RGB2YUV_SHIFT-5); |
|
| 1133 | 1133 |
} |
| 1134 | 1134 |
} |
| 1135 | 1135 |
|
| 1136 | 1136 |
#define BGR2Y(type, name, shr, shg, shb, maskr, maskg, maskb, RY, GY, BY, S)\ |
| 1137 |
-static inline void name(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused)\ |
|
| 1137 |
+static inline void name(int16_t *dst, const uint8_t *src, long width, uint32_t *unused)\ |
|
| 1138 | 1138 |
{\
|
| 1139 | 1139 |
int i;\ |
| 1140 | 1140 |
for (i=0; i<width; i++) {\
|
| ... | ... |
@@ -1142,7 +1142,7 @@ static inline void name(uint8_t *dst, const uint8_t *src, long width, uint32_t * |
| 1142 | 1142 |
int g= (((const type*)src)[i]>>shg)&maskg;\ |
| 1143 | 1143 |
int r= (((const type*)src)[i]>>shr)&maskr;\ |
| 1144 | 1144 |
\ |
| 1145 |
- dst[i]= (((RY)*r + (GY)*g + (BY)*b + (33<<((S)-1)))>>(S));\ |
|
| 1145 |
+ dst[i]= (((RY)*r + (GY)*g + (BY)*b + (32<<((S)-1)) + (1<<(S-7)))>>((S)-6));\ |
|
| 1146 | 1146 |
}\ |
| 1147 | 1147 |
} |
| 1148 | 1148 |
|
| ... | ... |
@@ -1155,16 +1155,16 @@ BGR2Y(uint16_t, bgr15ToY, 0, 0, 0, 0x001F, 0x03E0, 0x7C00, RY<<10, GY<<5, BY |
| 1155 | 1155 |
BGR2Y(uint16_t, rgb16ToY, 0, 0, 0, 0xF800, 0x07E0, 0x001F, RY , GY<<5, BY<<11, RGB2YUV_SHIFT+8) |
| 1156 | 1156 |
BGR2Y(uint16_t, rgb15ToY, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, RY , GY<<5, BY<<10, RGB2YUV_SHIFT+7) |
| 1157 | 1157 |
|
| 1158 |
-static inline void abgrToA(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1158 |
+static inline void abgrToA(int16_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1159 | 1159 |
{
|
| 1160 | 1160 |
int i; |
| 1161 | 1161 |
for (i=0; i<width; i++) {
|
| 1162 |
- dst[i]= src[4*i]; |
|
| 1162 |
+ dst[i]= src[4*i]<<6; |
|
| 1163 | 1163 |
} |
| 1164 | 1164 |
} |
| 1165 | 1165 |
|
| 1166 | 1166 |
#define BGR2UV(type, name, shr, shg, shb, shp, maskr, maskg, maskb, RU, GU, BU, RV, GV, BV, S) \ |
| 1167 |
-static inline void name(uint8_t *dstU, uint8_t *dstV, const uint8_t *src, const uint8_t *dummy, long width, uint32_t *unused)\ |
|
| 1167 |
+static inline void name(int16_t *dstU, int16_t *dstV, const uint8_t *src, const uint8_t *dummy, long width, uint32_t *unused)\ |
|
| 1168 | 1168 |
{\
|
| 1169 | 1169 |
int i;\ |
| 1170 | 1170 |
for (i=0; i<width; i++) {\
|
| ... | ... |
@@ -1172,11 +1172,11 @@ static inline void name(uint8_t *dstU, uint8_t *dstV, const uint8_t *src, const |
| 1172 | 1172 |
int g= ((((const type*)src)[i]>>shp)&maskg)>>shg;\ |
| 1173 | 1173 |
int r= ((((const type*)src)[i]>>shp)&maskr)>>shr;\ |
| 1174 | 1174 |
\ |
| 1175 |
- dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (257<<((S)-1)))>>(S);\ |
|
| 1176 |
- dstV[i]= ((RV)*r + (GV)*g + (BV)*b + (257<<((S)-1)))>>(S);\ |
|
| 1175 |
+ dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (256<<((S)-1)) + (1<<(S-7)))>>((S)-6);\ |
|
| 1176 |
+ dstV[i]= ((RV)*r + (GV)*g + (BV)*b + (256<<((S)-1)) + (1<<(S-7)))>>((S)-6);\ |
|
| 1177 | 1177 |
}\ |
| 1178 | 1178 |
}\ |
| 1179 |
-static inline void name ## _half(uint8_t *dstU, uint8_t *dstV, const uint8_t *src, const uint8_t *dummy, long width, uint32_t *unused)\ |
|
| 1179 |
+static inline void name ## _half(int16_t *dstU, int16_t *dstV, const uint8_t *src, const uint8_t *dummy, long width, uint32_t *unused)\ |
|
| 1180 | 1180 |
{\
|
| 1181 | 1181 |
int i;\ |
| 1182 | 1182 |
for (i=0; i<width; i++) {\
|
| ... | ... |
@@ -1189,8 +1189,8 @@ static inline void name ## _half(uint8_t *dstU, uint8_t *dstV, const uint8_t *sr |
| 1189 | 1189 |
\ |
| 1190 | 1190 |
g>>=shg;\ |
| 1191 | 1191 |
\ |
| 1192 |
- dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (257<<(S)))>>((S)+1);\ |
|
| 1193 |
- dstV[i]= ((RV)*r + (GV)*g + (BV)*b + (257<<(S)))>>((S)+1);\ |
|
| 1192 |
+ dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (256U<<(S)) + (1<<(S-6)))>>((S)-6+1);\ |
|
| 1193 |
+ dstV[i]= ((RV)*r + (GV)*g + (BV)*b + (256U<<(S)) + (1<<(S-6)))>>((S)-6+1);\ |
|
| 1194 | 1194 |
}\ |
| 1195 | 1195 |
} |
| 1196 | 1196 |
|
| ... | ... |
@@ -1203,27 +1203,27 @@ BGR2UV(uint16_t, bgr15ToUV, 0, 0, 0, 0, 0x001F, 0x03E0, 0x7C00, RU<<10, GU<< |
| 1203 | 1203 |
BGR2UV(uint16_t, rgb16ToUV, 0, 0, 0, 0, 0xF800, 0x07E0, 0x001F, RU , GU<<5, BU<<11, RV , GV<<5, BV<<11, RGB2YUV_SHIFT+8) |
| 1204 | 1204 |
BGR2UV(uint16_t, rgb15ToUV, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, RU , GU<<5, BU<<10, RV , GV<<5, BV<<10, RGB2YUV_SHIFT+7) |
| 1205 | 1205 |
|
| 1206 |
-static inline void palToA(uint8_t *dst, const uint8_t *src, long width, uint32_t *pal) |
|
| 1206 |
+static inline void palToA(int16_t *dst, const uint8_t *src, long width, uint32_t *pal) |
|
| 1207 | 1207 |
{
|
| 1208 | 1208 |
int i; |
| 1209 | 1209 |
for (i=0; i<width; i++) {
|
| 1210 | 1210 |
int d= src[i]; |
| 1211 | 1211 |
|
| 1212 |
- dst[i]= pal[d] >> 24; |
|
| 1212 |
+ dst[i]= (pal[d] >> 24)<<6; |
|
| 1213 | 1213 |
} |
| 1214 | 1214 |
} |
| 1215 | 1215 |
|
| 1216 |
-static inline void palToY(uint8_t *dst, const uint8_t *src, long width, uint32_t *pal) |
|
| 1216 |
+static inline void palToY(int16_t *dst, const uint8_t *src, long width, uint32_t *pal) |
|
| 1217 | 1217 |
{
|
| 1218 | 1218 |
int i; |
| 1219 | 1219 |
for (i=0; i<width; i++) {
|
| 1220 | 1220 |
int d= src[i]; |
| 1221 | 1221 |
|
| 1222 |
- dst[i]= pal[d] & 0xFF; |
|
| 1222 |
+ dst[i]= (pal[d] & 0xFF)<<6; |
|
| 1223 | 1223 |
} |
| 1224 | 1224 |
} |
| 1225 | 1225 |
|
| 1226 |
-static inline void palToUV(uint8_t *dstU, uint8_t *dstV, |
|
| 1226 |
+static inline void palToUV(uint16_t *dstU, int16_t *dstV, |
|
| 1227 | 1227 |
const uint8_t *src1, const uint8_t *src2, |
| 1228 | 1228 |
long width, uint32_t *pal) |
| 1229 | 1229 |
{
|
| ... | ... |
@@ -1232,28 +1232,28 @@ static inline void palToUV(uint8_t *dstU, uint8_t *dstV, |
| 1232 | 1232 |
for (i=0; i<width; i++) {
|
| 1233 | 1233 |
int p= pal[src1[i]]; |
| 1234 | 1234 |
|
| 1235 |
- dstU[i]= p>>8; |
|
| 1236 |
- dstV[i]= p>>16; |
|
| 1235 |
+ dstU[i]= (uint8_t)(p>> 8)<<6; |
|
| 1236 |
+ dstV[i]= (uint8_t)(p>>16)<<6; |
|
| 1237 | 1237 |
} |
| 1238 | 1238 |
} |
| 1239 | 1239 |
|
| 1240 |
-static inline void monowhite2Y(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1240 |
+static inline void monowhite2Y(int16_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1241 | 1241 |
{
|
| 1242 | 1242 |
int i, j; |
| 1243 | 1243 |
for (i=0; i<width/8; i++) {
|
| 1244 | 1244 |
int d= ~src[i]; |
| 1245 | 1245 |
for(j=0; j<8; j++) |
| 1246 |
- dst[8*i+j]= ((d>>(7-j))&1)*255; |
|
| 1246 |
+ dst[8*i+j]= ((d>>(7-j))&1)*16383; |
|
| 1247 | 1247 |
} |
| 1248 | 1248 |
} |
| 1249 | 1249 |
|
| 1250 |
-static inline void monoblack2Y(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1250 |
+static inline void monoblack2Y(int16_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1251 | 1251 |
{
|
| 1252 | 1252 |
int i, j; |
| 1253 | 1253 |
for (i=0; i<width/8; i++) {
|
| 1254 | 1254 |
int d= src[i]; |
| 1255 | 1255 |
for(j=0; j<8; j++) |
| 1256 |
- dst[8*i+j]= ((d>>(7-j))&1)*255; |
|
| 1256 |
+ dst[8*i+j]= ((d>>(7-j))&1)*16383; |
|
| 1257 | 1257 |
} |
| 1258 | 1258 |
} |
| 1259 | 1259 |
|
| ... | ... |
@@ -254,7 +254,7 @@ static inline void nv21ToUV_c(uint8_t *dstU, uint8_t *dstV, |
| 254 | 254 |
nvXXtoUV_c(dstV, dstU, src1, width); |
| 255 | 255 |
} |
| 256 | 256 |
|
| 257 |
-static inline void bgr24ToY_c(uint8_t *dst, const uint8_t *src, |
|
| 257 |
+static inline void bgr24ToY_c(int16_t *dst, const uint8_t *src, |
|
| 258 | 258 |
long width, uint32_t *unused) |
| 259 | 259 |
{
|
| 260 | 260 |
int i; |
| ... | ... |
@@ -263,11 +263,11 @@ static inline void bgr24ToY_c(uint8_t *dst, const uint8_t *src, |
| 263 | 263 |
int g= src[i*3+1]; |
| 264 | 264 |
int r= src[i*3+2]; |
| 265 | 265 |
|
| 266 |
- dst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT); |
|
| 266 |
+ dst[i]= ((RY*r + GY*g + BY*b + (32<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7)))>>(RGB2YUV_SHIFT-6)); |
|
| 267 | 267 |
} |
| 268 | 268 |
} |
| 269 | 269 |
|
| 270 |
-static inline void bgr24ToUV_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, |
|
| 270 |
+static inline void bgr24ToUV_c(int16_t *dstU, int16_t *dstV, const uint8_t *src1, |
|
| 271 | 271 |
const uint8_t *src2, long width, uint32_t *unused) |
| 272 | 272 |
{
|
| 273 | 273 |
int i; |
| ... | ... |
@@ -276,13 +276,13 @@ static inline void bgr24ToUV_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1 |
| 276 | 276 |
int g= src1[3*i + 1]; |
| 277 | 277 |
int r= src1[3*i + 2]; |
| 278 | 278 |
|
| 279 |
- dstU[i]= (RU*r + GU*g + BU*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT; |
|
| 280 |
- dstV[i]= (RV*r + GV*g + BV*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT; |
|
| 279 |
+ dstU[i]= (RU*r + GU*g + BU*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7)))>>(RGB2YUV_SHIFT-6); |
|
| 280 |
+ dstV[i]= (RV*r + GV*g + BV*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7)))>>(RGB2YUV_SHIFT-6); |
|
| 281 | 281 |
} |
| 282 | 282 |
assert(src1 == src2); |
| 283 | 283 |
} |
| 284 | 284 |
|
| 285 |
-static inline void bgr24ToUV_half_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, |
|
| 285 |
+static inline void bgr24ToUV_half_c(int16_t *dstU, int16_t *dstV, const uint8_t *src1, |
|
| 286 | 286 |
const uint8_t *src2, long width, uint32_t *unused) |
| 287 | 287 |
{
|
| 288 | 288 |
int i; |
| ... | ... |
@@ -291,13 +291,13 @@ static inline void bgr24ToUV_half_c(uint8_t *dstU, uint8_t *dstV, const uint8_t |
| 291 | 291 |
int g= src1[6*i + 1] + src1[6*i + 4]; |
| 292 | 292 |
int r= src1[6*i + 2] + src1[6*i + 5]; |
| 293 | 293 |
|
| 294 |
- dstU[i]= (RU*r + GU*g + BU*b + (257<<RGB2YUV_SHIFT))>>(RGB2YUV_SHIFT+1); |
|
| 295 |
- dstV[i]= (RV*r + GV*g + BV*b + (257<<RGB2YUV_SHIFT))>>(RGB2YUV_SHIFT+1); |
|
| 294 |
+ dstU[i]= (RU*r + GU*g + BU*b + (256<<RGB2YUV_SHIFT) + (1<<(RGB2YUV_SHIFT-6)))>>(RGB2YUV_SHIFT-5); |
|
| 295 |
+ dstV[i]= (RV*r + GV*g + BV*b + (256<<RGB2YUV_SHIFT) + (1<<(RGB2YUV_SHIFT-6)))>>(RGB2YUV_SHIFT-5); |
|
| 296 | 296 |
} |
| 297 | 297 |
assert(src1 == src2); |
| 298 | 298 |
} |
| 299 | 299 |
|
| 300 |
-static inline void rgb24ToY_c(uint8_t *dst, const uint8_t *src, long width, |
|
| 300 |
+static inline void rgb24ToY_c(int16_t *dst, const uint8_t *src, long width, |
|
| 301 | 301 |
uint32_t *unused) |
| 302 | 302 |
{
|
| 303 | 303 |
int i; |
| ... | ... |
@@ -306,11 +306,11 @@ static inline void rgb24ToY_c(uint8_t *dst, const uint8_t *src, long width, |
| 306 | 306 |
int g= src[i*3+1]; |
| 307 | 307 |
int b= src[i*3+2]; |
| 308 | 308 |
|
| 309 |
- dst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT); |
|
| 309 |
+ dst[i]= ((RY*r + GY*g + BY*b + (32<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7)))>>(RGB2YUV_SHIFT-6)); |
|
| 310 | 310 |
} |
| 311 | 311 |
} |
| 312 | 312 |
|
| 313 |
-static inline void rgb24ToUV_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, |
|
| 313 |
+static inline void rgb24ToUV_c(int16_t *dstU, int16_t *dstV, const uint8_t *src1, |
|
| 314 | 314 |
const uint8_t *src2, long width, uint32_t *unused) |
| 315 | 315 |
{
|
| 316 | 316 |
int i; |
| ... | ... |
@@ -320,12 +320,12 @@ static inline void rgb24ToUV_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1 |
| 320 | 320 |
int g= src1[3*i + 1]; |
| 321 | 321 |
int b= src1[3*i + 2]; |
| 322 | 322 |
|
| 323 |
- dstU[i]= (RU*r + GU*g + BU*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT; |
|
| 324 |
- dstV[i]= (RV*r + GV*g + BV*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT; |
|
| 323 |
+ dstU[i]= (RU*r + GU*g + BU*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7)))>>(RGB2YUV_SHIFT-6); |
|
| 324 |
+ dstV[i]= (RV*r + GV*g + BV*b + (256<<(RGB2YUV_SHIFT-1)) + (1<<(RGB2YUV_SHIFT-7)))>>(RGB2YUV_SHIFT-6); |
|
| 325 | 325 |
} |
| 326 | 326 |
} |
| 327 | 327 |
|
| 328 |
-static inline void rgb24ToUV_half_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, |
|
| 328 |
+static inline void rgb24ToUV_half_c(int16_t *dstU, int16_t *dstV, const uint8_t *src1, |
|
| 329 | 329 |
const uint8_t *src2, long width, uint32_t *unused) |
| 330 | 330 |
{
|
| 331 | 331 |
int i; |
| ... | ... |
@@ -335,8 +335,8 @@ static inline void rgb24ToUV_half_c(uint8_t *dstU, uint8_t *dstV, const uint8_t |
| 335 | 335 |
int g= src1[6*i + 1] + src1[6*i + 4]; |
| 336 | 336 |
int b= src1[6*i + 2] + src1[6*i + 5]; |
| 337 | 337 |
|
| 338 |
- dstU[i]= (RU*r + GU*g + BU*b + (257<<RGB2YUV_SHIFT))>>(RGB2YUV_SHIFT+1); |
|
| 339 |
- dstV[i]= (RV*r + GV*g + BV*b + (257<<RGB2YUV_SHIFT))>>(RGB2YUV_SHIFT+1); |
|
| 338 |
+ dstU[i]= (RU*r + GU*g + BU*b + (256<<RGB2YUV_SHIFT) + (1<<(RGB2YUV_SHIFT-6)))>>(RGB2YUV_SHIFT-5); |
|
| 339 |
+ dstV[i]= (RV*r + GV*g + BV*b + (256<<RGB2YUV_SHIFT) + (1<<(RGB2YUV_SHIFT-6)))>>(RGB2YUV_SHIFT-5); |
|
| 340 | 340 |
} |
| 341 | 341 |
} |
| 342 | 342 |
|
| ... | ... |
@@ -455,7 +455,8 @@ static inline void hyscale_c(SwsContext *c, uint16_t *dst, long dstWidth, |
| 455 | 455 |
} |
| 456 | 456 |
|
| 457 | 457 |
if (c->hScale16) {
|
| 458 |
- c->hScale16(dst, dstWidth, (uint16_t*)src, srcW, xInc, hLumFilter, hLumFilterPos, hLumFilterSize, av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1); |
|
| 458 |
+ int shift= isAnyRGB(c->srcFormat) || c->srcFormat==PIX_FMT_PAL8 ? 13 : av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1; |
|
| 459 |
+ c->hScale16(dst, dstWidth, (uint16_t*)src, srcW, xInc, hLumFilter, hLumFilterPos, hLumFilterSize, shift); |
|
| 459 | 460 |
} else if (!c->hyscale_fast) {
|
| 460 | 461 |
c->hScale(dst, dstWidth, src, srcW, xInc, hLumFilter, hLumFilterPos, hLumFilterSize); |
| 461 | 462 |
} else { // fast bilinear upscale / crap downscale
|
| ... | ... |
@@ -502,8 +503,9 @@ inline static void hcscale_c(SwsContext *c, uint16_t *dst, long dstWidth, |
| 502 | 502 |
} |
| 503 | 503 |
|
| 504 | 504 |
if (c->hScale16) {
|
| 505 |
- c->hScale16(dst , dstWidth, (uint16_t*)src1, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize, av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1); |
|
| 506 |
- c->hScale16(dst+VOFW, dstWidth, (uint16_t*)src2, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize, av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1); |
|
| 505 |
+ int shift= isAnyRGB(c->srcFormat) || c->srcFormat==PIX_FMT_PAL8 ? 13 : av_pix_fmt_descriptors[c->srcFormat].comp[0].depth_minus1; |
|
| 506 |
+ c->hScale16(dst , dstWidth, (uint16_t*)src1, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize, shift); |
|
| 507 |
+ c->hScale16(dst+VOFW, dstWidth, (uint16_t*)src2, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize, shift); |
|
| 507 | 508 |
} else if (!c->hcscale_fast) {
|
| 508 | 509 |
c->hScale(dst , dstWidth, src1, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize); |
| 509 | 510 |
c->hScale(dst+VOFW, dstWidth, src2, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize); |
| ... | ... |
@@ -959,6 +961,9 @@ static void sws_init_swScale_c(SwsContext *c) |
| 959 | 959 |
} |
| 960 | 960 |
} |
| 961 | 961 |
|
| 962 |
+ if(isAnyRGB(c->srcFormat) || c->srcFormat == PIX_FMT_PAL8) |
|
| 963 |
+ c->hScale16= hScale16_c; |
|
| 964 |
+ |
|
| 962 | 965 |
switch (srcFormat) {
|
| 963 | 966 |
case PIX_FMT_GRAY8A : |
| 964 | 967 |
c->alpSrcOffset = 1; |
| ... | ... |
@@ -860,7 +860,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter) |
| 860 | 860 |
if (flags&SWS_PRINT_INFO) |
| 861 | 861 |
av_log(c, AV_LOG_INFO, "output width is not a multiple of 32 -> no MMX2 scaler\n"); |
| 862 | 862 |
} |
| 863 |
- if (usesHFilter || isNBPS(c->srcFormat) || is16BPS(c->srcFormat)) c->canMMX2BeUsed=0; |
|
| 863 |
+ if (usesHFilter || isNBPS(c->srcFormat) || is16BPS(c->srcFormat) || isAnyRGB(c->srcFormat)) c->canMMX2BeUsed=0; |
|
| 864 | 864 |
} |
| 865 | 865 |
else |
| 866 | 866 |
c->canMMX2BeUsed=0; |
| ... | ... |
@@ -1615,7 +1615,7 @@ static inline void RENAME(nv21ToUV)(uint8_t *dstU, uint8_t *dstV, |
| 1615 | 1615 |
RENAME(nvXXtoUV)(dstV, dstU, src1, width); |
| 1616 | 1616 |
} |
| 1617 | 1617 |
|
| 1618 |
-static inline void RENAME(bgr24ToY_mmx)(uint8_t *dst, const uint8_t *src, long width, enum PixelFormat srcFormat) |
|
| 1618 |
+static inline void RENAME(bgr24ToY_mmx)(int16_t *dst, const uint8_t *src, long width, enum PixelFormat srcFormat) |
|
| 1619 | 1619 |
{
|
| 1620 | 1620 |
|
| 1621 | 1621 |
if(srcFormat == PIX_FMT_BGR24) {
|
| ... | ... |
@@ -1655,20 +1655,19 @@ static inline void RENAME(bgr24ToY_mmx)(uint8_t *dst, const uint8_t *src, long w |
| 1655 | 1655 |
"paddd %%mm3, %%mm2 \n\t" |
| 1656 | 1656 |
"paddd %%mm4, %%mm0 \n\t" |
| 1657 | 1657 |
"paddd %%mm4, %%mm2 \n\t" |
| 1658 |
- "psrad $15, %%mm0 \n\t" |
|
| 1659 |
- "psrad $15, %%mm2 \n\t" |
|
| 1658 |
+ "psrad $9, %%mm0 \n\t" |
|
| 1659 |
+ "psrad $9, %%mm2 \n\t" |
|
| 1660 | 1660 |
"packssdw %%mm2, %%mm0 \n\t" |
| 1661 |
- "packuswb %%mm0, %%mm0 \n\t" |
|
| 1662 |
- "movd %%mm0, (%1, %%"REG_a") \n\t" |
|
| 1663 |
- "add $4, %%"REG_a" \n\t" |
|
| 1661 |
+ "movq %%mm0, (%1, %%"REG_a") \n\t" |
|
| 1662 |
+ "add $8, %%"REG_a" \n\t" |
|
| 1664 | 1663 |
" js 1b \n\t" |
| 1665 | 1664 |
: "+r" (src) |
| 1666 |
- : "r" (dst+width), "g" ((x86_reg)-width) |
|
| 1665 |
+ : "r" (dst+width), "g" ((x86_reg)-2*width) |
|
| 1667 | 1666 |
: "%"REG_a |
| 1668 | 1667 |
); |
| 1669 | 1668 |
} |
| 1670 | 1669 |
|
| 1671 |
-static inline void RENAME(bgr24ToUV_mmx)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src, long width, enum PixelFormat srcFormat) |
|
| 1670 |
+static inline void RENAME(bgr24ToUV_mmx)(int16_t *dstU, int16_t *dstV, const uint8_t *src, long width, enum PixelFormat srcFormat) |
|
| 1672 | 1671 |
{
|
| 1673 | 1672 |
__asm__ volatile( |
| 1674 | 1673 |
"movq 24(%4), %%mm6 \n\t" |
| ... | ... |
@@ -1708,41 +1707,39 @@ static inline void RENAME(bgr24ToUV_mmx)(uint8_t *dstU, uint8_t *dstV, const uin |
| 1708 | 1708 |
"paddd %%mm3, %%mm2 \n\t" |
| 1709 | 1709 |
"paddd %%mm3, %%mm1 \n\t" |
| 1710 | 1710 |
"paddd %%mm3, %%mm4 \n\t" |
| 1711 |
- "psrad $15, %%mm0 \n\t" |
|
| 1712 |
- "psrad $15, %%mm2 \n\t" |
|
| 1713 |
- "psrad $15, %%mm1 \n\t" |
|
| 1714 |
- "psrad $15, %%mm4 \n\t" |
|
| 1711 |
+ "psrad $9, %%mm0 \n\t" |
|
| 1712 |
+ "psrad $9, %%mm2 \n\t" |
|
| 1713 |
+ "psrad $9, %%mm1 \n\t" |
|
| 1714 |
+ "psrad $9, %%mm4 \n\t" |
|
| 1715 | 1715 |
"packssdw %%mm1, %%mm0 \n\t" |
| 1716 | 1716 |
"packssdw %%mm4, %%mm2 \n\t" |
| 1717 |
- "packuswb %%mm0, %%mm0 \n\t" |
|
| 1718 |
- "packuswb %%mm2, %%mm2 \n\t" |
|
| 1719 |
- "movd %%mm0, (%1, %%"REG_a") \n\t" |
|
| 1720 |
- "movd %%mm2, (%2, %%"REG_a") \n\t" |
|
| 1721 |
- "add $4, %%"REG_a" \n\t" |
|
| 1717 |
+ "movq %%mm0, (%1, %%"REG_a") \n\t" |
|
| 1718 |
+ "movq %%mm2, (%2, %%"REG_a") \n\t" |
|
| 1719 |
+ "add $8, %%"REG_a" \n\t" |
|
| 1722 | 1720 |
" js 1b \n\t" |
| 1723 | 1721 |
: "+r" (src) |
| 1724 |
- : "r" (dstU+width), "r" (dstV+width), "g" ((x86_reg)-width), "r"(ff_bgr24toUV[srcFormat == PIX_FMT_RGB24]) |
|
| 1722 |
+ : "r" (dstU+width), "r" (dstV+width), "g" ((x86_reg)-2*width), "r"(ff_bgr24toUV[srcFormat == PIX_FMT_RGB24]) |
|
| 1725 | 1723 |
: "%"REG_a |
| 1726 | 1724 |
); |
| 1727 | 1725 |
} |
| 1728 | 1726 |
|
| 1729 |
-static inline void RENAME(bgr24ToY)(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1727 |
+static inline void RENAME(bgr24ToY)(int16_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1730 | 1728 |
{
|
| 1731 | 1729 |
RENAME(bgr24ToY_mmx)(dst, src, width, PIX_FMT_BGR24); |
| 1732 | 1730 |
} |
| 1733 | 1731 |
|
| 1734 |
-static inline void RENAME(bgr24ToUV)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, long width, uint32_t *unused) |
|
| 1732 |
+static inline void RENAME(bgr24ToUV)(int16_t *dstU, int16_t *dstV, const uint8_t *src1, const uint8_t *src2, long width, uint32_t *unused) |
|
| 1735 | 1733 |
{
|
| 1736 | 1734 |
RENAME(bgr24ToUV_mmx)(dstU, dstV, src1, width, PIX_FMT_BGR24); |
| 1737 | 1735 |
assert(src1 == src2); |
| 1738 | 1736 |
} |
| 1739 | 1737 |
|
| 1740 |
-static inline void RENAME(rgb24ToY)(uint8_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1738 |
+static inline void RENAME(rgb24ToY)(int16_t *dst, const uint8_t *src, long width, uint32_t *unused) |
|
| 1741 | 1739 |
{
|
| 1742 | 1740 |
RENAME(bgr24ToY_mmx)(dst, src, width, PIX_FMT_RGB24); |
| 1743 | 1741 |
} |
| 1744 | 1742 |
|
| 1745 |
-static inline void RENAME(rgb24ToUV)(uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, long width, uint32_t *unused) |
|
| 1743 |
+static inline void RENAME(rgb24ToUV)(int16_t *dstU, int16_t *dstV, const uint8_t *src1, const uint8_t *src2, long width, uint32_t *unused) |
|
| 1746 | 1744 |
{
|
| 1747 | 1745 |
assert(src1==src2); |
| 1748 | 1746 |
RENAME(bgr24ToUV_mmx)(dstU, dstV, src1, width, PIX_FMT_RGB24); |
| ... | ... |
@@ -2323,7 +2320,7 @@ static void RENAME(sws_init_swScale)(SwsContext *c) |
| 2323 | 2323 |
case PIX_FMT_YUV420P16LE: |
| 2324 | 2324 |
case PIX_FMT_YUV422P16LE: |
| 2325 | 2325 |
case PIX_FMT_YUV444P16LE: c->hScale16= RENAME(hScale16); break; |
| 2326 |
- } |
|
| 2326 |
+ } |
|
| 2327 | 2327 |
if (!c->chrSrcHSubSample) {
|
| 2328 | 2328 |
switch(srcFormat) {
|
| 2329 | 2329 |
case PIX_FMT_BGR24 : c->chrToYV12 = RENAME(bgr24ToUV); break; |
| ... | ... |
@@ -2348,4 +2345,7 @@ static void RENAME(sws_init_swScale)(SwsContext *c) |
| 2348 | 2348 |
default: break; |
| 2349 | 2349 |
} |
| 2350 | 2350 |
} |
| 2351 |
+ |
|
| 2352 |
+ if(isAnyRGB(c->srcFormat)) |
|
| 2353 |
+ c->hScale16= RENAME(hScale16); |
|
| 2351 | 2354 |
} |
| ... | ... |
@@ -67,13 +67,13 @@ DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY1Coeff) = 0x0C88000040870C88ULL; |
| 67 | 67 |
DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY2Coeff) = 0x20DE4087000020DEULL; |
| 68 | 68 |
DECLARE_ASM_CONST(8, uint64_t, ff_rgb24toY1Coeff) = 0x20DE0000408720DEULL; |
| 69 | 69 |
DECLARE_ASM_CONST(8, uint64_t, ff_rgb24toY2Coeff) = 0x0C88408700000C88ULL; |
| 70 |
-DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toYOffset) = 0x0008400000084000ULL; |
|
| 70 |
+DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toYOffset) = 0x0008010000080100ULL; |
|
| 71 | 71 |
|
| 72 | 72 |
DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toUV)[2][4] = {
|
| 73 | 73 |
{0x38380000DAC83838ULL, 0xECFFDAC80000ECFFULL, 0xF6E40000D0E3F6E4ULL, 0x3838D0E300003838ULL},
|
| 74 | 74 |
{0xECFF0000DAC8ECFFULL, 0x3838DAC800003838ULL, 0x38380000D0E33838ULL, 0xF6E4D0E30000F6E4ULL},
|
| 75 | 75 |
}; |
| 76 | 76 |
|
| 77 |
-DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toUVOffset)= 0x0040400000404000ULL; |
|
| 77 |
+DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toUVOffset)= 0x0040010000400100ULL; |
|
| 78 | 78 |
|
| 79 | 79 |
#endif /* SWSCALE_X86_SWSCALE_TEMPLATE_H */ |
| ... | ... |
@@ -16,15 +16,15 @@ e176bd14185788110e055f945de7f95f *./tests/data/pixfmt/yuvj420p.yuv |
| 16 | 16 |
304128 ./tests/data/pixfmt/yuvj422p.yuv |
| 17 | 17 |
c10442da177c9f1d12be3c53be6fa12c *./tests/data/pixfmt/yuvj444p.yuv |
| 18 | 18 |
304128 ./tests/data/pixfmt/yuvj444p.yuv |
| 19 |
-c6e0f9b5817f484b175c1ec4ffb4e9c9 *./tests/data/pixfmt/rgb24.yuv |
|
| 19 |
+6bb61113e7b70eb09dbcec356122a0e2 *./tests/data/pixfmt/rgb24.yuv |
|
| 20 | 20 |
304128 ./tests/data/pixfmt/rgb24.yuv |
| 21 |
-c6e0f9b5817f484b175c1ec4ffb4e9c9 *./tests/data/pixfmt/bgr24.yuv |
|
| 21 |
+6bb61113e7b70eb09dbcec356122a0e2 *./tests/data/pixfmt/bgr24.yuv |
|
| 22 | 22 |
304128 ./tests/data/pixfmt/bgr24.yuv |
| 23 |
-c6e0f9b5817f484b175c1ec4ffb4e9c9 *./tests/data/pixfmt/rgb32.yuv |
|
| 23 |
+6bb61113e7b70eb09dbcec356122a0e2 *./tests/data/pixfmt/rgb32.yuv |
|
| 24 | 24 |
304128 ./tests/data/pixfmt/rgb32.yuv |
| 25 |
-66d39d464bd89ded2a124897f0a75ade *./tests/data/pixfmt/rgb565.yuv |
|
| 25 |
+efa7c0337cc00c796c6df615223716f1 *./tests/data/pixfmt/rgb565.yuv |
|
| 26 | 26 |
304128 ./tests/data/pixfmt/rgb565.yuv |
| 27 |
-c894c3bd8d2631ed1964500b90a0c350 *./tests/data/pixfmt/rgb555.yuv |
|
| 27 |
+0df2a477af1415a1b8fbf2a3e552bc39 *./tests/data/pixfmt/rgb555.yuv |
|
| 28 | 28 |
304128 ./tests/data/pixfmt/rgb555.yuv |
| 29 | 29 |
6be306b0cce5f8e6c271ea17fef9745b *./tests/data/pixfmt/gray.yuv |
| 30 | 30 |
304128 ./tests/data/pixfmt/gray.yuv |
| ... | ... |
@@ -1,28 +1,28 @@ |
| 1 |
-abgr d894cb97f6c80eb21bdbe8a4eea62d86 |
|
| 2 |
-argb 54346f2b2eef10919e0f247241df3b24 |
|
| 3 |
-bgr24 570f8d6b51a838aed022ef67535f6bdc |
|
| 4 |
-bgr48be fcc0f2dbf45d325f84f816c74cbeeebe |
|
| 5 |
-bgr48le 3f9c2b23eed3b8d196d1c14b38ce50f5 |
|
| 1 |
+abgr cff82561a074874027ac1cc896fd2730 |
|
| 2 |
+argb 756dd1eaa5baca2238ce23dbdc452684 |
|
| 3 |
+bgr24 e44192347a45586c6c157e3059610cd1 |
|
| 4 |
+bgr48be 62e6043fbe9734e63ad679999ca8011c |
|
| 5 |
+bgr48le 61237dad4fa5f3e9109db85f53cd25d9 |
|
| 6 | 6 |
bgr4_byte ee1d35a7baf8e9016891929a2f565c0b |
| 7 |
-bgr555le 36b745067197f9ca8c1731cac51329c9 |
|
| 8 |
-bgr565le 3a514a298c6161a071ddf9963c06509d |
|
| 7 |
+bgr555le 41e3e0961478dc634bf68a7bbd670cc9 |
|
| 8 |
+bgr565le 614897eaeb422bd9a972f8ee51909be5 |
|
| 9 | 9 |
bgr8 7f007fa6c153a16e808a9c51605a4016 |
| 10 |
-bgra a5e7040f9a80cccd65e5acf2ca09ace5 |
|
| 10 |
+bgra 01cfdda1f72fcabb6c46424e27f8c519 |
|
| 11 | 11 |
gray d7786a7d9d99ac74230cc045cab5632c |
| 12 | 12 |
gray16be 5ba22d4802b40ec27e62abb22ad1d1cc |
| 13 | 13 |
gray16le 2d5e83aa875a4c3baa6fecf55e3223bf |
| 14 |
-monob 88c4c050758e64d120f50c7eff694381 |
|
| 15 |
-monow d31772ebaa877fc2a78565937f7f9673 |
|
| 14 |
+monob cb62f31b701c6e987b574974d1b31e32 |
|
| 15 |
+monow fd5d417ab7728acddffc06870661df61 |
|
| 16 | 16 |
nv12 4676d59db43d657dc12841f6bc3ab452 |
| 17 | 17 |
nv21 69c699510ff1fb777b118ebee1002f14 |
| 18 |
-rgb24 514692e28e8ff6860e415ce4fcf6eb8c |
|
| 19 |
-rgb48be 1894cd30dabcd3180518e4d5f09f25e7 |
|
| 20 |
-rgb48le 1354e6e27ce3c1d4d4989ee56030c94b |
|
| 18 |
+rgb24 13ff53ebeab74dc05492836f1cfbd2c1 |
|
| 19 |
+rgb48be 7f6b1f8139c6a64eadf9dfa867ac20e8 |
|
| 20 |
+rgb48le 2756d8710c152cbc367656de4d0f1b76 |
|
| 21 | 21 |
rgb4_byte d81ffd3add95842a618eec81024f0b5c |
| 22 |
-rgb555le a350ef1dc2c9688ed49e7ba018843795 |
|
| 23 |
-rgb565le 6f4bb711238baa762d73305213f8d035 |
|
| 22 |
+rgb555le bd698d86c03170c4a16607c0fd1f750f |
|
| 23 |
+rgb565le bfa0c639d80c3c03fd0c9e5f34296a5e |
|
| 24 | 24 |
rgb8 091d0170b354ef0e97312b95feb5483f |
| 25 |
-rgba a3d362f222098a00e63867f612018659 |
|
| 25 |
+rgba 16873e3ac914e76116629a5ff8940ac4 |
|
| 26 | 26 |
uyvy422 314bd486277111a95d9369b944fa0400 |
| 27 | 27 |
yuv410p 7df8f6d69b56a8dcb6c7ee908e5018b5 |
| 28 | 28 |
yuv411p 1143e7c5cc28fe0922b051b17733bc4c |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
97894502b4cb57aca1105b6333f72dae *./tests/data/vsynth1/flashsv.flv |
| 2 | 2 |
14681925 ./tests/data/vsynth1/flashsv.flv |
| 3 |
-947cb24ec45a453348ae6fe3fa278071 *./tests/data/flashsv.vsynth1.out.yuv |
|
| 4 |
-stddev: 2.85 PSNR: 39.03 MAXDIFF: 49 bytes: 7603200/ 7603200 |
|
| 3 |
+791e1fb999deb2e4156e2286d48c4ed1 *./tests/data/flashsv.vsynth1.out.yuv |
|
| 4 |
+stddev: 2.84 PSNR: 39.04 MAXDIFF: 49 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
519e26bb1ac0f3db8f90b36537f2f760 *./tests/data/vsynth1/jpegls.avi |
| 2 | 2 |
9089812 ./tests/data/vsynth1/jpegls.avi |
| 3 |
-947cb24ec45a453348ae6fe3fa278071 *./tests/data/jpegls.vsynth1.out.yuv |
|
| 4 |
-stddev: 2.85 PSNR: 39.03 MAXDIFF: 49 bytes: 7603200/ 7603200 |
|
| 3 |
+791e1fb999deb2e4156e2286d48c4ed1 *./tests/data/jpegls.vsynth1.out.yuv |
|
| 4 |
+stddev: 2.84 PSNR: 39.04 MAXDIFF: 49 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
267a152a73cbc5ac4694a6e3b254be34 *./tests/data/vsynth1/msvideo1.avi |
| 2 | 2 |
2162264 ./tests/data/vsynth1/msvideo1.avi |
| 3 |
-cf15dd12b8347567ae350383bf4ef4bb *./tests/data/msvideo1.vsynth1.out.yuv |
|
| 4 |
-stddev: 11.81 PSNR: 26.68 MAXDIFF: 151 bytes: 7603200/ 7603200 |
|
| 3 |
+c0665fac1bd896b6fe7fe0eead805bd5 *./tests/data/msvideo1.vsynth1.out.yuv |
|
| 4 |
+stddev: 11.80 PSNR: 26.69 MAXDIFF: 151 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
d14041925ce5ec5001dc519276b1a1ab *./tests/data/vsynth1/qtrle.mov |
| 2 | 2 |
15263232 ./tests/data/vsynth1/qtrle.mov |
| 3 |
-243325fb2cae1a9245efd49aff936327 *./tests/data/qtrle.vsynth1.out.yuv |
|
| 4 |
-stddev: 3.42 PSNR: 37.43 MAXDIFF: 48 bytes: 7603200/ 7603200 |
|
| 3 |
+93695a27c24a61105076ca7b1f010bbd *./tests/data/qtrle.vsynth1.out.yuv |
|
| 4 |
+stddev: 3.42 PSNR: 37.44 MAXDIFF: 48 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
05f0719cb52486d9a4beb9cfae3f2571 *./tests/data/vsynth1/rgb.avi |
| 2 | 2 |
15213260 ./tests/data/vsynth1/rgb.avi |
| 3 |
-243325fb2cae1a9245efd49aff936327 *./tests/data/rgb.vsynth1.out.yuv |
|
| 4 |
-stddev: 3.42 PSNR: 37.43 MAXDIFF: 48 bytes: 7603200/ 7603200 |
|
| 3 |
+93695a27c24a61105076ca7b1f010bbd *./tests/data/rgb.vsynth1.out.yuv |
|
| 4 |
+stddev: 3.42 PSNR: 37.44 MAXDIFF: 48 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
0667077971e0cb63b5f49c580006e90e *./tests/data/vsynth2/flashsv.flv |
| 2 | 2 |
12368953 ./tests/data/vsynth2/flashsv.flv |
| 3 |
-592b3321994e26a990deb3a0a1415de9 *./tests/data/flashsv.vsynth2.out.yuv |
|
| 4 |
-stddev: 0.65 PSNR: 51.84 MAXDIFF: 14 bytes: 7603200/ 7603200 |
|
| 3 |
+3a984506f1ebfc9fb73b6814cab201cc *./tests/data/flashsv.vsynth2.out.yuv |
|
| 4 |
+stddev: 0.66 PSNR: 51.73 MAXDIFF: 14 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
4fc53937f048c900ae6d50fda9dba206 *./tests/data/vsynth2/jpegls.avi |
| 2 | 2 |
8334630 ./tests/data/vsynth2/jpegls.avi |
| 3 |
-592b3321994e26a990deb3a0a1415de9 *./tests/data/jpegls.vsynth2.out.yuv |
|
| 4 |
-stddev: 0.65 PSNR: 51.84 MAXDIFF: 14 bytes: 7603200/ 7603200 |
|
| 3 |
+3a984506f1ebfc9fb73b6814cab201cc *./tests/data/jpegls.vsynth2.out.yuv |
|
| 4 |
+stddev: 0.66 PSNR: 51.73 MAXDIFF: 14 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
5dddbbd6616d9be4bc0fd0c9650bd9e3 *./tests/data/vsynth2/msvideo1.avi |
| 2 | 2 |
1259308 ./tests/data/vsynth2/msvideo1.avi |
| 3 |
-e2e7a952135f6307a74f2e178dc0df20 *./tests/data/msvideo1.vsynth2.out.yuv |
|
| 4 |
-stddev: 7.42 PSNR: 30.71 MAXDIFF: 123 bytes: 7603200/ 7603200 |
|
| 3 |
+cd83ffcbc73573044e3aead3094229e5 *./tests/data/msvideo1.vsynth2.out.yuv |
|
| 4 |
+stddev: 7.42 PSNR: 30.72 MAXDIFF: 123 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
d8c1604dc46d9aa4ec0385e6722c6989 *./tests/data/vsynth2/qtrle.mov |
| 2 | 2 |
14798419 ./tests/data/vsynth2/qtrle.mov |
| 3 |
-b2418e0e3a9a8619b31219cbcf24dc82 *./tests/data/qtrle.vsynth2.out.yuv |
|
| 4 |
-stddev: 1.26 PSNR: 46.06 MAXDIFF: 13 bytes: 7603200/ 7603200 |
|
| 3 |
+98d0e2854731472c5bf13d8638502d0a *./tests/data/qtrle.vsynth2.out.yuv |
|
| 4 |
+stddev: 1.26 PSNR: 46.10 MAXDIFF: 13 bytes: 7603200/ 7603200 |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 | 1 |
f2e9c419023c743bf99aa5b2e55ad233 *./tests/data/vsynth2/rgb.avi |
| 2 | 2 |
15213260 ./tests/data/vsynth2/rgb.avi |
| 3 |
-b2418e0e3a9a8619b31219cbcf24dc82 *./tests/data/rgb.vsynth2.out.yuv |
|
| 4 |
-stddev: 1.26 PSNR: 46.06 MAXDIFF: 13 bytes: 7603200/ 7603200 |
|
| 3 |
+98d0e2854731472c5bf13d8638502d0a *./tests/data/rgb.vsynth2.out.yuv |
|
| 4 |
+stddev: 1.26 PSNR: 46.10 MAXDIFF: 13 bytes: 7603200/ 7603200 |