estdifは”Edge Slope Tracing Deinterlacing Filter”の略語。fieldmatch
フィルタを使ったような見た目になり、斜めの輪郭線が滑らかになるので見た目が良くなる。bwdif
フィルタよりもボケ気味なのでサイズは小さくなりやすい。テレシネではない60iソースのインターレース解除には向いてないように思うので、yadif
やbwdif
フィルタなどを使う。
ffmpeg でインターレース解除
前後フィールドを考慮して逆テレシネするfieldmatch
基本コマンド
ffmpeg input -vf estdif=mode=0:parity=-1:deint=0 -c:a copy output
ffplay input -vf estdif=0:-1:0
公式ドキュメント:FFmpeg Filters Documentation : estdif
オプション
cost関係のパラメータがfloatからintに変更された。
- mode[int]
モード指定 - 0, frame:2枚のフィールドから1枚のフレームを作る
- 1, field:1枚のフィールドから1枚のフレームを作る。いわゆる片フィールド補間でフレーム数が2倍になる。既定値
- parity[int]
フィールドタイプを指定する。自動で判断できなければtffと判断する - 0, tff:トップフィールドファースト
- 1, bff:ボトムフィールドファースト
- -1, auto:自動指定。既定値
- deint[int]
どのフレームを処理するか - 0, all:すべて。既定値
- 1, interlaced:インターレースフラグがあるのだけ
- rslope[int]
エッジ傾斜トレースの探索半径の指定
既定値:1
範囲:1から15まで - redge[int]
最適なエッジマッチの探索半径の指定
既定値:2
範囲:0から15まで - ecost[int]
エッジマッチのエッジコストの指定
既定値:2
範囲:0から50まで - mcost[int]
エッジマッチの中間コストの指定
既定値:1
範囲:0から50まで - dcost[int]
エッジマッチの距離コストの指定
既定値:1
範囲:0から50まで - interp[int]
使用する補間の指定 - 0, 2p:2点
- 1, 4p:4点。既定値
- 2, 6p:6点
画像サンプル
片フィールド補間した画像比較。