Avisynthplus color formats

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(added experimental chart-like presentation)
(See also: Add see also)
 
(5 intermediate revisions by 2 users not shown)
Line 25: Line 25:
 
| style="width:18em"|  
 
| style="width:18em"|  
 
|-
 
|-
| colspan="5"  | '''''all RGB clips '''''
+
| colspan="5"  | '''''All [[RGB]] clips '''''
 
| colspan="4"  | <tt>'''IsRGB'''</tt>
 
| colspan="4"  | <tt>'''IsRGB'''</tt>
 
|  
 
|  
Line 32: Line 32:
 
|-
 
|-
 
| <center> </center>
 
| <center> </center>
| colspan="4"  | '''''interleaved RGB(A) '''''
+
| colspan="4"  | '''''[[Interleaved]] RGB(A) '''''
 
|  
 
|  
 
| colspan="3"  | <tt>'''IsInterleaved'''</tt>
 
| colspan="3"  | <tt>'''IsInterleaved'''</tt>
Line 84: Line 84:
 
|-
 
|-
 
| <center> </center>
 
| <center> </center>
| colspan="4"  | '''''Planar RGB(A)'''''
+
| colspan="4"  | '''''[[Planar]] RGB(A)'''''
 
|  
 
|  
 
| colspan="3"  | <tt>'''IsPlanar'''</tt>&nbsp; ''or'' &nbsp;<tt>'''!(IsInterleaved)'''</tt>
 
| colspan="3"  | <tt>'''IsPlanar'''</tt>&nbsp; ''or'' &nbsp;<tt>'''!(IsInterleaved)'''</tt>
Line 91: Line 91:
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
| colspan="3"  | '''''planar RGB '''''
+
| colspan="3"  | '''''Planar RGB '''''
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
| <tt>'''IsPlanarRGB'''</tt>  
 
| <tt>'''IsPlanarRGB'''</tt>  
| RGBP''xx''
+
| RGBP[[#Footnotes|''xx'']]
 
|-
 
|-
 
| colspan="10" | &nbsp;
 
| colspan="10" | &nbsp;
Line 102: Line 102:
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
| colspan="3"  | '''''planar RGBA '''''
+
| colspan="3"  | '''''Planar RGBA '''''
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
| <tt>'''IsPlanarRGBA'''</tt>
 
| <tt>'''IsPlanarRGBA'''</tt>
| RGBAP''xx''  
+
| RGBAP''xx''
 
|-
 
|-
 
| colspan="10" | &nbsp;
 
| colspan="10" | &nbsp;
Line 113: Line 113:
 
| colspan="10" | &nbsp;
 
| colspan="10" | &nbsp;
 
|-
 
|-
| colspan="2" | '''''all YUV clips'''''
+
| colspan="2" | '''''All [[YUV]] clips'''''
 
|  
 
|  
 
|  
 
|  
Line 123: Line 123:
 
|-
 
|-
 
| <center> </center>
 
| <center> </center>
| colspan="4"  | '''''interleaved YUV'''''
+
| colspan="4"  | '''''[[Interleaved]] YUV'''''
 
|  
 
|  
 
| colspan="3"  | <tt>'''IsInterleaved'''</tt>
 
| colspan="3"  | <tt>'''IsInterleaved'''</tt>
Line 153: Line 153:
 
|-
 
|-
 
| <center> </center>
 
| <center> </center>
| colspan="4"  | '''''planar YUV(A) '''''
+
| colspan="4"  | '''''[[Planar]] YUV(A) '''''
 
|  
 
|  
 
| colspan="3"  | <tt>'''IsPlanar'''</tt>&nbsp; ''or'' &nbsp;<tt>'''!(IsInterleaved)'''</tt>
 
| colspan="3"  | <tt>'''IsPlanar'''</tt>&nbsp; ''or'' &nbsp;<tt>'''!(IsInterleaved)'''</tt>
Line 160: Line 160:
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
| colspan="3"  | '''''planar YUV'''''
+
| colspan="3"  | '''''Planar YUV'''''
 
|  
 
|  
 
|  
 
|  
Line 175: Line 175:
 
|  
 
|  
 
| <tt>'''Is444'''</tt>
 
| <tt>'''Is444'''</tt>
| YUV444''xx''; YV24 <small>{{Sup2|[''8bit'']}}</small>  
+
| YUV444[[#Footnotes|''xx'']]; YV24 <small>{{Sup2|[''8bit'']}}</small>  
 
|-
 
|-
 
| <center> </center>
 
| <center> </center>
Line 225: Line 225:
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
 
| <center> </center>
| colspan="3"  | '''''planar YUVA'''''
+
| colspan="3"  | '''''Planar YUVA'''''
 
|  
 
|  
 
|  
 
|  
Line 240: Line 240:
 
|  
 
|  
 
| <tt>'''Is444'''</tt>
 
| <tt>'''Is444'''</tt>
| YUVA444''xx''  
+
| YUVA444[[#Footnotes|''xx'']]
  
 
|-
 
|-
Line 273: Line 273:
 
! style="width:6em" | Group
 
! style="width:6em" | Group
 
! style="width:8em" | PixelType
 
! style="width:8em" | PixelType
! style="width:6em" | [[#footnotes|FourCC{{BoldColor|black|140|¹}}]]
+
! style="width:6em" | [[#Footnotes|FourCC{{BoldColor|black|140|¹}}]]
! style="width:6em" | [[#footnotes|Bit depth{{BoldColor|black|140|²}}]]
+
! style="width:6em" | [[#Footnotes|Bit depth{{BoldColor|black|140|²}}]]
! [[#footnotes|Interleaved{{BoldColor|black|140|³}}]]
+
! [[#Footnotes|Interleaved{{BoldColor|black|140|³}}]]
 
! style="width:4em" | Version
 
! style="width:4em" | Version
 
! style="width:12em" class="unsortable" | Remarks
 
! style="width:12em" class="unsortable" | Remarks
Line 460: Line 460:
 
| style="text-align:right;padding-right:3em" | 8
 
| style="text-align:right;padding-right:3em" | 8
 
|
 
|
| style="text-align:center" | {{AvsIcon2}}   
+
| style="text-align:center" | {{AvsPluscon2}}   
 
|  ''aka YUVA444''
 
|  ''aka YUVA444''
 
|-
 
|-
Line 523: Line 523:
 
| style="padding-left:1em" | <code>Y3[10][10]</code>
 
| style="padding-left:1em" | <code>Y3[10][10]</code>
 
| style="text-align:right;padding-right:3em" | 10
 
| style="text-align:right;padding-right:3em" | 10
| style="text-align:center" | x
+
|
 
| style="text-align:center" | {{AvsPluscon2}}
 
| style="text-align:center" | {{AvsPluscon2}}
| aka [http://wiki.multimedia.cx/index.php/V210 v210]; [[#footnotes|''VfW only''&nbsp;{{BoldColor|black|100|§}}]]
+
| ''aka P210'' <br><small>special-case: V210 output available; see footnotes</small> [[#Footnotes|{{BoldColor|black|96|§}}]]  
 
|-
 
|-
 
| YUV422   
 
| YUV422   
Line 780: Line 780:
 
|-
 
|-
 
|style="text-align:center;vertical-align:top;width:3em"|{{AvsIcon2}}
 
|style="text-align:center;vertical-align:top;width:3em"|{{AvsIcon2}}
| Supported in AviSynth 2.6.x
+
| Supported in both AviSynth+ and AviSynth 2.6.x
 
|-
 
|-
 
|style="text-align:center;vertical-align:top"|{{AvsPluscon2}}
 
|style="text-align:center;vertical-align:top"|{{AvsPluscon2}}
| Supported in both AviSynth &amp; AviSynth+
+
| Supported in AviSynth+ only
 
|-  
 
|-  
 
| style="text-align:right;padding-right:0.5em" | <small>[''8bit'']</small>  
 
| style="text-align:right;padding-right:0.5em" | <small>[''8bit'']</small>  
Line 791: Line 791:
 
| 16-bit only
 
| 16-bit only
 
|-  
 
|-  
| style="text-align:right;padding-right:0.5em" | ''xx''  
+
| style="text-align:center" | ''xx''  
| 8, 10, 12, 14, 16-bit integer; 16-bit floating point
+
| 8, 10, 12, 14, 16 and 32 bits (32bit is floating-point; all others are integer)
 
|-
 
|-
 
|style="text-align:center"|{{BoldColor|black|140|¹}}  
 
|style="text-align:center"|{{BoldColor|black|140|¹}}  
Line 802: Line 802:
 
|style="text-align:center"|{{BoldColor|black|140|³}}  
 
|style="text-align:center"|{{BoldColor|black|140|³}}  
 
|[[Interleaved]] if marked; else [[Planar]].
 
|[[Interleaved]] if marked; else [[Planar]].
|-
 
|style="text-align:center;vertical-align:top" |{{BoldColor|black|100|§}}
 
|VfW only: this format is served to [[wikipedia:Video_for_Windows|Video for Windows]] clients but not used within AviSynth<br>v210 output requires [[Internal_functions#OPT_Enable_V210|OPT_Enable_V210]] {{AvsPluscon2}}
 
 
|-
 
|-
 
|style="text-align:center;vertical-align:top" |{{BoldColor|black|100|‡}}  
 
|style="text-align:center;vertical-align:top" |{{BoldColor|black|100|‡}}  
 
|Y-only can be considered both planar ''and'' interleaved; however, a Y-only clip's  [[Clip_properties#Video:_Color_Format|IsInterleaved]] property returns ''false.''
 
|Y-only can be considered both planar ''and'' interleaved; however, a Y-only clip's  [[Clip_properties#Video:_Color_Format|IsInterleaved]] property returns ''false.''
 +
|-
 +
|style="text-align:center;vertical-align:top" |{{BoldColor|black|100|§}}
 +
|VfW only: [http://wiki.multimedia.cx/index.php/V210 v210] is served to [[wikipedia:Video_for_Windows|Video for Windows]] clients but not used within AviSynth;<br>v210 output requires [[Internal_functions#OPT_Enable_V210|OPT_Enable_V210]] {{AvsPluscon2}}
 
|}
 
|}
  
Line 813: Line 813:
 
* [[Convert]]
 
* [[Convert]]
 
* [[ConvertBits]]
 
* [[ConvertBits]]
 +
* [[Internal_functions#Other_helper_functions|BuildPixelType]]
 +
* [[Internal_functions#Other_helper_functions|ColorSpaceNameToPixelType]]
  
 
===== External Links =====
 
===== External Links =====
Line 823: Line 825:
  
 
[[Category:Avisynthplus]]
 
[[Category:Avisynthplus]]
 +
[[Category:Colourspace_Conversion]]

Latest revision as of 13:58, 13 December 2018

AviSynth+

Contents


[edit] Color Format Hierarchy

 (one possible arrangement)

Color Class                            Clip Property Test                                 Formats                            
All RGB clips IsRGB
 
Interleaved RGB(A) IsInterleaved
IsRGB24 RGB24 [8bit]
IsRGB48 RGB48 [16bit]
IsRGB32 RGB32 RGBA [8bit]
IsRGB64 RGB64 RGBA [16bit]
 
Planar RGB(A) IsPlanar  or  !(IsInterleaved)
Planar RGB IsPlanarRGB RGBPxx
 
Planar RGBA IsPlanarRGBA RGBAPxx
 
 
All YUV clips (IsYUV||IsYUVA)  or  !(IsRGB)
 
Interleaved YUV IsInterleaved
IsYUY2 YUY2 [8bit]
(none) V210 [10bit] §
 
Planar YUV(A) IsPlanar  or  !(IsInterleaved)
Planar YUV IsYUV
Is444 YUV444xx; YV24 [8bit]
Is422 YUV422xx; YV16 [8bit]; P216 [16bit]
Is420 YUV420xx; YV12 [8bit]
IsYV411 YV411
IsY Yxx
 
Planar YUVA IsYUVA  or  !(IsYUV)
Is444 YUVA444xx
Is422 YUVA422xx
Is420 YUVA420xx
[edit] Color Format Table
Group PixelType FourCC¹ Bit depth² Interleaved³ Version Remarks
RGB RGB24 BGR[24] 8 x [A]
RGB RGB48 BGR0 16 x [+]
RGBA RGB32 BGRA 8 x [A]
RGBA RGB64 BRA[64] 16 x [+]
RGB RGBP8 G3[0][8] 8 [+] aka RGBP
RGB RGBP10 G3[0][10] 10 [+]
RGB RGBP12 G3[0][12] 12 [+]
RGB RGBP14 G3[0][14] 14 [+]
RGB RGBP16 G3[0][16] 16 [+]
RGB RGBPS 32 [+]
RGBA RGBAP8 G4[0][8] 8 [+] aka RGBAP
RGBA RGBAP10 G4[0][10] 10 [+]
RGBA RGBAP12 G4[0][12] 12 [+]
RGBA RGBAP14 14 [+]
RGBA RGBAP16 G4[0][16] 16 [+]
RGBA RGBAPS 32 [+]
YUV444 YUV444P8 444P 8 [A] aka YUV444, YV24
YUV444 YUV444P10 Y3[0][10] 10 [+]
YUV444 YUV444P12 Y3[0][12] 12 [+]
YUV444 YUV444P14 Y3[0][14] 14 [+]
YUV444 YUV444P16 Y3[0][16] 16 [+]
YUV444 YUV444PS 32 [+]
YUVA444 YUVA444P8 Y4[0][8] 8 [+] aka YUVA444
YUVA444 YUVA444P10 Y4[0][10] 10 [+]
YUVA444 YUVA444P12 12 [+]
YUVA444 YUVA444P14 14 [+]
YUVA444 YUVA444P16 Y4[0][16] 16 [+]
YUVA444 YUVA444PS 32 [+]
YUV422 YUY2 YUY2 8 x [A]
YUV422 YUV422P8 Y42B 8 [A] aka YUV422, YV16
YUV422 YUV422P10 Y3[10][10] 10 [+] aka P210
special-case: V210 output available; see footnotes §
YUV422 YUV422P12 Y3[10][12] 12 [+]
YUV422 YUV422P14 Y3[10][14] 14 [+]
YUV422 YUV422P16 Y3[10][16] 16 [+] aka P216
YUV422 YUV422PS 32 [+]
YUVA422 YUVA422P8 Y4[10][8] 8 [+] aka YUVA422
YUVA422 YUVA422P10 Y4[10][10] 10 [+]
YUVA422 YUVA422P12 12 [+]
YUVA422 YUVA422P14 14 [+]
YUVA422 YUVA422P16 Y4[10][16] 16 [+]
YUVA422 YUVA422PS 32 [+]
YUV420 YV12 I420 8 [A] aka YUV420, YV12
YUV420 YUV420P8 I420 8 [A] aka YUV420, YV12
YUV420 YUV420P10 Y3[11][10] 10 [+]
YUV420 YUV420P12 Y3[11][12] 12 [+]
YUV420 YUV420P14 Y3[11][14] 14 [+]
YUV420 YUV420P16 Y3[11][16] 16 [+]
YUV420 YUV420PS 32 [+]
YUVA420 YUVA420P8 Y4[11][8] 8 [+] aka YUVA420
YUVA420 YUVA420P10 Y4[11][10] 10 [+]
YUVA420 YUVA420P12 12 [+]
YUVA420 YUVA420P14 14 [+]
YUVA420 YUVA420P16 Y4[11][16] 16 [+]
YUVA420 YUVA420PS 32 [+]
YUV411 YUV411P8 Y41B 8 [A] aka YUV411, YV411
YUV410 YUV9 8 [+] read only?
Y only Y8 Y800 8 [A]
Y only Y10 10 [+]
Y only Y12 12 [+]
Y only Y14 14 [+]
Y only Y16 Y1[0][16] 16 [+]
Y only Y32 32 [+]
[edit] Footnotes
[A] Supported in both AviSynth+ and AviSynth 2.6.x
[+] Supported in AviSynth+ only
[8bit]   8-bit only
[16bit] 16-bit only
xx 8, 10, 12, 14, 16 and 32 bits (32bit is floating-point; all others are integer)
¹ FourCC: 4 characters used to identify media data formats.
Data shown is from ffmpeg. Left blank if unknown at this time (2017-10-16).
² 32bit is floating-point; all others are integer.
³ Interleaved if marked; else Planar.
Y-only can be considered both planar and interleaved; however, a Y-only clip's IsInterleaved property returns false.
§ VfW only: v210 is served to Video for Windows clients but not used within AviSynth;
v210 output requires OPT_Enable_V210 [+]
[edit] See also
[edit] External Links
Personal tools