Avisynthplus color formats
From Avisynth wiki
(Difference between revisions)
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 16:36, 28 October 2017
AviSynth+ |
---|
Contents |
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)