annotate DOCS/tech/swscaler_methods.txt @ 9426:c9dcb67e9638

moving postprocess code to libavcodec
author michael
date Fri, 14 Feb 2003 21:45:45 +0000
parents ca8da0cc0cdf
children c43d55a452c8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6685
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
1
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
2 artifact types:
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
3 ---------------------------------------------------------------------
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
4 ringing
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
5 wave or noise like patterns around sharp edges
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
6 bad: sinc, lanczos (with high filter length)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
7 acceptable: lanczos (with low filter length), cubic, spline
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
8 ok: area, (fast)blinear, gauss, point
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
9
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
10 blur
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
11 loss of detail / high frequency
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
12 bad: gauss with high variance
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
13 acceptable: (fast)bilinear, area
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
14 ok: others
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
15
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
16 aliassing (only downscale)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
17 straight lines look like staircases
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
18 areas of high detail look worse
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
19 regular patterns turn into a funny looking mess (moire patterns)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
20 bad: fast bilinear, point, gauss with low variance
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
21 acceptable: area
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
22 ok: others
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
23
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
24 blocky (upscale only)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
25 looks like the image is made of rectangular blocks like a mosaic
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
26 bad: point
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
27 ok: others
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
28
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
29 recommanditions: (based upon my personal oppinion many ppl might disagree ...)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
30 ---------------------------------------------------------------------
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
31
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
32 the recomanded scalers for upscaling:
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
33 fast_bilinear, point if speed is important
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
34 cubic, spline, lanczos if quality is important
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
35
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
36 the recomanded scalers for downscaling:
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
37 fast_bilinear, point if speed is important
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
38 gauss, bilinear if quality is important
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
39 cubic, spline, lanczos if a sharper picture is important
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
40
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
41 note: when encoding at a limited amount of bits (not constant quantizer)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
42 than a slightly blured input might look better after decoding than a slightly
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
43 sharpend one, especially for lower bitrates
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
44
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
45 sws numbers / names / artefact types
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
46 -------------------------------------------------------------------------
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
47 r ringing
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
48 b blurry
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
49 a aliasing (downscale only)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
50 m mosaic (blocky) (upscale only)
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
51
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
52 -sws 0 fast bilinear bA
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
53 -sws 1 bilinear b
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
54 -sws 2 bicubic high sharpness r
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
55 low sharpness b
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
56 -sws 3 experimental ????
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
57 -sws 4 nearest neighbour AM
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
58 -sws 5 area ba
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
59 -sws 6 luma bicubic / chroma bilinear r
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
60 -sws 7 gauss low sharpness B
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
61 high sharpness AM
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
62 -sws 8 sinc R
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
63 -sws 9 lanczos long filter R
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
64 short filter b
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
65 -sws 10 bicubic spline r
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
66
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
67 Notes:
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
68 area upscale is identical to bilinear