]> git.sesse.net Git - casparcg/blob - CHANGES.txt
stage: Fixed dead-lock that can occur with multiple mixer tweens.
[casparcg] / CHANGES.txt
1 CasparCG 2.0.3 Alpha (w.r.t 2.0 Stable)\r
2 =======================================\r
3 \r
4 General\r
5 -------\r
6 \r
7   o Data files are now stored in UTF-8 with BOM. Latin1 files are still\r
8     supported for backwards compatibility\r
9   o Commands written in UTF-8 to log file but only ascii characters to console.\r
10   o Added supported video formats:\r
11     + 720p2398 (not supported by decklink)\r
12     + 720p2400 (not supported by decklink)\r
13     + 1080p5994\r
14     + 1080p6000\r
15     + 720p30 (not supported by decklink)\r
16     + 720p29.976 (not supported by decklink)\r
17 \r
18 CLK\r
19 ---\r
20 \r
21   o CLK protocol implementation can now serve more than one connection at a time\r
22     safely.\r
23   o Added timeline support to the CLK protocol.\r
24   o Refactored parts of the CLK parser implementation.\r
25 \r
26 Consumers\r
27 ---------\r
28 \r
29   o Consumers on same channel now invoked asynchronously to allow for proper\r
30     sync of multiple consumers.\r
31   o System audio consumer:\r
32     + no longer provides sync to caspar.\r
33   o Screen consumer:\r
34     + Support for multiple screen consumers on the same channel\r
35     + No longer spin-waits for vsync\r
36     + Now deinterlaces to two separate frames so for example 50i will no longer\r
37       be converted to 25p but instead to 50p for smooth playback of interlaced\r
38       content.\r
39   o Decklink consumer now logs whether a reference signal is detected or not.\r
40 \r
41 Producers\r
42 ---------\r
43 \r
44   o Image scroll producer:\r
45     + Field-rate motion instead of frame-rate motion with interlaced video\r
46       formats. This can be overridden by giving the PROGRESSIVE parameter.\r
47     + SPEED parameter now defines pixels per frame/field instead of half pixels\r
48       per frame. The scrolling direction is also reversed so SPEED 0.5 is the\r
49       previous equivalent of SPEED -1. Movements are done with subpixel accuracy\r
50     + Fixed incorrect starting position of image.\r
51     + Rounding error fixes to allow for more exact scrolling.\r
52     + Added support for motion blur via a new BLUR parameter\r
53     + Added PREMULTIPLY parameter to support images stored with straight alpha.\r
54 \r
55 CasparCG 2.0 Stable (w.r.t Beta 3)\r
56 ==================================\r
57 \r
58 General\r
59 -------\r
60 \r
61   o Misc stability and performance fixes.\r
62 \r
63 Consumers\r
64 ---------\r
65 \r
66   o File Consumer\r
67     + Changed semantics to more closely follow ffmpeg (see forums).\r
68     + Added options, -r, -acodec, -s, -pix_fmt, -f and more.\r
69   o Screen Consumer\r
70     + Added vsync support.\r
71 \r
72 CasparCG 2.0 Beta 3 (w.r.t Beta 1)\r
73 ==================================\r
74 \r
75 Formats\r
76 -------\r
77 \r
78   o ProRes Support\r
79     + Both encoding and decoding.\r
80   o NTSC Support\r
81     + Updated audio-pipeline for native NTSC support. Previous implementation\r
82       did not fully support NTSC audio and could cause incorrect behaviour or\r
83       even crashes.\r
84 \r
85 Consumers\r
86 ---------\r
87 \r
88   o File Consumer added\r
89     + See updated wiki or ask in forum for more information.\r
90     + Should support anything ffmpeg supports. However, we will work mainly with\r
91       DNXHD, PRORES and H264.\r
92     - Key-only is not supported.\r
93   o Bluefish Consumer\r
94     + 24 bit audio support.\r
95     - Embedded-audio does not work with Epoch cards.\r
96   o Decklink Consumer\r
97     + Low latency enabled by default.\r
98     + Added graphs for driver buffers.\r
99   o Screen Consumer\r
100     + Changed screen consumer square PAL to the more common wide-square PAL.\r
101     + Can now be closed.\r
102     + Fixed interpolation artifacts when running non-square video-modes.\r
103     + Automatically deinterlace interlaced input.\r
104 \r
105 Producers\r
106 ---------\r
107 \r
108   o Decklink Producer\r
109     + Improved color quality be avoiding uneccessary conversion to BGRA.\r
110   o FFMPEG Producer\r
111     + Fixed missing alpha for (RGB)A formats when deinterlacing.\r
112     + Updated buffering to work better with files with long audio/video\r
113       interleaving.\r
114     + Seekable while running and after reaching EOF. CALL 1-1 SEEK 200.\r
115     + Enable/disable/query looping while running. CALL 1-1 LOOP 1.\r
116     + Fixed bug with duration calculation.\r
117     + Fixed bug with fps calculation.\r
118     + Improved auto-transcode accuracy.\r
119     + Improved seeking accuracy.\r
120     + Fixed bug with looping and LENGTH.\r
121     + Updated to newer ffmpeg version.\r
122     + Fixed incorrect scaling of NTSC DV files.\r
123     + Optimized color conversion when using YADIF filters.\r
124   o Flash Producer\r
125     + Release flash-player when empty.\r
126     + Use native resolution template-host.\r
127     + Template-hosts are now choosen automatically if not configured. The\r
128       template-host with the corresponding video-mode name is now chosen.\r
129     + Use square pixel dimensions.\r
130 \r
131 AMCP\r
132 ----\r
133 \r
134   o When possible, commands will no longer wait for rendering pipeline. This\r
135     reduces command execution latencies, especially when sending a lot of\r
136     commands in a short timespan.\r
137   o Fixed CINF command.\r
138   o ADD/REMOVE no longer require subindex,\r
139     e.g. "ADD 1 SCREEN" / "REMOVE 1 SCREEN" instead of "ADD 1-1 SCREEN" / ...\r
140   o PARAM is renamed to CALL.\r
141   o STATUS command is replaced by INFO.\r
142   o INFO command has been extended:\r
143     + INFO (lists channels).\r
144     + INFO 1 (channel info).\r
145     + INFO 1-1 (layer info).\r
146     + INFO 1-1 F (foreground producer info).\r
147     + INFO 1-1 B (background producer info).\r
148     + INFO TEMPLATE mytemplate (template meta-data info, e.g. field names).\r
149   o CG INFO command has been extended.\r
150     + CG INFO 1 (template-host information, e.g. what layers are occupied).\r
151 \r
152 Mixer\r
153 -----\r
154 \r
155   o Fixed alpha with blend modes.\r
156   o Automatically deinterlace for MIXER FILL commands.\r
157 \r
158 Channel\r
159 -------\r
160 \r
161   o SET MODE now reverts back to old video-mode on failure.\r
162 \r
163 Diagnostics\r
164 -----------\r
165 \r
166   o Improved graphs and added more status information.\r
167   o Print configuration into log at startup.\r
168   o Use the same log file for the entire day, instead of one per startup as\r
169     previously.\r
170   o Diagnostics window is now closable.\r
171 \r
172 Configuration\r
173 -------------\r
174 \r
175   o Simplified.\r
176 \r
177 CasparCG 2.0 Beta 1 (w.r.t Alpha)\r
178 =================================\r
179 \r
180   o Blending Modes (needs to be explicitly enabled)\r
181     + overlay\r
182     + screen\r
183     + multiply\r
184     + and many more.\r
185   o Added additive keyer in addition to linear keyer.\r
186   o Image adjustements\r
187     + saturation\r
188     + brightness\r
189     + contrast\r
190     + min input-level\r
191     + max input-level\r
192     + min output-level\r
193     + max output-level\r
194     + gamma\r
195   o Support for ffmpeg-filters such as (ee http://ffmpeg.org/libavfilter.html)\r
196     + yadif deinterlacer (optimized in CasparCG for full multi-core support)\r
197     + de-noising\r
198     + dithering\r
199     + box blur\r
200     + and many more\r
201   o 32-bit SSE optimized audio pipeline.\r
202   o Decklink-Consumer uses external-key by default.\r
203   o Decklink-Consumer has 32 bit embedded-audio support.\r
204   o Decklink-Producer has 32 bit embedded-audio support.\r
205   o LOADBG with AUTO feature which automatically playes queued clip when\r
206     foreground clip has ended.\r
207   o STATUS command for layers.\r
208   o LOG LEVEL command for log filtering.\r
209   o MIX transitation work with transparent clips.\r
210   o Freeze on last frame.\r
211   o Producer buffering is now configurable.\r
212   o Consumer buffering is now configurable.\r
213   o Now possible to configure template-hosts for different video-modes.\r
214   o Added auto transcoder for ffmpeg-producer which automatically transcodes\r
215     input video into compatible video format for the channel.\r
216     + interlacing (50p -> 50i)\r
217     + deinterlacing (50i -> 25p)\r
218     + bob-deinterlacing (50i -> 50p)\r
219     + bob-deinterlacing and reinterlacing (w1xh150i -> w2xh250i)\r
220     + doubling (25p -> 50p)\r
221     + halfing (50p -> 25p)\r
222     + field-order swap (upper <-> lower)\r
223   o Screen consumer now automatically deinterlaces when receiveing interlaced\r
224     content.\r
225   o Optimized renderer.\r
226   o Renderer can now be run asynchronously with producer by using a\r
227     producer-buffer size greater than 0.\r
228   o Improved error and crash recovery.\r
229   o Improved logging.\r
230   o Added Image-Scroll-Producer\r
231   o Key-only has now near zery performance overhead.\r
232   o Reduced memory requirements\r
233   o Removed "warm up lag" which occured when playing the first media clip after\r
234     the server has started.\r
235   o Added read-back fence for OpenGL device for improved multi-channel\r
236     performance.\r
237   o Memory support increased from standard 2 GB to 4 GB on 64 bit Win 7 OS.\r
238   o Added support for 2* Decklink cards in FullHD.\r
239   o Misc bugs fixes and performance improvements.\r
240   o Color producer now support some color codes in addition to color codes, e.g.\r
241     EMPTY, BLACK, RED etc...\r
242   o Alpha value in color codes is now optional.\r
243   o More than 2 Decklink cards might be possible but have not yet been tested.\r
244 \r
245 CasparCG 2.0 Alpha (w.r.t 1.8)\r
246 ==============================\r
247 \r
248 General\r
249 -------\r
250 \r
251   o Mayor refactoring for improved readability and mainainability.\r
252   o Some work towards platorm-independence. Currently the greatest challenge for\r
253     full platform-independence is flash-producer.\r
254   o Misc improved scalability.\r
255   o XML-configuration.\r
256   o Decklink\r
257     + Support for multiple decklink-cards.\r
258 \r
259 Core\r
260 ----\r
261 \r
262   o Multiple producers per video_channel.\r
263   o Multiple consumers per video_channel.\r
264   o Swap producers between layers and channels during run-time.\r
265   o Support for upper-field and lower-field interlacing.\r
266   o Add and remove consumers during run-time.\r
267   o Preliminary support for NTSC.\r
268 \r
269 AMCP\r
270 ----\r
271 \r
272   o Query flash and template-host version.\r
273   o Recursive media-folder listing.\r
274   o Misc changes.\r
275 \r
276 Mixer\r
277 -----\r
278 \r
279   o Animated tween transforms.\r
280   o Image-Mixer\r
281     + Fully GPU accelerated (all features listed below are done on the gpu),\r
282     + Layer composition.\r
283     + Colorspaces (rgba, bgra, argb, yuv, yuva, yuv-hd, yuva-hd).\r
284     + Interlacing.\r
285     + Per-layer image-transforms:\r
286       + Opacity\r
287       + Gain\r
288       + Scaling\r
289       + Clipping\r
290       + Translation\r
291   o Audio-Mixer\r
292     + Per-layer and per-sample audio-transforms:\r
293         + Gain\r
294     + Fully internal audio-mixing. Single output-video_channel.\r
295 \r
296 Consumers\r
297 ---------\r
298 \r
299   o Decklink-Consumer\r
300     + Embedded audio.\r
301     + HD support.\r
302     + Hardware clock.\r
303   o Bluefish-Consumer\r
304     + Drivers are loaded on-demand (server now runs on computers without\r
305       installed bluefish-drivers).\r
306     + Embedded-audio.\r
307     + Allocated frames are no longer leaked.\r
308 \r
309 Producers\r
310 ---------\r
311 \r
312   o Decklink-Producer\r
313     + Embedded audio.\r
314     + HD support.\r
315   o Color-Producer\r
316     + GPU accelerated.\r
317   o FFMPEG-Producer\r
318     + Asynchronous file IO.\r
319     + Parallel decoding of audio and video.\r
320     + Colorspace transform are moved to gpu.\r
321   o Transition-Producer\r
322     + Fully interlaced transition (previsously only progressive, even when\r
323       running in interlaced mode).\r
324     + Per-sample mixing between source and destination clips.\r
325     + Tween transitions.\r
326   o Flash-Producer\r
327     + DirectDraw access (sligthly improved performance).\r
328     + Improved time-sync. Smoother animations and proper interlacing.\r
329   o Image-Producer\r
330     + Support for various imageformats through FreeImage library.\r
331 \r
332 Diagnostics\r
333 -----------\r
334 \r
335   o Graphs for monitoring performance and events.\r
336   o Misc logging improvements.\r
337   o Seperate log-file for every run of the server.\r
338   o Error logging provides full exception details, instead of only printing that\r
339     an error has occured.\r
340   o Console with real-time logging output.\r
341   o Console with AMCP input.\r
342 \r
343 Removed\r
344 -------\r
345 \r
346   o Registry-configuration (replaced by XML-Configuration).\r
347   o TGA-Producer (replaced by Image-Producer).\r
348   o TGA-Scroll-Producer\r