Mercurial > mplayer.hg
comparison postproc/swscale.c @ 2326:7d3542955132
BGR24 bugfix
BGR15 & BGR24 tested
author | michael |
---|---|
date | Sun, 21 Oct 2001 00:05:56 +0000 |
parents | bcb229557e9b |
children | 03abc2743ed6 |
comparison
equal
deleted
inserted
replaced
2325:50037e53d0bc | 2326:7d3542955132 |
---|---|
22 NOTES | 22 NOTES |
23 | 23 |
24 known BUGS with known cause (no bugreports please!, but patches are welcome :) ) | 24 known BUGS with known cause (no bugreports please!, but patches are welcome :) ) |
25 horizontal MMX2 scaler reads 1-7 samples too much (might cause a sig11) | 25 horizontal MMX2 scaler reads 1-7 samples too much (might cause a sig11) |
26 | 26 |
27 Supported output formats BGR15 BGR16 BGR24 BGR32 (15,24 are untested) | 27 Supported output formats BGR15 BGR16 BGR24 BGR32 |
28 BGR15 & BGR16 MMX verions support dithering | 28 BGR15 & BGR16 MMX verions support dithering |
29 Special versions: fast Y 1:1 scaling (no interpolation in y direction) | 29 Special versions: fast Y 1:1 scaling (no interpolation in y direction) |
30 | 30 |
31 TODO | 31 TODO |
32 more intelligent missalignment avoidance for the horizontal scaler | 32 more intelligent missalignment avoidance for the horizontal scaler |
386 "punpcklbw %%mm7, %%mm5 \n\t" /* 0R0R0R0R 0 */\ | 386 "punpcklbw %%mm7, %%mm5 \n\t" /* 0R0R0R0R 0 */\ |
387 "punpckhbw %%mm4, %%mm1 \n\t" /* GBGBGBGB 2 */\ | 387 "punpckhbw %%mm4, %%mm1 \n\t" /* GBGBGBGB 2 */\ |
388 "punpckhbw %%mm7, %%mm6 \n\t" /* 0R0R0R0R 2 */\ | 388 "punpckhbw %%mm7, %%mm6 \n\t" /* 0R0R0R0R 2 */\ |
389 "movq %%mm2, %%mm0 \n\t" /* GBGBGBGB 0 */\ | 389 "movq %%mm2, %%mm0 \n\t" /* GBGBGBGB 0 */\ |
390 "movq %%mm1, %%mm3 \n\t" /* GBGBGBGB 2 */\ | 390 "movq %%mm1, %%mm3 \n\t" /* GBGBGBGB 2 */\ |
391 "punpcklbw %%mm5, %%mm0 \n\t" /* 0RGB0RGB 0 */\ | 391 "punpcklwd %%mm5, %%mm0 \n\t" /* 0RGB0RGB 0 */\ |
392 "punpckhbw %%mm5, %%mm2 \n\t" /* 0RGB0RGB 1 */\ | 392 "punpckhwd %%mm5, %%mm2 \n\t" /* 0RGB0RGB 1 */\ |
393 "punpcklbw %%mm6, %%mm1 \n\t" /* 0RGB0RGB 2 */\ | 393 "punpcklwd %%mm6, %%mm1 \n\t" /* 0RGB0RGB 2 */\ |
394 "punpckhbw %%mm6, %%mm3 \n\t" /* 0RGB0RGB 3 */\ | 394 "punpckhwd %%mm6, %%mm3 \n\t" /* 0RGB0RGB 3 */\ |
395 \ | 395 \ |
396 "movq %%mm0, %%mm4 \n\t" /* 0RGB0RGB 0 */\ | 396 "movq %%mm0, %%mm4 \n\t" /* 0RGB0RGB 0 */\ |
397 "psrlq $8, %%mm0 \n\t" /* 00RGB0RG 0 */\ | 397 "psrlq $8, %%mm0 \n\t" /* 00RGB0RG 0 */\ |
398 "pand bm00000111, %%mm4 \n\t" /* 00000RGB 0 */\ | 398 "pand bm00000111, %%mm4 \n\t" /* 00000RGB 0 */\ |
399 "pand bm11111000, %%mm0 \n\t" /* 00RGB000 0.5 */\ | 399 "pand bm11111000, %%mm0 \n\t" /* 00RGB000 0.5 */\ |