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)