Skip to content

Commit 48ac3b2

Browse files
committed
rstdoc: update change list
1 parent cbb02bc commit 48ac3b2

1 file changed

Lines changed: 44 additions & 2 deletions

File tree

distrib/docs/english/source/avisynthdoc/changelist376.rst

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ Additions, changes
2828
- ``ConvertToPlanarRGB(A)``: added ``quality`` parameter: forces 32-bit float
2929
internal processing instead of S18.13 fixed-point arithmetic when converting
3030
from YUV, regardless of source or target bit-depth. See :doc:`ConvertToPlanarRGB <./corefilters/convert>`.
31+
- "ConvertToYUV(A)xxx" and legacy 8 bit name versions: ``bits`` parameter: on-the-fly bit-depth conversions to RGB->YUV conversion.
32+
See :doc:`ConvertToYUV444 <./corefilters/convert>`.
33+
- ``ConvertToYUV(A)xxx`` and legacy 8 bit name versions: added ``quality`` parameter: forces 32-bit float
34+
internal processing instead of S18.13 fixed-point arithmetic when converting
35+
to YUV, regardless of source or target bit-depth. See :doc:`ConvertToYUV444 <./corefilters/convert>`.
3136
- "ResetMask": add parameter float "opacity"
3237
- "AddAlphaPlane": add parameter float "opacity"
3338
- "Layer": YUY2 is handled as YV16 (lessen source code bloat)
@@ -70,6 +75,24 @@ Additions, changes
7075
computed from ground-truth linear RGB values converted through the active
7176
YUV matrix, giving accurate Cb/Cr coordinates at all bit depths including
7277
32-bit float.
78+
- "ConvertToYUY2": rewritten to route all conversions through YV16 as
79+
intermediate format, using the full ``ConvertToPlanarGeneric`` infrastructure.
80+
``ChromaOutPlacement`` parameter added (was missing, present in ConvertToYV16).
81+
All source formats (YV12, YUV420/422/444, planar/packed RGB, high bit depth)
82+
are now handled correctly. ``bits`` parameter accepted; must be 8 if specified.
83+
See :doc:`Convert <./corefilters/convert>`.
84+
- "ConvertBackToYUY2": kept for backward compatibility; now forwards to
85+
``ConvertToYUY2``. The pre-2.5 left-pixel-only chroma hack is no longer
86+
needed or applied; the YV16 lossless repack path avoids chroma resampling
87+
loss entirely for roundtrip workflows.
88+
- "ConvertToYV12" (legacy 8-bit name): the YUY2 fast-path shortcut is removed;
89+
now routes directly through ``ConvertToPlanarGeneric::CreateYUV420``.
90+
``bits=`` parameter semantics corrected: the legacy 8-bit-named functions
91+
(``ConvertToYV12``, ``ConvertToYV16``, ``ConvertToYV24``) now check the
92+
*target* bit depth rather than the source bit depth, allowing high-depth
93+
sources when ``bits=8`` is explicitly specified.
94+
- 8 bit packed RGB formats are converted to planar RGB before 444 conversion.
95+
Stop using direct rgb-yv24 conversions (16 bits were already converted for long time).
7396

7497

7598
Build environment, Interface
@@ -129,6 +152,21 @@ Build environment, Interface
129152

130153
Bugfixes
131154
~~~~~~~~
155+
- Fix: "ConvertToYUY2" / "ConvertToYV12": YV12<->YUY2 interlaced conversion
156+
used asymmetric 0.75/0.25 chroma interpolation coefficients instead of the
157+
MPEG-2 specified 7/8,1/8 and 3/8,5/8 coefficients, introducing opposite-
158+
direction vertical chroma shifts in top and bottom fields. First diagnosed
159+
by Gavino in 2009; now resolved by routing through ``ConvertToPlanarGeneric``.
160+
- Fix: "ConvertToYUY2" / "ConvertToYV12": progressive YV12<->YUY2 conversion
161+
used asymmetric 0.75/0.25 averaging (quarter-pixel offset) instead of the
162+
correct 0.5/0.5 midpoint average for left-sited chroma, introducing a
163+
1/4-pixel vertical chroma shift.
164+
- Fix: "ConvertToYUY2": ``_ChromaLocation``, ``_Matrix`` and ``_ColorRange``
165+
frame properties were not read from YV12 source frames and not written to
166+
YUY2 output frames in the legacy direct conversion path.
167+
- Fix: "ConvertToYUY2": SSE2 interlaced upsampling used wrong weighting
168+
direction for the lower line of each field pair (75%/25% toward current
169+
instead of 25%/75% toward next), differing from the C reference implementation.
132170
- Fix: memory leak in Subframe/MakePropertyWritable after static-frame sources (ColorBars, BlankClip)
133171
- Fix: "Histogram" Color2 mode to copy alpha channel from source for alpha-carrying formats
134172
(YUVA, RGBPA, RGB32, RGB64); initialize alpha to zero in the histogram panel area.
@@ -237,15 +275,19 @@ Documentation
237275
- Update :doc:`Histogram <./corefilters/histogram>` with new vectorscope parameters
238276
- Update :doc:`ColorBars <./corefilters/colorbars>`
239277
- Update :ref:`matrix syntax <matrix_parameter_syntax>`
240-
278+
- Update :doc:`Convert <./corefilters/convert>` with ``ConvertToYUY2``
279+
``ChromaOutPlacement`` parameter and corrected chroma placement behavior.
280+
- Update :doc:`Convert <./corefilters/convert>` with ``bits`` and ``quality`` parameters
281+
- Update :doc:`Sampling <./advancedtopics/sampling>` with historical content notes
282+
on legacy ``YUY2`` handling.
241283
- Add another Ubuntu->Windows DLL cross-compilation guide:
242284
See :ref:`Ubuntu->Windows mingw crosscompilation<compiling_avsplus_crosscompiling2>`
243285

244286

245287
Please report bugs at `github AviSynthPlus page`_ - or - `Doom9's AviSynth+
246288
forum`_
247289

248-
$Date: 2026/02/24 20:24:00 $
290+
$Date: 2026/03/02 21:50:00 $
249291

250292
.. _github AviSynthPlus page:
251293
https://github.com/AviSynth/AviSynthPlus

0 commit comments

Comments
 (0)