Created
January 8, 2014 18:18
-
-
Save elvl/8321597 to your computer and use it in GitHub Desktop.
Avisynth めも
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ConvertToYV12(matrix="PC.601") | |
AvsP での見た目は暗くなり 37 だが、内部的には RGB と同じ 48 で保持されている | |
37 | |
|<----- Rec ------>| | |
|<------- PC --------->| | |
48 | |
(表示上 TV スケールとみなして伸長されてる?) | |
coring = false で内部数値にマッチする | |
PC.601 で RGB に戻すと大体元通りになる(素通し) | |
PC601 で YUV にしたのを Rec601 で RGB に戻してしまうと暗くなり 37 (-11) | |
37 | |
|<----- Rec ------>| | |
|<------- PC --------->| | |
37 | |
---------------------------------------------------------------------------------- | |
ConvertToYV12(matrix="Rec601") | |
見た目は RGB と同じだが、内部的には 57 で保持されている | |
57 | |
|<----- Rec ------>| | |
|<------- PC --------->| | |
48 | |
coring = false では内部数値にマッチしない | |
Rec601 で RGB に戻すと大体元通りになる(伸長) | |
Rec601 で YUV にしたのを PC601 で RGB に戻してしまうと明るくなり 57 (+9) | |
59 | |
|<----- Rec ------>| | |
|<------- PC --------->| | |
57 | |
---------------------------------------------------------------------------------- | |
YUV 間の変換 | |
問題ありそうなのは PC スケールの YUV を作りたい場合 | |
RGB → YUV | |
常に PC を指定でおk | |
YUV(PC) → YUV(PC) | |
常に PC を指定でおk | |
YUV(TV) → YUV(PC) | |
もとが YUV のときの matrix オプションはもとのスケールをどちらとみなすかっぽいので | |
これはいったいどうすればいいのかわからない | |
そもそもできるのか??? | |
rgb.ConvertToYV12(matrix="Rec601").ConvertToYV24(matrix="PC.601") してみた | |
→ TV スケールになった、つまり何も行われてない | |
---------------------------------------------------------------------------------- | |
まとめ | |
default matrix=Rec matrix=PC | |
RGB -> YUV(TV) 圧縮○ 圧縮○ そのまま× | |
RGB -> YUV(PC) 圧縮× 圧縮× そのまま○ | |
YUV(TV) -> RGB 伸長○ 伸長○ そのまま× | |
YUV(PC) -> RGB 伸長× 伸長× そのまま○ | |
YUV(TV) -> YUV(TV) --- なにもしない --- | |
YUV(TV) -> YUV(PC) --- なにもしない --- ← こまる | |
YUV(PC) -> YUV(PC) --- なにもしない --- ← 結果的におk | |
YUV(PC) -> YUV(TV) --- なにもしない --- ← こまる | |
matrix オプションは元や変換先のスケールを指示するのではなくて | |
YUV <-> RGB の変換をしなければならなときに、Rec=圧縮伸長する PC=素通し | |
自動制御みたいなもんはない | |
YUV(TV) -> YUV(PC) や YUV(PC) -> YUV(TV) するには | |
ColorYUV(levels="TV->PC") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment