annotate DOCS/tech/swscaler_methods.txt @ 27690:06d645ed0c9f

gcc-apple specific fallback not necessary anymore (btw no apple hardware is less than a Intel core, thus it won't come there w/out disabling all the optimizations)
author lu_zero
date Sun, 05 Oct 2008 21:00:16 +0000
parents 567c3d5da0ca
children 0f1b5b68af32
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
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
16 aliasing (only downscale)
6685
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
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
29 recommendations: (based upon my personal opinion many ppl might disagree ...)
6685
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
30 ---------------------------------------------------------------------
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
31
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
32 the recommended scalers for upscaling:
6685
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
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
36 the recommended scalers for downscaling:
6685
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)
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
42 then a slightly blurred input might look better after decoding than a slightly
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
43 sharpened one, especially for lower bitrates
6685
ca8da0cc0cdf swscaler methods recommendation & artifact types
michael
parents:
diff changeset
44
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
45 sws numbers / names / artifact types
6685
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:
16294
c43d55a452c8 Typo :)
gpoirier
parents: 6685
diff changeset
68 area upscale is identical to bilinear
16295
567c3d5da0ca More typos. One noticed by Nico. Added an empty line at the end to make syncmail happy
gpoirier
parents: 16294
diff changeset
69