Avisynthplus color formats
From Avisynth wiki
(Difference between revisions)
Raffriff42 (Talk | contribs) m (correction) |
(→See also: Add see also) |
||
(13 intermediate revisions by 2 users not shown) | |||
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" > | ||
− | '''''All | + | |
+ | __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[[#Footnotes|''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[[#Footnotes|''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[[#Footnotes|''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 | ||
! style="width:8em" | PixelType | ! style="width:8em" | PixelType | ||
− | ! style="width:6em" | Bit depth {{BoldColor| | + | ! style="width:6em" | [[#Footnotes|FourCC{{BoldColor|black|140|¹}}]] |
− | ! [[Interleaved]] | + | ! style="width:6em" | [[#Footnotes|Bit depth{{BoldColor|black|140|²}}]] |
− | ! | + | ! [[#Footnotes|Interleaved{{BoldColor|black|140|³}}]] |
+ | ! style="width:4em" | Version | ||
+ | ! style="width:12em" class="unsortable" | Remarks | ||
|- | |- | ||
| RGB | | RGB | ||
| RGB24 | | RGB24 | ||
+ | | style="padding-left:1em" | <code>BGR[24]</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| style="text-align:center" | x | | style="text-align:center" | x | ||
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| | | | ||
|- | |- | ||
| RGB | | RGB | ||
| RGB48 | | RGB48 | ||
+ | | style="padding-left:1em" | <code>BGR0</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| style="text-align:center" | x | | style="text-align:center" | x | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGB32 | | RGB32 | ||
+ | | style="padding-left:1em" | <code>BGRA</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| style="text-align:center" | x | | style="text-align:center" | x | ||
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGB64 | | RGB64 | ||
+ | | style="padding-left:1em" | <code>BRA[64]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| style="text-align:center" | x | | style="text-align:center" | x | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGB | | RGB | ||
| RGBP8 | | RGBP8 | ||
+ | | style="padding-left:1em" | <code>G3[0][8]</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| ''aka RGBP'' | | ''aka RGBP'' | ||
|- | |- | ||
| RGB | | RGB | ||
| RGBP10 | | RGBP10 | ||
+ | | style="padding-left:1em" | <code>G3[0][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGB | | RGB | ||
| RGBP12 | | RGBP12 | ||
+ | | style="padding-left:1em" | <code>G3[0][12]</code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGB | | RGB | ||
| RGBP14 | | RGBP14 | ||
+ | | style="padding-left:1em" | <code>G3[0][14]</code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGB | | RGB | ||
| RGBP16 | | RGBP16 | ||
+ | | style="padding-left:1em" | <code>G3[0][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGB | | RGB | ||
| RGBPS | | RGBPS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGBAP8 | | RGBAP8 | ||
+ | | style="padding-left:1em" | <code>G4[0][8]</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| ''aka RGBAP'' | | ''aka RGBAP'' | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGBAP10 | | RGBAP10 | ||
+ | | style="padding-left:1em" | <code>G4[0][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGBAP12 | | RGBAP12 | ||
+ | | style="padding-left:1em" | <code>G4[0][12]</code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGBAP14 | | RGBAP14 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGBAP16 | | RGBAP16 | ||
+ | | style="padding-left:1em" | <code>G4[0][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| RGBA | | RGBA | ||
| RGBAPS | | RGBAPS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV444 | | YUV444 | ||
| YUV444P8 | | YUV444P8 | ||
+ | | style="padding-left:1em" | <code>444P</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| ''aka YUV444, YV24'' | | ''aka YUV444, YV24'' | ||
|- | |- | ||
| YUV444 | | YUV444 | ||
| YUV444P10 | | YUV444P10 | ||
+ | | style="padding-left:1em" | <code>Y3[0][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV444 | | YUV444 | ||
| YUV444P12 | | YUV444P12 | ||
+ | | style="padding-left:1em" | <code>Y3[0][12]</code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV444 | | YUV444 | ||
| YUV444P14 | | YUV444P14 | ||
+ | | style="padding-left:1em" | <code>Y3[0][14]</code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV444 | | YUV444 | ||
| YUV444P16 | | YUV444P16 | ||
+ | | style="padding-left:1em" | <code>Y3[0][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV444 | | YUV444 | ||
| YUV444PS | | YUV444PS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA444 | | YUVA444 | ||
| YUVA444P8 | | YUVA444P8 | ||
+ | | style="padding-left:1em" | <code>Y4[0][8]</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| ''aka YUVA444'' | | ''aka YUVA444'' | ||
|- | |- | ||
| YUVA444 | | YUVA444 | ||
| YUVA444P10 | | YUVA444P10 | ||
+ | | style="padding-left:1em" | <code>Y4[0][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA444 | | YUVA444 | ||
| YUVA444P12 | | YUVA444P12 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA444 | | YUVA444 | ||
| YUVA444P14 | | YUVA444P14 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA444 | | YUVA444 | ||
| YUVA444P16 | | YUVA444P16 | ||
+ | | style="padding-left:1em" | <code>Y4[0][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA444 | | YUVA444 | ||
| YUVA444PS | | YUVA444PS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUY2 | | YUY2 | ||
+ | | style="padding-left:1em" | <code>YUY2</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| style="text-align:center" | x | | style="text-align:center" | x | ||
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| | | | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUV422P8 | | YUV422P8 | ||
+ | | style="padding-left:1em" | <code>Y42B</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| ''aka YUV422, YV16'' | | ''aka YUV422, YV16'' | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUV422P10 | | YUV422P10 | ||
+ | | 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" | {{AvsPluscon2}} |
+ | | ''aka P210'' <br><small>special-case: V210 output available; see footnotes</small> [[#Footnotes|{{BoldColor|black|96|§}}]] | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUV422P12 | | YUV422P12 | ||
+ | | style="padding-left:1em" | <code>Y3[10][12]</code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUV422P14 | | YUV422P14 | ||
+ | | style="padding-left:1em" | <code>Y3[10][14]</code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUV422P16 | | YUV422P16 | ||
+ | | style="padding-left:1em" | <code>Y3[10][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
− | | | + | | style="text-align:center" | {{AvsPluscon2}} |
+ | | ''aka P216'' | ||
|- | |- | ||
| YUV422 | | YUV422 | ||
| YUV422PS | | YUV422PS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA422 | | YUVA422 | ||
| YUVA422P8 | | YUVA422P8 | ||
+ | | style="padding-left:1em" | <code>Y4[10][8]</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| ''aka YUVA422'' | | ''aka YUVA422'' | ||
|- | |- | ||
| YUVA422 | | YUVA422 | ||
| YUVA422P10 | | YUVA422P10 | ||
+ | | style="padding-left:1em" | <code>Y4[10][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA422 | | YUVA422 | ||
| YUVA422P12 | | YUVA422P12 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA422 | | YUVA422 | ||
| YUVA422P14 | | YUVA422P14 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA422 | | YUVA422 | ||
| YUVA422P16 | | YUVA422P16 | ||
+ | | style="padding-left:1em" | <code>Y4[10][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA422 | | YUVA422 | ||
| YUVA422PS | | YUVA422PS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YV12 | | YV12 | ||
+ | | style="padding-left:1em" | <code>I420</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| | | | ||
− | | | + | | style="text-align:center" | {{AvsIcon2}} |
+ | | ''aka YUV420, YV12'' | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YUV420P8 | | YUV420P8 | ||
+ | | style="padding-left:1em" | <code>I420</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| ''aka YUV420, YV12'' | | ''aka YUV420, YV12'' | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YUV420P10 | | YUV420P10 | ||
+ | | style="padding-left:1em" | <code>Y3[11][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YUV420P12 | | YUV420P12 | ||
+ | | style="padding-left:1em" | <code>Y3[11][12]</code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YUV420P14 | | YUV420P14 | ||
+ | | style="padding-left:1em" | <code>Y3[11][14]</code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YUV420P16 | | YUV420P16 | ||
+ | | style="padding-left:1em" | <code>Y3[11][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV420 | | YUV420 | ||
| YUV420PS | | YUV420PS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA420 | | YUVA420 | ||
| YUVA420P8 | | YUVA420P8 | ||
+ | | style="padding-left:1em" | <code>Y4[11][8]</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| ''aka YUVA420'' | | ''aka YUVA420'' | ||
|- | |- | ||
| YUVA420 | | YUVA420 | ||
| YUVA420P10 | | YUVA420P10 | ||
+ | | style="padding-left:1em" | <code>Y4[11][10]</code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA420 | | YUVA420 | ||
| YUVA420P12 | | YUVA420P12 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA420 | | YUVA420 | ||
| YUVA420P14 | | YUVA420P14 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUVA420 | | YUVA420 | ||
| YUVA420P16 | | YUVA420P16 | ||
+ | | style="padding-left:1em" | <code>Y4[11][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
− | | | + | | YUVA420 |
| YUVA420PS | | YUVA420PS | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| YUV411 | | YUV411 | ||
| YUV411P8 | | YUV411P8 | ||
+ | | style="padding-left:1em" | <code>Y41B</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | | + | | |
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| ''aka YUV411, YV411'' | | ''aka YUV411, YV411'' | ||
|- | |- | ||
| YUV410 | | YUV410 | ||
| YUV9 | | YUV9 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
| | | | ||
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| ''read only?'' | | ''read only?'' | ||
|- | |- | ||
| Y only | | Y only | ||
| Y8 | | Y8 | ||
+ | | style="padding-left:1em" | <code>Y800</code> | ||
| style="text-align:right;padding-right:3em" | 8 | | style="text-align:right;padding-right:3em" | 8 | ||
− | | style="text-align:center" | | + | | style="text-align:center" | {{BoldColor|black|100|‡}} |
+ | | style="text-align:center" | {{AvsIcon2}} | ||
| | | | ||
|- | |- | ||
| Y only | | Y only | ||
| Y10 | | Y10 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 10 | | style="text-align:right;padding-right:3em" | 10 | ||
− | | style="text-align:center" | | + | | style="text-align:center" | {{BoldColor|black|100|‡}} |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| Y only | | Y only | ||
| Y12 | | Y12 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 12 | | style="text-align:right;padding-right:3em" | 12 | ||
− | | style="text-align:center" | | + | | style="text-align:center" | {{BoldColor|black|100|‡}} |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| Y only | | Y only | ||
| Y14 | | Y14 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 14 | | style="text-align:right;padding-right:3em" | 14 | ||
− | | style="text-align:center" | | + | | style="text-align:center" | {{BoldColor|black|100|‡}} |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| Y only | | Y only | ||
| Y16 | | Y16 | ||
+ | | style="padding-left:1em" | <code>Y1[0][16]</code> | ||
| style="text-align:right;padding-right:3em" | 16 | | style="text-align:right;padding-right:3em" | 16 | ||
− | | style="text-align:center" | | + | | style="text-align:center" | {{BoldColor|black|100|‡}} |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|- | |- | ||
| Y only | | Y only | ||
| Y32 | | Y32 | ||
+ | | style="padding-left:1em" | <code></code> | ||
| style="text-align:right;padding-right:3em" | 32 | | style="text-align:right;padding-right:3em" | 32 | ||
− | | style="text-align:center" | | + | | style="text-align:center" | {{BoldColor|black|100|‡}} |
+ | | style="text-align:center" | {{AvsPluscon2}} | ||
| | | | ||
|} | |} | ||
− | {{ | + | |
+ | ===== Footnotes ===== | ||
+ | {| border="0" | ||
+ | |- | ||
+ | |style="text-align:center;vertical-align:top;width:3em"|{{AvsIcon2}} | ||
+ | | Supported in both AviSynth+ and AviSynth 2.6.x | ||
+ | |- | ||
+ | |style="text-align:center;vertical-align:top"|{{AvsPluscon2}} | ||
+ | | Supported in AviSynth+ only | ||
+ | |- | ||
+ | | 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:center" | ''xx'' | ||
+ | | 8, 10, 12, 14, 16 and 32 bits (32bit is floating-point; all others are integer) | ||
+ | |- | ||
+ | |style="text-align:center"|{{BoldColor|black|140|¹}} | ||
+ | |[[FourCC]]: 4 characters used to identify media data formats.<br>Data shown is from [https://www.ffmpeg.org/ ffmpeg]. Left blank if unknown at this time (2017-10-16). | ||
+ | |- | ||
+ | |style="text-align:center"|{{BoldColor|black|140|²}} | ||
+ | |32bit is floating-point; all others are integer. | ||
+ | |- | ||
+ | |style="text-align:center"|{{BoldColor|black|140|³}} | ||
+ | |[[Interleaved]] if marked; else [[Planar]]. | ||
+ | |- | ||
+ | |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.'' | ||
+ | |- | ||
+ | |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}} | ||
+ | |} | ||
+ | |||
+ | ===== See also ===== | ||
+ | * [[Convert]] | ||
+ | * [[ConvertBits]] | ||
+ | * [[Internal_functions#Other_helper_functions|BuildPixelType]] | ||
+ | * [[Internal_functions#Other_helper_functions|ColorSpaceNameToPixelType]] | ||
+ | |||
+ | ===== 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://wiki.multimedia.cx/index.php/V210 ''V210''] (multimedia.cx) | ||
+ | * [http://www.fourcc.org/yuv.php ''YUV pixel formats''] (fourcc.org) | ||
+ | * [http://www.fourcc.org/rgb.php ''RGB pixel formats''] (fourcc.org) | ||
</div> | </div> | ||
</div> | </div> | ||
[[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
- 10-bit and 16-bit YUV Video Formats (microsoft.com)
- V210 (multimedia.cx)
- YUV pixel formats (fourcc.org)
- RGB pixel formats (fourcc.org)