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 */\