Release Movit 1.2.0.
[movit] / NEWS
1 Movit 1.2.0, September 24th, 2015
2
3   - Movit now ships a version.h with a #define MOVIT_VERSION that
4     increases on every API change, including in git. (The number
5     itself carries no semantic meaning beyond this.) Movit 1.2.0
6     is not API or ABI compatible with 1.1.x, so there has been a
7     soname bump to libmovit.so.3.
8
9   - More flexible Y'CbCr input; in particular, a special input
10     for 4:2:2 interleaved data (UYVY), and support for semi-planar
11     input (Cb and Cr in the same texture, like in NV12). Note that
12     you should now also set the new “num_levels” member of
13     YCbYCbCrFormat to 256 (signifying 8-bit input), although
14     it is not used yet; this is a stepping stone towards supporting
15     10- and 12-bit Y'CbCr.
16
17   - Basic support for Y'CbCr _output_. Currently only 8-bit,
18     and only 4:4:4 (ie., you'll need to subsample yourself
19     afterwards). It is possible to split the output into multiple
20     textures, though, if you want a luma/chroma split (NV12-like)
21     or full planar.
22
23   - Support top-left origin for output. This is only really useful
24     if you are rendering directly into some memory area with top-left
25     origin; most users will get the expected behavior by using
26     bottom-left as before.
27
28   - Rework uniform handling for less OpenGL overhead. Note that
29     this means your effects now need to register uniforms in the
30     C++ code instead of declaring them in the .frag file.
31
32   - Make the PaddingEffect border subpixel-aware, and also support
33     an arbitrary (subpixel) border offset. This means that you can
34     compose PaddingEffect with an integral left/top offset
35     (use the new IntegralPaddingEffect for potentially more speed)
36     and ResampleEffect with a subpixel left/top offset (and zoom to
37     compensate) to get Lanczos interpolation for the pixels and a
38     simple bilinear interpolation for the border itself.
39
40   - Fix a bug that could cause very bad filter weights in
41     ResampleEffect.
42
43   - Various performance improvements, in particular with regards to
44     CPU usage in ResampleEffect.
45
46
47 Movit 1.1.3, March 29th, 2015
48
49   - Fix accuracy issues in ResampleEffect, particularly when
50     zooming. Note that this might cost a few percent performance.
51     Reported by Christophe Thommeret.
52
53   - Make the number of BlurEffect taps configurable.
54     Based on patch by Christophe Thommeret.
55
56   - Multiple other bugfixes, some courtesy Dan Dennedy and
57     Christophe Thommeret. In particular, thread-safety fixes
58     related to locales and chain finalization.
59
60
61 Movit 1.1.2, August 12th, 2014
62
63   - Performance bugfix: Fix texture freelist behavior so that it's
64     LRU instead of the exact opposite. Patch by Christophe Thommeret.
65
66   - Performance bugfix: Correct the number of blur taps read in the
67     blur filter (it was reading about twice as many as it should).
68     Also found by Christophe Thommeret.
69
70
71 Movit 1.1.1, April 12th, 2014
72
73  - Fix an issue that could cause assertion failure in ResourcePool
74    when FBOs are reused, especially with NVIDIA's drivers.
75
76
77 Movit 1.1, April 10th, 2014
78
79  - NOTE: Movit now uses libepoxy rather than GLEW. This is needed because
80    of core context and GLES3 support (see below). Movit 1.1 should be
81    generally API-compatible with 1.0.3 (with the exception of the next
82    point), but is not ABI-compatible, so there has been a soname bump
83    to libmovit.so.2.
84
85  - NOTE: The rules for using an EffectChain or ResourcePool in multiple
86    OpenGL contexts or threads have changed somewhat; see the comments in
87    resource_pool.h.
88
89  - Movit will now work in OpenGL core contexts, and on GLES 3.0 or newer.
90    (GLES2 devices are not supported.) This also holds for all unit tests,
91    provided that you use SDL2 and not SDL1 (because SDL2 is needed to set
92    up such contexts). Note that the included demo application still requires
93    a classic OpenGL context.
94
95  - ResampleEffect can now do sub-pixel translate and/or zoom.
96
97  - LumaMixEffect now has an “invert” flag, as a convenience to e.g. change
98    a left-to-right wipe into a right-to-left one.
99
100  - Significant reduction in driver overhead, especially on NVIDIA drivers.
101
102  - Various smaller bugfixes and performance improvements.
103
104
105 Movit 1.0.3, March 16th, 2014
106
107  - Yet more build system tweaks mainly related to distribution packaging.
108
109
110 Movit 1.0.2, March 16th, 2014
111
112  - Make a few tweaks to “make install”, to make distributions' lives easier.
113
114
115 Movit 1.0.1, March 16th, 2014
116
117  - Fix so that shared libraries are built.
118
119
120 Movit 1.0, March 16th, 2014
121
122  - Initial release.