tour download join sign in
Search:
  esnips home  |   share esnips  |   Sign In  
(cache) Softwares eSnips Folder
Softwares
There are VFR related softwares built by me.
VFR maniac
 
Web Address: http://www.esnips.com/web/VFRmaniac-Softwares
Updated 13 minutes ago
5 Comments
Visitors: 1865
Tags: VFR , MP4 , tc2mp4 , MP4Box , x264 , patch , diff
 
Files
Auto slideshow |   View:   Sort by: File | User | Date
 
x264_EXPERIMENTAL_rev995-release1.rar
三日間、自宅不在の間にrevが8つも上がってるし... これといって新規パッチはなし。 気になるのはroozhou氏のdshow2rawか。(POPGO BBSもしくはDoom9's Forumの該当スレ参照のこと) MP4の出力に失敗するとか言ってるけど、もしかしてDTSだかCTSだかの重複でクラッシュしてるんじゃないよね?
By VFR maniac 3 hours 51 minutes ago
Size: 3MB
6 View(s)
Tags: x264 ,patch ,diff ,gui
Get Widgets | Share File | + Add to Quicklist
 
x264_EXPERIMENTAL_rev987-release3.rar
x264_thread_priority.02.diff: Added.   x264_thread_pool.BugMaster.diff: Updated.   x264_fix_extended_zones.diff: Fixed wrong initialization with memset.
By VFR maniac 4 days ago
Size: 3MB
32 View(s)
Tags: x264 ,patch ,diff ,gui
Get Widgets | Share File | + Add to Quicklist
 
x264_EXPERIMENTAL_rev979-release2.rar
Fixed x264gui.auo fails parsing b-adapt. x264gui.auoでb-adaptがパースされない問題を修正。 ごめんなさい。parse.hを弄ってた時に誤ってb-adaptを削除していたみたいです。 CLI Modeにて動作確認をしました。大丈夫なはずです。 報告してくださった方に感謝。
By VFR maniac 11 days ago
Size: 3MB
28 View(s)
Tags: x264 ,patch ,diff ,gui
Get Widgets | Share File | + Add to Quicklist
 
x264_EXPERIMENTAL_rev967-release1.rar
Removed x264_progress.diff and x264_rev963_fix.diff.   Modified x264_new_bframes_decision.02.diff.   x264_fne.exe is patched x264_faster_nal_encode.diff. rev963で不具合を起こしたコードを改良してパッチ化。x264_fne.exeはそれをあててある。 変数(i_count)の代入およびその分岐を消したから速くなっていると思いたいけど、確証がないし、誤差レベルなので微妙。 実行ファイルのサイズは減っているが... まぁ、今回はお試し用ということで, あててあるものとないものを用意したわけです。
By VFR maniac 19 days ago
Size: 3.9MB
56 View(s)
Tags: x264 ,patch ,diff ,gui
Get Widgets | Share File | + Add to Quicklist
 
x264_EXPERIMENTAL_rev957-release1.rar
Removed x264_rev951_fix.diff.   Updated GUI source.   Modified x264_progress.diff. 非公開経由せずにアップロードできるようになった。 もしかして非公開経由すると公開フォルダでも非公開になる仕様に変わってDLできなくなった、ということなのかしらん。 とりあえず今度こそDL可能なことを確認。
By VFR maniac 25 days ago
Size: 3MB
33 View(s)
Tags: x264 ,patch ,diff ,gui
Get Widgets | Share File | + Add to Quicklist
 
tc2mp4Mod20080617.rar
A tool for making VFR MP4 with MP4Box.
By VFR maniac on Jun. 16 2008
Size: 972.8kb
327 View(s)
Tags: MP4 ,VFR ,tc2mp4 ,MP4Box
Get Widgets | Share File | + Add to Quicklist
 
TCGenedit1.3.8.rar
I create this application for me or people who do manual IVTC with TMPGEnc. Therefore, it is not necessary for many peolpe to use it. tprファイルからpulldownパターンを解析してスクリプト生成->timecode出力。 helpには載せてないけど, -tpr2avsで出力フレームが連続したところは別クリップとして結合するようにavsを出力。 Clip = Clip + Prog.Trim(,) Clip = Clip + Deint.Trim(,) みたいな。 Deintはあらかじめdeinterlacingしたクリップにしておく。 例えば Deint = Src.nnedi(field=3, dh=false, threads=0) 正直、手動で60fpsレベルで編集するような逸般向けなので、需要は皆無だと考えているが。 -tpr2tcsでは通常-no-seek 48 36しておく。
By VFR maniac on Jun. 26 2008
Size: 78.5kb
63 View(s)
Tags: tpr ,VFR ,manual ,IVTC
Get Widgets | Share File | + Add to Quicklist
 
tc2asc_v2.0.rar
A tool for converting timecode format v2 file to AVIScript file. AVIReadを使ってAVI2.0形式の擬似VFRファイルを作成するための補助ツール。 つーか、これを必要とするヒトの気が知れん。 ちなみにavitmuxもtc2cfrもAVI2.0には対応していません! 使い方は雷鸣(LeiMing)さんのサイトを参照のこと。 http://leiming.fre3.com/2007/07/19/dedup-works-with-avi-container-guide/ (元々LeiMingさんがAVIReadの仕様知らずに地雷exe作ったために、私が急遽作成したもの) AVIReadのページ http://sswroom.no-ip.org:5080/compprog/aviread/index.html
By VFR maniac on May. 28 2008
Size: 67.6kb
Source: openDML, VFR
124 View(s)
Get Widgets | Share File | + Add to Quicklist
 
Comments
Add Comment: Video Audio Text
To add comments, you will need to sign in to your eSnips account.
VFR maniac writes:
x264_faster_nal_encode.diff: Fater NAL unit encoding
This patch brings small speedup at very high bitrates and reduces executable's filesize.
 
 
diff --git a/common/common.c b/common/common.c
index 96b6f2b..40c1b9a 100644
--- a/common/common.c
+++ b/common/common.c
@@ -641,7 +641,6 @@ int x264_nal_encode( void *p_data, int *pi_data, int b_annexeb, x264_nal_t *nal
     uint8_t *dst = p_data;
     uint8_t *src = nal->p_payload;
     uint8_t *end = &nal->p_payload[nal->i_payload];
-    int i_count = 0;
 
     /* FIXME this code doesn't check overflow */
 
@@ -657,17 +656,15 @@ int x264_nal_encode( void *p_data, int *pi_data, int b_annexeb, x264_nal_t *nal
     /* nal header */
     *dst++ = ( 0x00 << 7 ) | ( nal->i_ref_idc << 5 ) | nal->i_type;
 
+    if( src < end ) *dst++ = *src++;
+    if( src < end ) *dst++ = *src++;
     while( src < end )
     {
-        if( i_count == 2 && *src <= 0x03 )
+        if( src[0] <= 0x03 && !src[-2] && !src[-1] )
         {
             *dst++ = 0x03;
-            i_count = 0;
+            if( src <= end ) *dst++ = *src++;
         }
-        if( *src == 0 )
-            i_count++;
-        else
-            i_count = 0;
         *dst++ = *src++;
     }
     *pi_data = dst - (uint8_t*)p_data;
 
Added 19 days ago
VFR maniac writes:
AviUtlのインターレース維持リサイズプラグインをAvisynthで使う関数。

一日だけ公開してたセキレイOPのサンプルのavsに書いてたものと同一。
リサイズ前のがバックに残っちゃうので、その部分をクロップしないといけないわけで、
それを行えば、AviUtlと同じ感覚になる。
但しTSの場合、DGIndexのVFAPI経由とDGDecodeよるものとでは1088と1080の違いがあるので注意。
VFAPI経由したならば、入力終了には無効な8を常時指定すべき。
 
function AU_CropIntResize( clip clip, int dstHeight,                           \
                                   int "input_pre_crop",  int  "input_post_crop", \
                                   int "output_pre_crop", int  "output_post_crop" )
{
  input_pre_crop   = default( input_pre_crop,   0 )
  input_post_crop  = default( input_post_crop,  0 )
  output_pre_crop  = default( output_pre_crop,  0 )
  output_post_crop = default( output_post_crop, 0 )

  orig_height = clip.Height()

  clip = clip.ConvertYUY2ToAviUtlYC()
  clip = clip.AU_linear_resize( dstHeight, input_pre_crop, input_post_crop, output_pre_crop, output_post_crop, true, false )
  clip = clip.ConvertAviUtlYCToYUY2()

  clip = clip.Crop( 0, 0, -0, dstHeight - orig_height )

  return clip
}
 
ここでは内部で色空間をプラグインが利用できるように変換しているが、
他にもAviUtlプラグインを利用するものがあって連続使用するならば、
削って自分で適切に変換するタイミングを指定した方がよい。
Added on Jul. 9 2008
VFR maniac writes:
続・durationの話。
 
GPACにおいてdurationはDTSで 与えられるので、
一定の間隔でDTSが与えられるCFRではBフレームの配置がどんなであれ常に同じものが得られる。
MP4コンテナにはフレームレートの概念がないのでいくらかのソフトウェアはそのfpsを
fps = (double)number_of_frames / (double)duration
で与えるだろう。
ここでnumber_of_framesは総フレーム数, durationはMP4規格でいうu64 durationをtimescaleで割ったものだ。
timescale = 24000
DTS delta = 1001
number_of_frames = 5
ならば各フレームのDTSはデータの配置順に
0
1001
2002
3003
4004

となり、
u64 duration = 2*4004 -3003 = 5005
よって
duration = 5005/24000 = 0.20854167
故に
fps = 5 / 0.20854167 = 23.976024
DTS deltaが一定なのでフレーム数に関係なく
ソフトウェアが勝手に与えるフレームレートは近似的に一定である。
 
Bフレーム起因のdecoding delayを排除する場合はどうだろう。
参照Bフレームにより2フレーム分の遅延が本来入るものとすると
0
250
500
1001
2002
となり、
u64 duration = 2*2002 - 1001 = 3003
となるから、当然fpsも変わる。
fps = 5 / (3003/24000) = 39.960040
例に挙げたフレーム数が少ないので、このように23.76024から大きく外れてしまった。
なんにせよ、ソフトウェアが与えるフレームレートは意図したものにならないのだ。 

Added on Jun. 18 2008
VFR maniac writes:
GPACはMPEG4 Part12(ISO Media)に基づいたLGPLのプロジェクトである。
MP4Boxはそのプロジェクトの中の一つである。 
さて、ここでGPACのduration(総再生時間)計算の仕様というものを解説しましょうか。
 
MP4コンテナ内のあるストリーム(ここでは映像)のdurationは
最後のDTS: last_dts, その直前のDTS: pre_dts
とすれば
duration = 2*last_dts - pre_dts
で与えられる。
 
DTSはデコード時刻であり、映像の表示時刻(PTS)とは必ずしも一致しない。
BフレームがなければDTS=PTSであるが、存在するのであればDTS≠PTSである。
MP4ではPTSという用語は登場せず、代わりにCTS(合成時刻)と呼ばれるものが存在する。
CTS -> PTSと思ってもらってかまわない。 
 
GPACの与えるdurationは少し問題がある。
VFR化によるDTSとDTSの間隔が一定でなくなった場合、不適ともいえるdurationが返される場合があるからである。
(不正とは言えないのは、最後のCTSからどれくらいの時間がそのサンプルの表示時間と考えるかは VFRでは無意味だからだ)
何を最適とするかは個人の主観だろうが、目的とするdurationを与えるための手段は知っておいて損はない。
 
duration = 2*last_dts - pre_dtsより
pre_dtsを固定して(逐次処理ではこうした方が都合がよい), last_dtsをdurationの関数とみなす。
従って、目的のdurationをtarget_durationとすると
last_dts = (uint64_t)( (double)(target_duration + pre_dts)/2 + 0.5 ) がduration = target_durationとなるlast_dtsである。
Added on Jun. 7 2008
VFR maniac writes:
tc2mp4Modのtc2mp4と比較しての実装について。 
1: v1におけるL.C.Mの実装なし.
2: 極端に低いフレームレートを含むv1のtimecodeの正常取得.
3: timescale指定. (デフォルトはv1, v2ともに120000固定).
4: Bフレームに起因するdecoding delayの排除の指定.
5: decoding delayを残してのb-pyramid使用時の第一フレームのCTSバグの除去.
6: 先頭の数フレームによる timebaseの倍数制限. 及びそれに対するtimescaleの補正.
7: durationが最終フレームのCTSに各フレームの表示時間の最小値を足したもの.
8: -OによるMP4Boxでmuxする際の追加オプション指定。
こんな感じです。 
GPACのライブラリを利用すれば、-nオプション使わなくても映像トラック ピンポイントでtimecodeを適用できるんですけどね。
LGPLを喰らい、きったないコード見せたくないので避けてる次第です。
付属のMP4BoxはuenoB氏によるedts挿入のdelay=ctの実装と, Haali Media Splitterがaspect情報埋め込んだcmp in MP4をスプリットできないのを避けるために、指定していないのに書き込むコードを端折ってます。
aspect情報は指定すればちゃんと書き込まれるので、安心してください。
Added on May. 21 2008
 
Things you can do
Bookmark this Folder
Create a Widget
RSS
Add to Favorites
Report Abuse
 
 
 
Related folders
mp4
By
clericpeston1731
VFR
By
dwfchu
mp4
By
reden2978
mp4
By
vkey
MP4
By
whu
 
Copyright © 2006-2008 eSnips Ltd.