X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=NEWS;h=476fcb87ae394cfa2f7792bd0e030cffa93fbb6b;hp=8c127741224137942811916384fe7514ef7eb2c6;hb=c6e29f22390eeba00e8504425eedbafb8b3722c1;hpb=b757b4f1ca57c6dcabfe4ad696a2b887544d1a71 diff --git a/NEWS b/NEWS index 8c12774..476fcb8 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,139 @@ +Movit 1.5.3, August 10th, 2017 + + - Various bugfixes. + + +Movit 1.5.2, July 5th, 2017 + + - The texture generation for ResampleEffect (when the size is changed) + now uses less CPU. + + - Work around an NVIDIA driver threading bug by aggressively caching VAOs. + + +Movit 1.5.1, May 29th, 2017 + + - Allow YCbCrInput to change input format after finalize. + + - Some minor YCbCrInput bugfixes. + + +Movit 1.5.0, March 21st, 2017 + + - Support interleaved Y'CbCr input (4:4:4 in a single texture). + + - Support 10-bit and 12-bit Y'CbCr, both for input and output. For planar, + these are supported packed in 16-bit ints; for interleaved, 10:10:10:2 is + supported. (Efficient conversion to and from v210, ie. 10-bit 4:2:2, + is possible using compute shaders, but Movit does not include support + for them at the current point.) Note that this now means the num_levels + flag in YCbCrFormat actually matters, although 0 will be interpreted + as 256 (8-bit) for the benefit of older applications. + + - Limited support for having multiple Y'CbCr outputs from a chain. + + - Allow changing the Y'CbCr output coefficients runtime, ie., after finalize. + + - Fix an issue where the last pass would have been rendered with the sRGB + flag set, which confused Qt applications running in certain NVIDIA + configurations. + + +Movit 1.4.0, November 5th, 2016 + + - Allow setting the intermediate format for chains, instead of hardcoding + it at 16-bit RGBA; advanced users can use this to e.g. ask for 8-bit + sRGB intermediates, reducing the amount of memory bandwidth needed + at the cost of reduced precision. Whether this is a good tradeoff or not + depends on the exact chain and your requirements. + + - Fix an issue where a (cached) shader program could be used from multiple + threads at a time, causing the uniforms to contain unpredictable values. + + - Make the error printed on check_error() slightly friendlier: Include the + enum if possible, and print it to stderr instead of stdout. + + +Movit 1.3.2, February 23rd, 2016 + + - Fix an issue with initialization in certain locales. Patch from + Jean-Baptiste Mardelle. + + +Movit 1.3.1, February 15th, 2016 + + - Fix an issue where certain effect chains (particularly involving + out-of-tree effects that return only a constant color) could cause + texture coordinates not to be set properly. (The new code probably + also has slightly lower OpenGL driver overhead.) Reported by + Christophe Thommeret. + + +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