スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

テキスト部分だけivtc_txt60mcで処理

function txt60mcHybrid(clip c,int frame_ref,bool "draft",int "field",int "txt_area",bool "top",bool "show"){
h=c.height()
draft=default(draft,false)
field=default(field,0)
show=default(show,false)
field=(field>1)?1:(field<0)?0:field
txt_area=default(txt_area,(h==1080)?280:h/4)
txt_area=(txt_area%2==0)?abs(txt_area):abs(txt_area-1)
top=default(top,false)
crop_c1=(top==false)?0:txt_area
crop_c2=(top==false)?h-txt_area:0
num=frame_ref%5
offset1=select(field,select(num,0,0,0,1,1),select(num,1,0,0,2,1))
offset2=select(field,select(num,3,2,2,4,3),select(num,3,3,2,4,4))
c1=c.crop(0,crop_c1,0,h-txt_area).DoubleWeave().Pulldown(offset1,offset2)
c_e=c1.Trim(c1.framecount-1,-1).SeparateFields().FreezeFrame(1,1,0).weave()
c1=(num==3)?c1.Trim(0,c1.framecount-2)++c_e:c1

c2=c.crop(0,crop_c2,0,txt_area).ivtc_txt60mc(frame_ref,draft=draft)
c2=(show==false)?c2:c2.coloryuv(gain_v=32)
return (top==false)?StackVertical(c1,c2):StackVertical(c2,c1)
}
/*
<利点>
・ivtc_txt60mcで処理する面積を小さくすることで大幅に高速化
・bobフレームの面積を減らすことで画質がUP(するかも)
<不安な点>
・境目が不自然にならないかどうか。テストした限りでは全然問題ない(bobにはtdeintを使用)
<備考>
frame_refごとにPulldownで選択できるoffsetの組み合わせは2種類あるが、
基本的にはどちらを選んでもいい、はず(field=0/1で選択可)。
ただしframe_ref=2だけ(0,2)/(2,4)で選んでる絵が違うので(0,2)しか選べない((2,4)では絵がズレる)。
クロップ高はログを作った時と同じ設定にしとけば間違いが起きないだろう。
<補足>
YV12のインタレースクリップのクロップ後の高さは4の倍数推奨
<修正>
frame_ref=3の場合だけ末端フレームのフィールドが足りないので赤字部分を追記した。
他もベースクリップが5の倍数フレーム数である事を前提にしている。
*/
スポンサーサイト

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
プロフィール

putin

Author:putin
ロゴ関係ソース

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
メールフォーム

名前:
メール:
件名:
本文:

リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。