mediainfoでTFFと出るものをBFFと判定してくる。
そして途中でfield transittionがあるからといってfix_d2vを設定しておくと混合、というのは直してくれるけどなぜかフレーム数が違う認識になるという罠
・・・fix_d2vって昔からなんかバグってますよね
というわけでソースを眺め始めた今年のGW。
これが意味のあることなのかどうかは知らない・・・というかmediainfoの出力によってTFF/BFF切り替えればよいんじゃね?という気もする
ソースを見てもよくわからなかったので、とりあえず減少から追うことに。
d2vでなんかProgressiveフラグが立っているときはd2vのTFFフラグが誤判定していそうな気がする・・・
何作品かd2vの先頭フレームの認識を見たところ下のような感じ
D2Vflags | D2V_Prgr | D2V_IPB | D2V_TFF | 認識 | 正常な設定 |
48 | 0 | 3 | 0 | BFF | TFF |
50 | 0 | 3 | 2 | TFF | TFF |
113 | 1 | 3 | 1 | BFF | BFF |
というか、実際にBFFになるソースがあまり見つからなくて(1つしか見つけれてない)サンプルが足りない・・・
が、プログレッシブフラグが立ってない場合、実際はBFFにならないと考えてよいのだろうか・・・
(DGDecodeのソースを見る限り、TFFフラグはTSのフィールド情報をそのまま入れてそうな気がするのですが、なんでそれがGOPによって変わるのか理解できてません・・・)
とりあえず、d2vの先頭フレームがプログレッシブになっていたらちゃんとフィールドオーダーを拾って、それ以外はAssumeTFFにしてみるようにスクリプトで対応。
これでいいのかどうかわかりませんが・・・
201212追記
実はTFMでmode=1にしてるのがいかんのじゃね?と思い始めた・・・
0 件のコメント:
コメントを投稿