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