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