ConvertStacked
From Avisynth wiki
(Difference between revisions)
Line 12: | Line 12: | ||
==== Notes ==== | ==== Notes ==== | ||
<div style="max-width:42em" > | <div style="max-width:42em" > | ||
− | *In '''[[Stack16]]''', the picture is made of two parts: one containing the highest 8 bits (MSB) for each pixel, stacked on top of another containing the lowest 8 bits (LSB). | + | *In '''[[Stack16]]''', the picture is made of two parts: one containing the highest 8 bits (MSB) for each pixel, stacked on top of another containing the lowest 8 bits (LSB). it's used in [[Dither tools]] and many others. |
− | *'''Double-Width''' | + | *for '''Double-Width''' the know examples of it existing in [[flash3kyuu_deband]]\F3kdb\f3kdb_dither, [[LSMASHSource]] (not in the last updates) and some dither package functions like [[Dither_out()]], it's similar to Stack16, but the MSBs and LSBs are horizontally ''interleaved'' which is like Native HBD, and it's faster than lsb. [[TODO|TODO: verify]]. |
</div> | </div> | ||
Revision as of 02:22, 13 September 2019
AVS+ |
---|
This feature is specific to AviSynthPlus. It is not supported in other AviSynth versions. |
Contents |
These conversion filters are to allow filters that use 16-bit video in a pseudo-8-bit colorspace to interact with AviSyth+ high bit depth formats. They are intended to serve as a stopgap until more plugins appear supporting true high bit depth.
Notes
- In Stack16, the picture is made of two parts: one containing the highest 8 bits (MSB) for each pixel, stacked on top of another containing the lowest 8 bits (LSB). it's used in Dither tools and many others.
- for Double-Width the know examples of it existing in flash3kyuu_deband\F3kdb\f3kdb_dither, LSMASHSource (not in the last updates) and some dither package functions like Dither_out(), it's similar to Stack16, but the MSBs and LSBs are horizontally interleaved which is like Native HBD, and it's faster than lsb. TODO: verify.
Syntax and Parameters
Accepts a 16-bit clip and returns a stacked 8-bit clip.
ConvertToStacked(clip clip ] )
ConvertToDoubleWidth(clip clip ] )
- clip clip =
- Source clip. Must be native 16 bit: YUV420P16, YUV422P16, YUV444P16, Y16.
Accepts a stacked 8-bit clip and returns a HBD clip.
ConvertFromStacked(clip clip, int bits ] )
ConvertFromDoubleWidth(clip clip, int bits ] )
- clip clip =
- Source clip. Must be YV12, YV16, YV24 or Y8.
- int bits = 16
- Bit depth of returned clip. Must match the original bit depth. For example,
## Decoding 10bit, YUV 4:2:0 source LWLibavVideoSource(<path>, stacked=true, format="YUV420P10") ConvertFromStacked(bits=10) ConvertBits(8, dither=0) ## '0' means on, '-1' means off
- Double-Width example,
## 10bit clip here ConvertBits(16, truerange=false) ConvertToDoubleWidth() F3KDB(Input_Mode=2,Input_Depth=10,Output_Mode=2,Output_Depth=10) ConvertFromDoubleWidth(bits=10)
Changes
20170310 r2440 | first added |