ConvertStacked

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
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''' is similar, but the MSBs and LSBs are horizontally ''interleaved'' which is like Native, and it's faster. [[TODO|TODO:&nbsp;verify]].
+
*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:&nbsp;verify]].
 
</div>
 
</div>
  

Revision as of 01: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
Personal tools