Avisynthplus color formats: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
Raffriff42 (talk | contribs) m corrections |
Raffriff42 (talk | contribs) added experimental chart-like presentation |
||
| Line 1: | Line 1: | ||
<div style="max-width:82em; min-width:42em;" > | <div style="max-width:82em; min-width:42em;" > | ||
{{AvsPlusHeader}}<div style="max-width:62em" > | {{AvsPlusHeader}}<div style="max-width:62em" > | ||
''''' | |||
__TOC__ | |||
===== Color Format Hierarchy ===== | |||
''(one possible arrangement)''<br> | |||
<div style="border:none; background-color:#fafafa; padding:1em; margin:2pt 2em 2em 2pt; font-size:100%; line-height:95%"> | |||
{| style="border:none;border-spacing:0" | |||
|- | |||
| colspan="5" style="line-height:250%" | '''Color Class <u> </u>''' | |||
| colspan="4" | '''[[Clip_properties#Video:_Color_Format|Clip Property]] Test <u> </u>''' | |||
| '''Formats <u> </u>''' | |||
|- | |||
| style="width:4em"| | |||
| style="width:4em"| | |||
| style="width:4em"| | |||
| style="width:2em"| | |||
| style="width:2em"| | |||
| style="width:4em"| | |||
| style="width:4em"| | |||
| style="width:4em"| | |||
| style="width:10em"| | |||
| style="width:18em"| | |||
|- | |||
| colspan="5" | '''''all RGB clips ''''' | |||
| colspan="4" | <tt>'''IsRGB'''</tt> | |||
| | |||
|- | |||
| colspan="10" | | |||
|- | |||
| <center> </center> | |||
| colspan="4" | '''''interleaved RGB(A) ''''' | |||
| | |||
| colspan="3" | <tt>'''IsInterleaved'''</tt> | |||
| | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsRGB24'''</tt> | |||
| RGB24 <small>{{Sup2|[''8bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsRGB48'''</tt> | |||
| RGB48 <small>{{Sup2|[''16bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsRGB32'''</tt> | |||
| RGB32 <small>{{Sup2|RGBA [''8bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsRGB64'''</tt> | |||
| RGB64 <small>{{Sup2|RGBA [''16bit'']}}</small> | |||
|- | |||
| colspan="10" | | |||
|- | |||
| <center> </center> | |||
| colspan="4" | '''''Planar RGB(A)''''' | |||
| | |||
| colspan="3" | <tt>'''IsPlanar'''</tt> ''or'' <tt>'''!(IsInterleaved)'''</tt> | |||
| | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| colspan="3" | '''''planar RGB ''''' | |||
| | |||
| | |||
| | |||
| <tt>'''IsPlanarRGB'''</tt> | |||
| RGBP''xx'' | |||
|- | |||
| colspan="10" | | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| colspan="3" | '''''planar RGBA ''''' | |||
| | |||
| | |||
| | |||
| <tt>'''IsPlanarRGBA'''</tt> | |||
| RGBAP''xx'' | |||
|- | |||
| colspan="10" | | |||
|- | |||
| colspan="10" | | |||
|- | |||
| colspan="2" | '''''all YUV clips''''' | |||
| | |||
| | |||
| | |||
| colspan="4" | <tt>'''(IsYUV<nowiki>||</nowiki>IsYUVA)'''</tt> ''or'' <tt>'''!(IsRGB)'''</tt> | |||
| | |||
|- | |||
| colspan="10" | | |||
|- | |||
| <center> </center> | |||
| colspan="4" | '''''interleaved YUV''''' | |||
| | |||
| colspan="3" | <tt>'''IsInterleaved'''</tt> | |||
| | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsYUY2'''</tt> | |||
| YUY2 <small>{{Sup2|[''8bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| (none) | |||
| V210 <small>{{Sup2|[''10bit'']}}</small> [[#Footnotes|§]] | |||
|- | |||
| colspan="10" | | |||
|- | |||
| <center> </center> | |||
| colspan="4" | '''''planar YUV(A) ''''' | |||
| | |||
| colspan="3" | <tt>'''IsPlanar'''</tt> ''or'' <tt>'''!(IsInterleaved)'''</tt> | |||
| | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| colspan="3" | '''''planar YUV''''' | |||
| | |||
| | |||
| colspan="2" | <tt>'''IsYUV'''</tt> | |||
| | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''Is444'''</tt> | |||
| YUV444''xx''; YV24 <small>{{Sup2|[''8bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''Is422'''</tt> | |||
| YUV422''xx''; YV16 <small>{{Sup2|[''8bit'']}}</small>; P216 <small>{{Sup2|[''16bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''Is420'''</tt> | |||
| YUV420''xx''; YV12 <small>{{Sup2|[''8bit'']}}</small> | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsYV411'''</tt> | |||
| YV411 | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''IsY'''</tt> | |||
| Y''xx'' [[#Footnotes|‡]] | |||
|- | |||
| colspan="10" | | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| colspan="3" | '''''planar YUVA''''' | |||
| | |||
| | |||
| colspan="2" | <tt>'''IsYUVA'''</tt> ''or'' <tt>'''!(IsYUV)'''</tt> | |||
| | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''Is444'''</tt> | |||
| YUVA444''xx'' | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''Is422'''</tt> | |||
| YUVA422''xx'' | |||
|- | |||
| <center> </center> | |||
| <center> </center> | |||
| <center> </center> | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| <tt>'''Is420'''</tt> | |||
| YUVA420''xx'' | |||
|} | |||
</div> | |||
<!-- ========================================================================================== --> | |||
===== Color Format Table ===== | |||
{|border=1 cellspacing=1 cellpadding=1 class="wikitable sortable" | {|border=1 cellspacing=1 cellpadding=1 class="wikitable sortable" | ||
! style="width:6em" | Group | ! style="width:6em" | Group | ||
| Line 507: | Line 775: | ||
| | | | ||
|} | |} | ||
===== Footnotes ===== | |||
{| border="0" | {| border="0" | ||
|- | |- | ||
| Line 516: | Line 784: | ||
|style="text-align:center;vertical-align:top"|{{AvsPluscon2}} | |style="text-align:center;vertical-align:top"|{{AvsPluscon2}} | ||
| Supported in both AviSynth & AviSynth+ | | Supported in both AviSynth & AviSynth+ | ||
|- | |||
| style="text-align:right;padding-right:0.5em" | <small>[''8bit'']</small> | |||
| 8-bit only | |||
|- | |||
| style="text-align:right;padding-right:0.5em" | <small>[''16bit'']</small> | |||
| 16-bit only | |||
|- | |||
| style="text-align:right;padding-right:0.5em" | ''xx'' | |||
| 8, 10, 12, 14, 16-bit integer; 16-bit floating point | |||
|- | |- | ||
|style="text-align:center"|{{BoldColor|black|140|¹}} | |style="text-align:center"|{{BoldColor|black|140|¹}} | ||
| Line 533: | Line 810: | ||
|} | |} | ||
===== See also | ===== See also ===== | ||
* [[Convert]] | * [[Convert]] | ||
* [[ConvertBits]] | * [[ConvertBits]] | ||
===== External Links | ===== External Links ===== | ||
* [http://msdn.microsoft.com/en-us/library/windows/desktop/bb970578(v=vs.85).aspx ''10-bit and 16-bit YUV Video Formats''] (microsoft.com) | * [http://msdn.microsoft.com/en-us/library/windows/desktop/bb970578(v=vs.85).aspx ''10-bit and 16-bit YUV Video Formats''] (microsoft.com) | ||
* [http://wiki.multimedia.cx/index.php/V210 ''V210''] (multimedia.cx) | * [http://wiki.multimedia.cx/index.php/V210 ''V210''] (multimedia.cx) | ||
| Line 546: | Line 823: | ||
[[Category:Avisynthplus]] | [[Category:Avisynthplus]] | ||
Revision as of 17:36, 28 October 2017
| AviSynth+ |
|---|
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 | ||||||||
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 | [A] | 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 | x | [+] | aka v210; VfW only § |
| 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 | ‡ | [+] |
Footnotes
| [A] | Supported in AviSynth 2.6.x |
| [+] | Supported in both AviSynth & AviSynth+ |
| [8bit] | 8-bit only |
| [16bit] | 16-bit only |
| xx | 8, 10, 12, 14, 16-bit integer; 16-bit floating point |
| ¹ | 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. |
| § | VfW only: this format is served to Video for Windows clients but not used within AviSynth v210 output requires OPT_Enable_V210 [+] |
| ‡ | Y-only can be considered both planar and interleaved; however, a Y-only clip's IsInterleaved property returns false. |
See also
External Links
- 10-bit and 16-bit YUV Video Formats (microsoft.com)
- V210 (multimedia.cx)
- YUV pixel formats (fourcc.org)
- RGB pixel formats (fourcc.org)