Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

Commit

Permalink
Updated files for r23
Browse files Browse the repository at this point in the history
  • Loading branch information
EleonoreMizo committed Jul 14, 2021
1 parent a7a5a4f commit f9088ac
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 30 deletions.
71 changes: 42 additions & 29 deletions doc/fmtconv.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ <h2>Abstract</h2>

<table class="n">
<tr><td class="n"><b>Authors: </b></td><td class="n">&nbsp;</td><td class="n">Firesledge (aka Cretindesalpes)</td></tr>
<tr><td class="n"><b>Version: </b></td><td class="n">&nbsp;</td><td class="n">r22</td></tr>
<tr><td class="n"><b>Version: </b></td><td class="n">&nbsp;</td><td class="n">r23</td></tr>
<tr><td class="n"><b>Download: </b></td><td class="n">&nbsp;</td><td class="n"><a href="http://ldesoras.free.fr/prod.html#src_fmtconv">http://ldesoras.free.fr/prod.html</a></td></tr>
<tr><td class="n"><b>Category: </b></td><td class="n">&nbsp;</td><td class="n">Format tools</td></tr>
<tr><td class="n"><b>Requirements:</b></td><td class="n">&nbsp;</td><td class="n"><a href="http://www.vapoursynth.com/">Vapoursynth</a></td></tr>
Expand Down Expand Up @@ -205,7 +205,7 @@ <h3><a id="compiling"></a>Compiling from the source code</h3>

<h4>Visual C++</h4>

<p>Visual Studio 2013 or later is required, previous versions are
<p>Visual Studio 2019 or later is required, previous versions are
not supported anymore.
Just load <code>build/win/fmtconv.sln</code> and run the compiler.</p>

Expand All @@ -215,21 +215,25 @@ <h4>Visual C++</h4>

<ul>
<li>Add <code>.</code> (the <code>src</code> directory) as include path.</li>
<li>Use the <code>v120_xp</code> toolset for the 32-bit version.</li>
<li>For the whole project, enable the SS2 instruction set.</li>
<li>Enable the AVX2 instruction set for the <code>*.cpp</code> files containing <code>avx2</code> in their name, and the AVX set for the <code>avx</code> files.</li>
<li>Enable optimizations maximizing speed and “any suitable” functions for inlining.</li>
</ul>

<h4>GNU/Linux and other Unix-like systems</h4>

<p>On Linux and similar GNU-based systems, the <code>build</code> directory
contains autotools settings:</p>
<p>On Linux and similar GNU-based systems (including MSYS2 and Cygwin), the
<code>build</code> directory contains autotools settings:</p>
<pre class="src">cd build/unix
./autogen.sh
./configure
make
make install</pre>
<p>You can add some options to the <code>configure</code> command:</p>
<ul>
<li><code>--enable-debug</code> to activate debugging code</li>
<li><code>--enable-clang</code> to use Clang instead of the default compiler, usually GCC</li>
</ul>

<h4>GCC</h4>

Expand All @@ -247,7 +251,7 @@ <h4>GCC</h4>
<p>Add <code>AvstpFinder.cpp</code> on Windows.
Use the following options (on a single line):</p>

<pre class="src">-std=c++11 -shared -fabi-version=6 -msse2 -mcx16 -O3 -DNDEBUG -I.
<pre class="src">-std=c++14 -shared -fabi-version=6 -msse2 -mcx16 -O3 -DNDEBUG -I.
-Wall -Wextra -Wno-unused-parameter -Wno-unused-result -Wno-missing-field-initializers -Wshadow
-Wno-unused-private-field</pre>

Expand Down Expand Up @@ -276,7 +280,7 @@ <h4>GCC</h4>
<p>Link with <code>-latomic -lpthread</code>.</p>

<p>With MinGW, it seems you will need a specific MinGW-64 build supporting
C++11 threading (not tested here yet, please report if you find something
C++14 threading (not tested here yet, please report if you find something
useful).</p>

<h2><a id="description"></a>III) Filters description</h2>
Expand Down Expand Up @@ -1531,7 +1535,16 @@ <h2><a id="troubleshooting"></a>IV) Troubleshooting</h2>

<h2><a id="changelog"></a>V) Changelog</h2>

<p><b>r22, 2019.12.11</b></p>
<p><b>r23, 2021-07-14</b></p>
<ul>
<li><code>transfer</code>: added an Exposure Index (EI) parameter for the Arri Log C Alexa 2.x and 3.x curves.</li>
<li><code>bitdepth</code>: properly sets the <code>_ColorRange<code> attribute.</li>
<li>Doesn’t output a debug message when AVSTP is not found.</li>
<li>Fixed a concurrency issue by using a more recent toolkit when compiling with MSVC.</li>
<li>Windows XP is not supported any more.</li>
</ul>

<p><b>r22, 2019-12-11</b></p>
<ul>
<li><code>bitdepth</code>: upconversions for full range data now scale to the maximum value instead of shifting bits. Thanks to Z4ST1N for the report.</li>
<li><code>matrix</code>: added support for the YDzDx, ICtCp-PQ and ICtCp-HLG colorspaces.</li>
Expand All @@ -1550,41 +1563,41 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li>Fixed compilation for Linux on ARM or aarch64. Binaries not tested yet.</li>
</ul>

<p><b>r21, 2019.12.08</b></p>
<p><b>r21, 2019-12-08</b></p>
<ul>
<li><code>transfer</code>: fixed highlight clipping for several high dynamic range transfer curves, thanks to groucho86 for the report.</li>
</ul>

<p><b>r20, 2016.03.25</b></p>
<p><b>r20, 2016-03-25</b></p>
<ul>
<li><code>primaries</code>: fixed a bug preventing to set all primaries individually without specifying any preset.</li>
<li><code>primaries</code>: fixed a bug in the color conversion, thanks to J1Man for having spotted it.</li>
</ul>

<p><b>r19, 2016.03.19</b></p>
<p><b>r19, 2016-03-19</b></p>
<ul>
<li><code>primaries</code>: refined the values for the Adobe Wide gamut and BT.2020 primaries.</li>
<li><code>primaries</code>: added DCI-P3, ACES AP0/AP1, S-Gamut, S-Gamut3.Cine, ALEXA and V-Gamut presets.</li>
<li><code>transfer</code>: added ACEScc, ERIMM, S-Log2, S-Log3 and V-Log curves.</li>
</ul>

<p><b>r18, 2016.03.08</b></p>
<p><b>r18, 2016-03-08</b></p>
<ul>
<li>Added the <code>primaries</code> function to convert between gamuts.</li>
<li>The “full” range is now closer to what is specified in the standards.</li>
<li>A recent Vapoursynth is now required because API headers were updated to version 3.1.4.</li>
<li><code>transfer</code>: added the Adobe RGB and ProPhoto / ROMM curves.</li>
</ul>

<p><b>r17, 2015.07.08</b></p>
<p><b>r17, 2015-07-08</b></p>
<ul>
<li><code>bitdepth</code>: added “Void and cluster” dithering method and its <var>patsize</var> parameter.</li>
<li><code>bitdepth</code>: added floating point implementation for the Ostromoukhov dithering</li>
<li><code>bitdepth</code>: added SSE2 optimizations for halftone modes (0, 1 and 8).</li>
<li><code>bitdepth</code>: fixed incorrect conversion from float to 8-bit integer using the “fast” modes with SSE2 instruction set.</li>
</ul>

<p><b>r16, 2015.07.01</b></p>
<p><b>r16, 2015-07-01</b></p>
<ul>
<li><code>bitdepth</code>: added support for 11-bit and 14-bit integer input.</li>
<li><code>bitdepth</code>: fixed a slight plane inconsistency when dithering grey multi-plane pictures using an error diffusion algorithm.</li>
Expand All @@ -1593,18 +1606,18 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li><code>transfer</code>: added the <var>blacklvl</var> parameter.</li>
</ul>

<p><b>r15, 2015.05.22</b></p>
<p><b>r15, 2015-05-22</b></p>
<ul>
<li><code>resample</code> and <code>bitdepth</code>: fixed a bug creating dark lines or weird patterns. Was introduced in r13 while trying to fix the buffer overflow problem. Thanks to feisty2 for spotting it.</li>
<li><code>resample</code>: fixed the non-SIMD code path, causing crashes.</li>
</ul>

<p><b>r14, 2015.05.20</b></p>
<p><b>r14, 2015-05-20</b></p>
<ul>
<li><code>matrix</code>: fixed a bug introducing wrong offsets in custom matrix coefficients, thanks to mawen1250 for the report.</li>
</ul>

<p><b>r13, 2015.05.18</b></p>
<p><b>r13, 2015-05-18</b></p>
<ul>
<li><code>matrix</code>: optimized the SSE2 and AVX2 paths for integer data.</li>
<li>Added <var>cpuopt</var> to some functions, to manually limit the instruction set optimizations.</li>
Expand All @@ -1613,23 +1626,23 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li>Removed the <code>int16tofloat</code> and <code>floattoint16</code> temporary functions.</li>
</ul>

<p><b>r12, 2015.05.08</b></p>
<p><b>r12, 2015-05-08</b></p>
<ul>
<li><code>resample</code>: fixed a crash in the AVX2 code path, thanks to HolyWu for spotting it.</li>
</ul>

<p><b>r11, 2015.05.07</b></p>
<p><b>r11, 2015-05-07</b></p>
<ul>
<li><code>transfer</code>: fixed a bug in the SSE2 code path.</li>
</ul>

<p><b>r10, 2015.05.06</b></p>
<p><b>r10, 2015-05-06</b></p>
<ul>
<li>fmtconv is compatible with the older Vapoursynth versions again until API 3.2 is out.</li>
<li>Source code: fixed compilation problems.</li>
</ul>

<p><b>r9, 2015.05.06</b></p>
<p><b>r9, 2015-05-06</b></p>
<ul>
<li>Added the <code>transfer</code> function.</li>
<li><code>resample</code>: Most kernel-related parameters are now arrays, allowing to specify different values for each plane.</li>
Expand All @@ -1639,25 +1652,25 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li><code>bitdepth</code>: SSE2 optimizations for the “fast” algorithm.</li>
</ul>

<p><b>r8, 2013.11.30</b></p>
<p><b>r8, 2013-11-30</b></p>
<ul>
<li><code>resample</code>: Fixed bugs introduced in r7.</li>
<li>Fixed a range conversion issue in “plane copy” modes with source and destination formats are the same.</li>
</ul>

<p><b>r7, 2013.11.27</b></p>
<p><b>r7, 2013-11-27</b></p>
<ul>
<li>64-bit windows version.</li>
<li><code>resample</code>: A few optimizations for special cases.</li>
<li><code>resample</code>: fixed the coefficients used in integer resizing, whose sum was sometimes off by a few units.</li>
</ul>

<p><b>r6, 2013.08.24</b></p>
<p><b>r6, 2013-08-24</b></p>
<ul>
<li><code>matrix</code>: single-plane output now works correctly.</li>
</ul>

<p><b>r5, 2013.08.18</b></p>
<p><b>r5, 2013-08-18</b></p>
<ul>
<li>Added 12-bit support for all the functions.</li>
<li>Added <code>matrix2020cl</code> to convert between linear RGB and Y’Cb’Cr’ colorspaces using the BT.2020 constant luminance matrix.</li>
Expand All @@ -1667,7 +1680,7 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li><code>resample</code>: added SSE2 integer calculations for slight speed improvement. Activated by default, use <var>flt=1</var> to compute everything in float (previous operating mode).</li>
</ul>

<p><b>r4, 2012.12.09</b></p>
<p><b>r4, 2012-12-09</b></p>
<ul>
<li>Added a documentation.</li>
<li>Filters now write some frame properties when known.</li>
Expand All @@ -1684,7 +1697,7 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li>Added <code>nativetostack16</code>.</li>
</ul>

<p><b>r3, 2012.11.23</b></p>
<p><b>r3, 2012-11-23</b></p>
<ul>
<li><code>bitdepth</code>: changed the <var>bitdepth</var> parameter to <var>bits</var>.</li>
<li><code>bitdepth</code>: added SSE2 optimizations for upconversions.</li>
Expand All @@ -1693,7 +1706,7 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li><code>resample</code>: fixed the <var>planes</var> parameter previously interpreted as 0 (black or green screen).</li>
</ul>

<p><b>r2, 2012.11.18</b></p>
<p><b>r2, 2012-11-18</b></p>
<ul>
<li><code>bitdepth</code>: implemented fast dither mode (but not in SSE2 yet).</li>
<li><code>bitdepth</code>: optimized float-to-integer path.</li>
Expand All @@ -1703,7 +1716,7 @@ <h2><a id="changelog"></a>V) Changelog</h2>
<li><code>resample</code>: fixed white/magenta screen with 8-bit input and float output.</li>
</ul>

<p><b>r1, 2012.11.16</b></p>
<p><b>r1, 2012-11-16</b></p>
<ul>
<li>Initial release.</li>
</ul>
Expand Down
2 changes: 1 addition & 1 deletion src/fmtc/version.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#pragma once

#define fmtc_VERSION "r22"
#define fmtc_VERSION "r23"
#define fmtc_PLUGIN_NAME "fmtconv"
#define fmtc_NAMESPACE "fmtc"

0 comments on commit f9088ac

Please sign in to comment.