-----------------------------------------------------------------------------
AviUtl/AviSynth/VapourSynth plug-in L-SMASH Works r694
-----------------------------------------------------------------------------

AviSynth用プラグイン(LSMASHSource.dll)については、AviSynthディレクトリにある
Readme.txtをご覧ください。



【概要】
当プラグインは、muken氏が L-SMASH Works 開発の一環として実装を進めている OSS であり、
MP4/MOV/QT/3gp/3g2/F4V/M4A 等の L-SMASH 対応コンテナに格納された映像・音声ストリームおよび
libav / ffmpeg ライブラリ対応のコンテナフォーマットを読み込むためのものです。
コーデックのデコードは ffmpeg や Libav が受け持ちます（当プラグインは ffmpeg を使用）。



【ファイル】
	lwcolor.auc					# AviUtl L-SMASH Works LW ColorSpace(LW48)プラグイン
	lwdumper.auf				# AviUtl L-SMASH Dumper プラグイン
	lwinput.aui					# AviUtl L-SMASH Works File Reader プラグイン
	lwmuxer.auf					# AviUtl L-SMASH Works Muxer プラグイン
	AviSynth/LSMASHSource.dll		# AviSynth LSMASHSourceプラグイン
	AviSynth/Readme.txt				# AviSynth LSMASHSourceプラグインについてのテキスト
	LICENSE/						# 各ライセンスのテキスト
	readme/							# 公式readmeテキスト。各設定項目について更に詳細な解説が書かれています
	VapourSynth/vslsmashsource.dll	# VapourSynth LSMASHSourceプラグイン
	src/							# 各ライブラリのソースコード
	Readme.txt					# 当テキスト



【AviUtl用プラグインの簡易説明】

・L-SMASH Works File Reader
	L-SMASH および Libav / AviSynth ライブラリを用いて
	MP4(mov等)コンテナを AviUtl へ読み込む入力プラグインです。
	映像をYUY2/YC48、音声をPCMで読み込みます。

・Libav-SMASH Muxer
	Libav+L-SMASH で読み込んだ映像・音声ストリームを同じコンテナ
	フォーマットで出力します。
	出力データは入力ソースの再圧縮でなくストリームコピーとなります。

・L-SMASH Dumper
	MP4等のBOX情報をダンプし、テキストファイルとして出力します。
	また、Timecode v2 も出力可能。

・LW ColorSpace
	YUVそれぞれ16bit長のデータを扱うことを前提とした色変換プラグイン。
	
	AviUtlのYC48はYUV各16bit長のデータのうち約12bitをリミットレンジ(8bit長のデータ的に言えば別名TVスケール)に
	マップして扱う事を前提としていますが、LW ColorSpace においては16bit長をめいっぱい扱うため、
	従来からある他のプラグインフィルタが確実に処理できる保証は無いことに注意してください。
	(リミットレンジとしてはY4096〜60160、U,V4096〜61440(無色32768)という幅になります)
	
	AviUtl内部色空間・ピクセルフォーマットである「YC48」と区別するため、
	LW ColorSpace は「LW48」として定義されています。
	基本的には外部⇔YC48のデータコピーであるため、カラースペースもYC48と同様に BT.601 ベースとなります。



【動作互換情報】
	AviUtl 0.99i7 以降で動作します。
	0.99i7 以前では、音声を正常に処理できない可能性を確認しております。



【対応コンテナフォーマット】
	対応コンテナおよび対応コーデックは下記アドレスをご覧下さい。
	現在はVP9も実験的に読み込めます。

	http://pop.4-bit.jp/?p=5060#lsmash_format



【導入】
	lwmuxer.auf、lwcolor.auc、lwdumper.auf、lwinput.aui 各ファイルを
	AviUtl のフォルダ、または AviUtl 直下の Plugins フォルダにコピーしてください。



【導入の確認】
・L-SMASH Works File Reader の確認
	AviUtl を起動し、[その他]→[入力プラグイン情報]を確認し、
	Libav-SMASH File Reader が表示されていれば導入完了です。

・Libav-SMASH Muxer の確認
	AviUtl を起動し、[その他]→[プラグインフィルタ情報]を確認し、
	Libav-SMASH Muxer が表示されていれば導入完了です。

・L-SMASH Dumper の確認
	AviUtl を起動し、[その他]→[プラグインフィルタ情報]を確認し、
	L-SMASH Dumper が表示されていれば導入完了です。



【使い方】
・Libav-SMASH File Reader
	[ファイル]→[ファイルを開く] 
	または AviUtl のウィンドウにプラグイン対応動画、音声ファイルをドラッグ＆ドロップすると読み込めます。

	ただし、拡張編集では静止画を読み込む場合であっても、
	「メディアオブジェクトの追加」→「動画ファイル」として参照ファイルで読み込んでください。
	Allfile表示で対応画像が読み込めます（もちろん動画も可）。

	当プラグインは、メディアタイプに関係なく動画を読み込むプラグインとして動作するための仕様です。

・Libav-SMASH Muxer
	[ファイル]→[エクスポート]→[Libav SMASH Exporter]を選択すると
	ストリームを任意のコンテナフォーマットでファイル保存できます。

・L-SMASH Dumper
	[ファイル]→[エクスポート]→[L-SMASH Dumper]を選択し、BOX情報の
	ダンプはファイルの種類で「dumper」、タイムコードの出力は「timecode」
	を選択してください。

・LW ColorSpace
	[設定]→[色変換の設定]で「LW ColorSpace」を選択します。
	ツールウィンドウを表示してから[入力][出力]で選ぶこともできます。



【設定】
ファイル→環境設定→入力プラグインの設定→L-SMASH Works File Reader で
プラグインの設定ができます。


・Libav-SMASH Muxer と L-SMASH Dumper 自体の設定はありません

・Libav+L-SMASH のチェック
	L-SMASH から Libav または ffmpeg にアクセスしてファイルを読み込みます。

・AviSynth Script のチェック
	AviSynth リーダーを用いてAviSynthのスクリプトファイル（拡張子 avs）を読み込みます。

・VSScript
	VapourSynthスクリプトファイル（拡張子 vpy）を読み込みます。

・LW-Libav のチェック
	L-SMASH Works に実装されている Libav Reader を使用して Libav
	または ffmpeg に直接アクセスします。
	FFMS よりも読み込めるフォーマットが多く、フレームアキュレートな読み込みが可能です。
	
	複数にチェックを入れた場合は、Libav+L-SMASH → Libav 順にアクセスを試行します。
	これらの処理は映像・音声ストリーム別々にアクセスを試みます。
	avsはAviSynthリーダー、vpyはVapourSynthリーダーで読み込みを試みます。

・threads
	処理スレッド数を設定します。
	指定数 0 で Auto となり、最大数4で自動的にセットされます。
	情報は lsmash.ini ファイルに保存されます。

・Forward htreshold
	時間軸の未来方向にランダムアクセス（シーク）したフレーム間隔が設定範囲内であれば、
	キャッシュされているフレームから即デコードをして余分な処理を省きます。
	範囲を広げすぎるとIピクチャからデコードした方が速く、むしろ遅くなるケースが
	あるため、程々に設定するほうが良いでしょう。
	編集時など、ランダムなシークが要求されるシーンで役立つ可能性があります。
	デフォルト推奨値は 10 です。

・Seek mode
	シーク時の処理方法を指定します。
		Normal = 3回目のシーク失敗時にUnsafeモードで3回目と同じフレームから
				 デコードを試行し、それでも駄目な場合は前のフレームのコピーを生成します（推奨）
		Unsafe = 1回目のエラーで前のフレームのコピーを生成します
		Aggressive = シーク失敗（エラー）で再試行を一切しません。簡易確認向け。

・Video scaler
	色差スケーリング時の窓関数（拡大・縮小アルゴリズム）を指定します。

・Apply repeat flag
	映像ストリームにRFF(Repeat First Field)フラグがある場合、それを有効化します。

	23.976PsF、29.97PsFといったプログレッシブベースのRFF付きストリームを
	指定されたフラグに従ってプルダウン出力します（例えば、出力先がテレビを想定している場合は59.94iへプルダウン出力）。
	プルダウン時のフィールド順は後述の field dominance で指定。

	純粋なプログレッシブストリームに対して有効化すると2:1インタレース出力となります(1フレームが2フィールド扱いになる)。

・field dominance
	上記 Apply repeat flag 有効時に機能し、プルダウン処理のフィールド順を当オプションで指定します。
	今のところ、ffmpeg の libavcodec が TFF フラグの結果（フィールド順）を渡してくれないため、
	現状では TFF か BFF かを手動指定する仕様となっています。
		Obey source flags = ソース映像のフラグに従い設定します
		Top -> Bottom     = TFF(Top Field First)としてフィールド処理を行います
		Bottom -> Top     = BFF(Bottom Field First)としてフィールド処理を行います

	注) 適切なフィールド順を指定してAviUtlへ渡す機能であり、AviUtl で正しいフィールド処理をする際は
		AviUtl 側でもトップファーストorボトムファーストの指定が必要です（設定→インターレースの解除）。

・Audio delay
	音声の遅延量を指定します。
	-（マイナス）指定により時間軸の過去へ遅延(マイナス遅延)させることも可能です。
	数値はサンプリング単位で詳細に指定できます（msなどの時間指定ではありません）。
	サンプリング周波数48KHzの音声を500ms(0.5秒)遅延させたい場合は24000を指定するといった具合です。

・Sampling rate
	読み込む音声のサンプリングレートを指定します。単位はHz。
	0 指定でオート（リサンプリングせずソースのサンプリングレートで読み込む）。
	ソースと指定サンプリングレートが異なるケースではリサンプリングして読み込みます。
	例えば、48KHzの音声を96000Hz(96KHz)指定で読み込むと48KHz→96KHzのリサンプリングとなります。

・Channel layout
	音声チャネルのレイアウトを強制指定することができます。
	音声を意図したレイアウトで扱いたい場合に有効な機能です。
	
	引数は以下を参照
		
		FL  = フロント・レフト
		FR  = フロント・ライト
		FC  = フロント・センター
		LFE = 低域周波数エフェクト（0.1chの低音）
		BL  = バック（リア）・レフト
		BR  = バック（リア）・ライト
		FLC = フロント・レフトのセンター
		FRC = フロント・ライトのセンター
		BC  = バック（リア）・センター
		SL  = サイド・レフト
		SR  = サイド・ライト
		TC  = トップ・センター
		TFL = トップ・フロント・レフト
		TFC = トップ・フロント・センター
		TFR = トップ・フロント・ライト
		TBL = トップ・バック・レフト
		TBC = トップ・バック・センター
		TBR = トップ・バック・ライト
		DL  = ダウンミックス・レフト
		DR  = ダウンミックス・ライト
		
		例)
		FL+FR+FC+LFE+BL+BR		# 5.1chサラウンドの指定
		
	また、以下のようにシンプルな指定方法もあります。
		
		mono           = FC（モノラル）
		1              = mono 指定と同様
		stereo         = FL+FR（ステレオ）
		2              = stereo 指定と同様
		2.1            = FL+FR+LFE
		3.0            = FL+FR+FC
		3.1            = FL+FR+FC+LFE
		3.0(back)      = FL+FR+BC
		4.0            = FL+FR+FC+BC
		4.1            = FL+FR+FC+LFE+BC
		quad           = FL+FR+BL+BR
		quad(side)     = FL+FR+SL+SR
		5.0            = FL+FR+FC+BL+BR
		5.0(side)      = FL+FR+FC+SL+SR
		5.1            = FL+FR+FC+LFE+BL+BR（5.1chサラウンド）
		5.1(side)      = FL+FR+FC+LFE+SL+SR
		5.1+downmix    = FL+FR+FC+LFE+BL+BR+DL+DR
		6              = 5.1指定と同様
		6.0            = FL+FR+FC+BC+SL+SR
		6.0(front)     = FL+FR+FLC+FRC+SL+SR
		hexagonal      = FL+FR+FC+BL+BR+BC
		6.1            = FL+FR+FC+LFE+BC+SL+SR
		6.1(front)     = FL+FR+LFE+FLC+FRC+SL+SR
		7              = 6.1指定と同様
		7.0            = FL+FR+FC+BL+BR+SL+SR
		7.0(front)     = FL+FR+FC+FLC+FRC+SL+SR
		7.1            = FL+FR+FC+LFE+BL+BR+SL+SR
		7.1(wide)      = FL+FR+FC+LFE+BL+BR+FLC+FRC
		7.1(wide-side) = FL+FR+FC+LFE+FLC+FRC+SL+SR
		7.1+downmix    = FL+FR+FC+LFE+BL+BR+SL+SR+DL+DR
		8              = 7.1指定と同様
		octagonal      = FL+FR+FC+BL+BR+BC+SL+SR
		downmix        = DL+DR（stereoへのダウンミックス）
		
		例)
		5.1			# FL+FR+FC+LFE+BL+BR 指定と同様
		7.1(wide)	# FL+FR+FC+LFE+BL+BR+FLC+FRC 指定と同様

・Mix level
	音声のミックスレベル設定です。
	センター、サラウンドチャネル全般、LFE(低域エフェクト：0.1ch)それぞれに指定可能。

・A/V sync correction
	Libav読み込み時にインデックスファイルで設定された映像ストリームと音声を同期させて音ズレを防ぎます。
	ただし、映像・音声ともに Libav で読み込まれていることが同期条件となります。
	
	先頭フレームが音声の同期ポイントとなりますが、ffmpegを用いてMPEG系映像を表示する場合、
	先頭GOPのIピクチャ、またはデコードが保証されないBおよびPピクチャが先頭にある場合は最初のIピクチャで
	代替表示するため、ClosedGOPとOpenGOPでは表示ルールが若干異なります（いずれも音声は同期する）。
	* 当プラグインは ffmpeg を使用しています。
	
	Libav を用いている場合も先頭フレームが同期ポイントとなりますが、
	OpenGOP等のようにBピクチャ始まりであってもIピクチャで代替表示せず、壊れていても強制表示します。
		
	チェックON  = インデックスで指定されている映像ストリームと音声を同期させます
	チェックOFF = 音声の同期機能を無効化します

・Create Index file
	LW-Libav 読み込み時にストリームを解析してインデックスファイル（拡張子 lwi）を生成します。
	インデックスファイルを生成しておくと、次回以降のファイル読み込みや編集時のシーク等が快適になります。
	インデックスファイルは AviSynth の LWLibavVideoSource が生成するものと互換性があるため、
	AviSynth・AviUtl 互いの環境でそのまま流用できます。

	インデックスファイルの大まかな仕様についてはこちら http://pop.4-bit.jp/?p=5474 を参考にしてください。
	（現在は拡張子が lwi に変更され、インデックスファイルのフォーマットは ver.11）

・Libav video index
	映像ストリームのインデックスナンバーを指定することで、任意の映像を読み込みます。
	マルチチャネルの映像ストリームを扱う際に役立つでしょう。

・Libav audio index
	音声ストリームのインデックスナンバーを指定することで、任意の音声を読み込みます。
	マルチチャネルの音声ストリームを扱う際に役立ちます。

・Dummy resolution
	音声ファイルオンリーの編集時に生成するダミー映像の解像度を指定します。

・Dummy flamerate
	ダミー映像のフレームレートを指定します。

・Dummy colorspace
	ダミー映像のカラーフォーマットを指定します。
	YUY2、RGB、YC48(AviUtl内部の色空間) いずれかを指定しましょう。

・LW48 output
	L-SMASH Works独自のピクセルフォーマットおよび色空間である「LW48」出力を有効化します。

・AVS bit-depth
	AviSynth Script 入力におけるビット深度を選択し、そのビット深度と見なして展開処理を行います。
	デフォルトはYUVおよびRGB各8bit。



【注意事項】

・入力プラグインの優先度について
	Libav-SMASH File Reader については、AviUtl の
	[入力プラグイン優先度の設定] にて適切な優先度を設定して下さい。
	
	DirectShow File Reader や MP4 File Reader といった、
	処理が重複する可能性のある入力プラグインを導入されている場合は
	とくに注意が必要です。

・フレームレートが正常に取得できないケース（現在は改善されています）
	TS 等、一部のコンテナでフレームレートが正常に取得できないケースが稀にあります。
	読み込んでから「編集」→「再生速度の情報を変更」で本来のフレームレートを指定するか、
	ファイル読み込み（「ファイル」→「開く」）時にフレームレートを指定して開いてください。
	
	システム設定で「ロード時に29.97fpsに近いものは自動的に29.97fpsに変換する」を
	利用する手段もありますが、29.97fpsとは微妙に異なるフレームレートの映像を
	意図せず正常に読み込めなくなるデメリットもありますので、当方としてはあまりオススメしません。
	
	映像のフレームレートを確認したい場合は
	MediaInfo http://mediainfo.sourceforge.net/ja 等をご利用ください。



【修正・特記事項】


【ソースコードについて】
	srcフォルダにソースコードの所在を記したテキストがあります。
	下記からもソースコードが入手可能です。

【リポジトリ】
	VFR-maniac/L-SMASH Works
	https://github.com/VFR-maniac/L-SMASH-Works
	git://github.com/VFR-maniac/L-SMASH-Works.git

	L-SMASH
	http://code.google.com/p/l-smash/

	ffmpeg
	http://git.videolan.org/?p=ffmpeg.git
	git://git.videolan.org/ffmpeg.git

	Libav
	http://git.libav.org/?p=libav.git
	git://git.libav.org/libav.git

【謝辞】
	これらの機能を実現するため OSS の精神に則り開発されました
	VFR-maniac（muken）氏をはじめとする各ライブラリの作者様
	および AviUtl SDK のライセンスを明確にするため早急に対処
	くださりましたＫＥＮくん氏に深い感謝の意を申し上げます。

【ビルドした人】
	POP
	POP@4bit http://pop.4-bit.jp



*** External libraries(decode only)
libopus v1.0.3 http://opus-codec.org/downloads/
libopencore-amr v0.1.3  http://sourceforge.net/projects/opencore-amr/
libopenjpeg (JPEG2000/Motion JPEG2000 decode) v1.5.1 http://code.google.com/p/openjpeg/
libvpx (VP9/VP8 decode) r3723(git-282c963) http://code.google.com/p/webm/
***

【更新履歴】
2013/11/03	L-SMASH Works r694	git-0eb40a4		# L-SMASH r787(git-5d903e5)	# ffmpeg-8a701ef
			r694 lwindex: The maximum max_num_reorder_pics is equal to 15 for HEVC ver.1.
			r693 libavsmash: Try to get codec_id from summaries when getting track if unknown.
			r692 lwindex: Generate PTSs from POCs for HEVC stream if incomplete.
			r691 libavsmash: Support High Efficiency Video Coding.
			r690 lwindex: Construct frame from pair of field coded picture automatically if any.
			r689 Update VapourSynth.h to synchronize with R21.

2013/10/23	L-SMASH Works r688	git-8574051		# L-SMASH r781(git-1414f24)	# ffmpeg-610a8b1
			r688 lwindex: Fix a C++ compilation.
			r687 lwindex: Fix PTS generation when starting from non-IDR with negative POC.
			r686 lwindex: Check leading pictures when PTS generation from POCs.
			r685 lwindex: Fix timestamp sortings for PTS generation from POCs.
			r684 lwindex: Generate PTSs from POCs for H.264 stream if incomplete.
			r683 lwinput: Fix NV12/NV21->YUV420P for unwritable buffer.
			r682 vslsmas: Reduce memory copies to output the buffer when the scaler is used.
			r681 vslsmas: More RGB format support.
			r680 common/resample: Cosmetics.

2013/08/23	L-SMASH Works r679	git-ada6e36		# L-SMASH r749	# ffmpeg-2baa12f
			r679 lsmashsource: Make {sse2|avx2}_available constant value.
			r678 lsmashsource: Add untested AVX(2) intrinsics for stacked format.
			r677 lsmashsource: Make VC10 project file compatible with VC11.
				 v110_xp is specified by default.
			r676 lsmashsource: Add Visual C++ 2010 project file.
			r675 lsmashsource: Add Visual C++ 2010 solution file.
				 Note: for msinttypes, r28 or later is required.
			r674 lsmashsource: Change saturation protector handling.
				 Avoid SSE2 instruction when SSE2 is not available.
			r673 lsmashsource: More speed gain with SSE2 for stacked format.
			r672 lsmashsource: Copy data by rowsize not linesize for stacked format.
			r671 lsmashsource: Check if SSE2 is available.
			r670 lwsimd: Add 'lw_' prefix to SIMD checker functions.
			r669 Move lwsimd.c/h into common directory.
			r668 lsmashsource: Use SSE2 intrinsics for stacked planar YUV formats.
			r667 lwinput: Distinguish linesize and rowsize.
			r666 lwinput: Allocate YUV444P16 buffer for YC48/LW48 output in advance.
			r665 vslsmas: Return the last frame when VS requests frame beyond the end.
			r664 lwinput: Avoid persistently repeated allocation for NV12/NV21->YUY2.
			r663 lwcolor: Replace tab with 4 spaces.
			r662 avs_input: Forgot to support RGB48 input.

2013/08/02	L-SMASH Works r661	git-8f1f366		# L-SMASH_r749	ffmpeg-9408d99
			r661 avs_input: Don't load avs_bit_blt().
			r660 avs_input: Treat as 8-bit depth if odd width is reported by AviSynth.

2013/08/01	L-SMASH Works r659	git-351542e		# L-SMASH_r748	ffmpeg-69fe25c
			r659 AviUtl/README: Add description of AVS bit-depth.
			r658 AviUtl/README: Add description of VSScript check box.
			r657 avs_input: non-mod2 width of interleaved fake high bit-depth format is not
				 allowed.
			r656 avs_input: Support interleaved high bit-depth hack.
			r655 avs_input: Fix YUV plane assignment.
			r654 avs_input: More pixel format and color space supports.
			r653 vpy_input: Remove redundant macro expansion.
			r652 vpy_input: Fix the returned value when vsscript.dll is not found.
			r651 vpy_input: More cosmetics.
			r650 vpy_input: Cosmetics.
			r649 lwinput: Remove dependency of vsscript.dll installation.
			r648 vslsmas: Update the header file for VapourSynth R19.
			r647 lwinput: Add option to enable VSScript.
			r646 lsmashsource: YUV range is supposed to be detected properly now.
			r645 vslsmas: YUV range is supposed to be detected properly now.
			r644 common/video_output: YUV range is supposed to be detected properly at init.
			r643 vpy_input: Get color range and space per frame.
			r642 lwinput: YUV range is supposed to be detected properly now.
			r641 AviUtl/colorspace: Generalize function arguments more.
			r640 vpy_input: Update for VapourSynth R19.
			r639 vpy_input: Change license: MIT -> ISC.
			r638 lwinput: Move file extension checker into common directory.
			r637 lwinput: More pixel format and color space supports for VPY reader.
			r636 vslsmas: Update VapourSynth.h.
			r635 lwinput: Fix vertical flip of VapourSynth RGB24 input.
			r634 AviUtl/configure: Move vsscript into LIBS from DEPLIBS.
			r633 lwinput: Add VapourSynth Script Reader. Currently, only support RGB24 and YUV422P8.
			r632 libavsmash: Always try to set bits_per_coded_sample from summary for video stream.

2013/06/28	L-SMASH Works r631	git-b36c56a		# L-SMASH_r747	ffmpeg-c605adb
			r631 AviSynth/README: Fix function formats.
			r630 lwcolor: Make LW48->YUY2 and LW48->RGB conversion multi-threaded.

2013/06/21	L-SMASH Works r629	git-b36c56a		# L-SMASH_r747	ffmpeg-c605adb
			r629 AviUtl: Document LW48 in further detail.
			r628 lwinput: Create black background for LW48.
			r627 lwcolor: Add 'void' to the definition of func_init().
			r626 lwcolor: Remove the duplicated definition of CLIP_BYTE.
			r625 lwcolor: Add SSE4.1 version of LW48->YUY2 conversion.
			r624 lwcolor: Add SSE4.1 version of LW48->RGB24 conversion.
			r623 lwinput: Split some simd related codes into files.
			r622 lwcolor: Switch to integer version of LW48->RGB24 conversion using full bits.
			r621 lwcolor: Fix non mod4 width LW48->RGB24 conversion.

2013/06/15	L-SMASH Works r620	git-fdaff9c		# L-SMASH_r746	ffmpeg-1163910
			r620 lwcolor: Add a simple LW48->YUY2 conversion.
			r619 lwinput: Remove the redundant function call to determin color space conversion.
			r618 lwcolor: Simplify the codes more.
			r617 lwcolor: Add a simple LW48->RGB conversion.
			r616 AviUtl: Fix file name in file headers.
			r615 AviUtl/README: Add descriptions of LW48 output and lwcolor.auc.
			r614 lwinput: Add LW48 output option.
			r613 Add L-SMASH Works Color Space Converter plugin (lwcolor.auc).
			r612 libavsmash: Avoid NULL dereference by sample description index.
			r611 libavsmash: Set up the maximum presentation size even if no update of decoder configuration.
				 Fix a regression in b376363(r585).
			r610 libavsmash: Support ULH0 and ULH2 formats.
			r609 lsmashsource: Deallocate a string or binary iTunes metadata decently.
			r608 lsmashsource: Support output of some little endianness 12 and 14 bit YUV formats.
				 Available only when ffmpeg libavutil and swscale are linked.
			r607 lsmashsource: Fix typo in LSMASH*Source.
				 Fix direct rendering won't be enabled.
				 Stacked format was enabled instead.
			r606 lsmashsource: Add "YUY2" to the list of "format".
			r605 lsmashsource: Map BGR24/RGB24 (input) to BGR24 (output).
				 Add "RGB24" to the list of 'format'.
			r604 lsmashsource: Add 'format' option to force output pixel format.
				 Currently, the following formats are supported.
				  YUV420P8
				  YUV422P8
				  YUV444P8
				  YUV410P8
				  YUV411P8
				  YUV420P9
				  YUV422P9
				  YUV444P9
				  YUV420P10
				  YUV422P10
				  YUV444P10
				  YUV420P16
				  YUV422P16
				  YUV444P16
			r603 lsmashsource: Add 'stacked' option to output as stacked format for high bit-depth.

2013/05/28	L-SMASH Works r602	git-0228d6e		# L-SMASH_r732	ffmpeg-d4a4661
			r602 common/video_output: Set SWS_BITEXACT for more accurate YUV->RGB conversion.
			r601 lsmashsource: Support 8bit gray-scale (planar YUV 4:0:0).
			r600 lsmashsource: Support planar YUV 4:1:0 and 4:1:1.
				 Available under Avisynth 2.6 or later.
			r599 lsmashsource: Support planar YUV4:4:4 high bit-depth (9,10,16) by MSB/LSB interleaved fake.
				 This feature requires AviSynth 2.6 or later.
			r598 lsmashsource: Support planar YUV 4:4:4 (YV24).
				 Available under Avisynth 2.6 or later.
			r597 lsmashsource: Support planar YUV4:2:2 high bit-depth (9,10,16) by MSB/LSB interleaved fake.
				 This feature requires AviSynth 2.6 or later.
			r596 lsmashsource: Add more colorformats to the header.
				 These are available under AviSynth 2.6 or later.
			r595 lsmashsource: Support direct rendering for planar YUV4:2:0 high bit-depth (9,10,16).
			r594 lsmashsource: Support planar YUV4:2:0 high bit-depth (9,10,16) by MSB/LSB interleaved fake.

2013/05/25	L-SMASH Works r593	git-2dfd13a		# L-SMASH_r732	ffmpeg-036e9a0
			r593 lsmashsource: LWLibavVideoSource() supports getting the parity of each frame.
			r592 README: Update for the previous commit.
			r591 lwlibav: Determine field dominance by flags in source file.
			r590 README: Fix descriptions of seek threshold.

2013/05/11	L-SMASH Works r589	git-a39b327		# L-SMASH_r728	ffmpeg-fbaf75b
			r589 lwlibav: Define flags for video frames instead of 'keyframe' and 'is_leading' field.
			r588 lsmashsource: Use AVCodecContext.{width|height} instead of AVFrame.{width|height} for output.
			r587 vslsmas: Use AVCodecContext.{width|height} instead of AVFrame.{width|height} for output.
			r586 lwlibav: Don't exceed the maximum presentation size specified for each sequence.
			r585 libavsmash: Don't exceed the maximum presentation size specified for each sequence.
			r584 lwinput: Use AVCodecContext.{width, height} instead of AVFrame.{width|height} for output.
			r583 lwlibav: Generate pseudo-DTS if a raw demuxer doesn't return DTS for each frame.
			r582 lwlibav: Fix a condition which decides seek correction by file offset.
			r581 lwlibav: Use DTS for the average framerate calculation if the format contains AVFMT_TS_DISCONT.
				 Get the average framerate from libavformat if a raw demuxer is used.
			r580 lwindex: Fix that any execution of getting audio frame length by the parser was not carried out.
				 This is a regression in c536077(r539).
			r579 lwindex: Use file offset for the progress indicator if available.
			r578 lwlibav: Absence of AVIndexEntry doesn't always make file offset based seek.
				 Fix a regression in 4fe6450(r576).
			r577 lwlibav: Use file offset based seek if a raw demuxer is used.
			r576 lwlibav: Use file offset based seek if AVIndexEntry is absent.
			r575 lwlibav: Avoid decoding video frames until the seek correction caused by too backward is done.

2013/05/01	L-SMASH Works r574	git-172abb5		# L-SMASH_r728	ffmpeg-fbaf75b
			r574 lwlibav: Consider second field decoding for forward seek threshold.
			r573 VapourSynth/configure: Fix DLL entry point on WIN32.
				 This is a regression in c7c519a(r571).
			r572 lwlibav: Improve handling of PAFF field coded pictures.
				 Also fix seek around the last field coded pictures.
			r571 vslsmas: Support a compilation under Linux and OSX.
				 Cross-compilation is also possible.
			r570 README: Correct the documentation of channel layout.
			r569 README: Fix about demuxer of LW-Libav.
			r568 VapourSynth: Add a README.
			r567 AviSynth: Add a README.
			r566 AviUtl/README: Tinker the documentation of Forward threshold slightly.
			r565 AviUtl/README: Move explanations around repeat flag into LW-Libav specific.
			r564 AviUtl: Add a README for Japanese.
			r563 AviUtl: Add a README file.
			r562 AviUtl/configure: Add -lgdi32 to LIBS.
			r561 lwinput: Display libav/ffmpeg library version and license.
			r560 lwlibav: Fix finding the first valid video frame when it will be output by feeding null packets.
				 This is a regression in 458cb1a(r541).

2013/04/18	L-SMASH Works r559	git-2fa9b5a		# L-SMASH_r719	ffmpeg-b6408ff
			r559 lwinput: Rename lsmashinput.h into lwinput.h.
			r558 lwmuxer: Fix progress dialog.
				 This is a regression in 85e2b16(r555).
			r557 lsmashinput: Rename lsmashinput.aui into lwinput.aui.
			r556 lsmashdumper: Rename lsmashdumper.auf into lwdumper.auf.
			r555 lsmashmuxer: Rename lsmashmuxer.auf into lwmuxer.auf.

2013/04/13	L-SMASH Works r554	git-69a5c77		# L-SMASH_r719	ffmpeg-a47288f
			r554 lwlibav: Avoid copying field data from the same frame buffer twice.
			r553 lsmashsource: Add 'dominance' option to specify field dominance.
					1: Top -> Bottom
					2: Bottom -> Top
			r552 vslsmas: Add 'dominance' option to specify field dominance.
					1: Top -> Bottom
					2: Bottom -> Top
			r551 lsmashmuxer: Forgot to change the information of filter plugin.
			r550 lsmashdumper: Forgot to change the information of filter plugin.
			r549 lwlibav: Support repeat flags.
				 Original patch by Masaki Tanaka <maki.rxrz@gmail.com>.
			r548 lwlibav: Always treat repeat_pict as field level.
			r547 lsmashinput: Fix chroma linesize for SSSE3 version of func convert_yv12i_to_yuy2.
			r546 lwlibav: Don't split extradata from pkt->data of H.264 stream without start codes.
			r545 lwlibav: More robust check if converting 14496-15 format into H.264 byte stream format is needed.
			r544 lwlibav: Fix listing extradata of H.264 stream in some file formats.
			r543 lwlibav: Fix seeking around last frames.
				 This is a regression in 458cb1a(r541).
			r542 lwlibav: Fix parsing H.264 stream in some file formats.
				 This is a regression in c536077(r539).
			r541 lwlibav: Handle PAFF field coded pictures.

2013/04/06	L-SMASH Works r540	git-46edc1a		# L-SMASH_r719	ffmpeg-2b26077
			r540 lwlibav: Remove unnecessary code to get extradata in a side data.
			r539 lwlibav: Always set up the parser externally.
				 We don't trust parameters returned by the internal parser.
			r538 vslsmas: Forgot to free background frame.
			r537 lsmashsource: Fix freeing the private output handler.
				 This is a regression in 66345ef(r526).
			r536 common: Move the first video frame buffer to the video decode handlers.
			r535 common: Use refcounted_frames for the first valid video frame.
				 Now, video hanlders always uses refcounted_frames.
			r534 lwlibav: Fix current video frame number correction.
			r533 utils: Include cpp_compat.h.
			r532 common: Integrate the codes of cleaning up audio output handler.
			r531 libavsmash: Integrate the codes of cleaning up audio decode handler.
			r530 libavsmash: Integrate the codes of cleaning up video decode handler.
			r529 lwlibav: Don't return negative value when getting picture type unless failing memory allocation.
			r528 lwlibav: Don't write fixed frame properties through format specifiers.
			r527 vslsmas: Also set properties on the first valid frame.
			r526 common: Integrate the codes of cleaning up video output handler.
			r525 lwlibav: Move the codes of importing AVIndexEntrys as common.
			r524 libavsmash: typedef libavsmash_video_{output, scaler}_handler_t in the common header.
			r523 lwlibav: typedef lwlibav_video_{output, scaler}_handler_t in the common header.

2013/03/30	L-SMASH Works r522	git-7125a31		# L-SMASH_r718	ffmpeg-76fdced
			r522 lwlibav: Fix parsing WMV3 in ASF.
			r521 lwlibav: Improve VC-1/WMV3 in ASF handling. …
				 Fix PTS generation when any B-picture or BI-picture are present.
			r520 libavsmash: Fix resampling the number of PCM audio samples when no start offset.
			r519 configure: Fix permissions.
			r518 lwlibav: Fix average displayed framerate caluclation when PTSs are generated.
			r517 libavsmash: Fix the calculation of the number of decoded PCM audio samples which shall be skipped.
			r516 lsmashinput: Add 'sampling rate' settings.
				 The default value 0 means the output sampling rate will be the maximum sampling rate in the stream.
			r515 lsmashdumper: Change the name of this plugin.
			r514 lsmashmuxer: Change the name of this plugin.
			r513 lsmashinput: Change INPUT_PLUGIN_TABLE slightly.
			r512 lsmashinput: Change the layout of the settings dialog.
			r511 lwlibav: Do pre-rolling if audio frame has lossy property.
			r510 exlibs: Move libmingwex.a from MSVC project to.
			r509 lsmashsource: Add 'rate' option to specify output audio sample rate.
			r508 libavsmash: Set 0 to the end of the additional FF_INPUT_BUFFER_PADDING_SIZE bytes.
				 Without this, some decoders could cause wrong results.
			r507 resample: Remove unused field.
			r506 lwlibav: Add file offset correction for video seek which is available if no invalid file offset.

2013/03/21	L-SMASH Works r505	git-266e7da		# L-SMASH_r718	ffmpeg-76fdced
			r505 lwlibav: Don't assume frames which has PTS == DTS as B-picture during PTS generation.
				 The assumption might have considered all frames as B-picture when there is no B-picture.
			r504 libavsmash: Integrate common finder of the first valid frame.
			r503 lwlibav: Integrate common finder of the first valid frame.
			r502 vslsmas: Rename 'cache_index' into 'cache'.
			r501 lsmashinput: Initialize get_buffer() of the decoder configuration handler by defalut get_buffer().
				 Fix a crash when LW-Libav reader is used and there is extradata change.

2013/03/19	L-SMASH Works r500	git-8c45fee		# L-SMASH_r717	ffmpeg-17c1881
			r500 common: Fix presentation resolution when disabling direct rendering.
			r499 common: Add the log handler.
			r498 libavsmash: Initialize defalut get_buffer() of the decoder configuration hanlder.
				 Fix a crash of lsmashinput.aui when Libav+L-SMASH reader is used.
			r497 lwlibav: Fix a crash when the index helper opened own parsar.
			r496 common: Fix a crash of direct rendering when changing decoder configuration.
			r495 vslsmas: Use get_buffer2() instead of deprecated get_buffer().
			r494 lsmashsource: Use get_buffer2() instead of deprecated get_buffer().
			r493 lsmashsource: Fix a compilation with the latest ffmpeg.
			r492 common: Set AV_CODEC_ID_NONE to AVCodecContext.codec_id before avcodec_open2().
					AVCodecContext.codec_id is supposed to be set properly in avcodec_open2().
					This avoids avcodec_open2() failure by the difference of enum AVCodecID.
					For instance, when stream is encoded as AC-3,
					AVCodecContext.codec_id might have been set to AV_CODEC_ID_EAC3
					while AVCodec.id is set to AV_CODEC_ID_AC3.

2013/03/19	L-SMASH Works r491	git-d08ad46		# L-SMASH_r717	ffmpeg-9c22039
			r491 lwlibav: Fix a C++ compilation with ffmpeg.
				 There is incompatibility of pointer data type.
			r490 lwlibav: Mark only I-picture as a keyframe in VC-1/WMV3 stream.
			r489 lwlibav: Fix PTS based seek when PTSs are generated.
			r488 lwlibav: Fix MPEG-1/2 Video picture type by actual decoding.
				 Also fix audio decoding was always used for getting audio frame length.
			r487 lwlibav: Fix pict_type when there is decoder delay.
			r486 lwlibav: Use index helper to get audio frame length.
			r485 lwlibav: Retry seek when the first decoding after seek failed.
			r484 lwlibav: Shift the current audio frame number in order to match file offset/PTS/DTS.
			r483 lwlibav: Generate PTS only when there is any invalid PTS and all DTS are valid.
			r482 lwlibav: Add NULL dereference check for the index helpers.
				 The helpers are not allocated for non-Audio/Visual streams.
			r481 lwlibav: Shift the current frame number in order to match DTS.
			r480 lwlibav: Decode to get picture type when indexing ASF.
			r479 lwlibav: Forgot to write pict_type from the own parser into lwi file.
			r478 lwlibav: Make an effort to get picture type.
			r477 lwlibav: Also add VC-1/WMV3 PTS generator.
			r476 lwlibav: Add PTS generator for MPEG-1/2 Video.
			r475 lwlibav: Update decoder configuration out-of-bandly.
				 All extradata is now written in lwi file.

2013/03/09	L-SMASH Works r474	git-0fa169f		# L-SMASH_r717	ffmpeg-d30ee5e
			r474 lwlibav: Fix compilation with the latest libavcodec LIBAVFORMAT_VERSION_MAJOR=55.
			r473 lsmashsource: Integrate common audio rendering preparation.
			r472 lsmashsource: Integrate common video rendering preparation.
			r471 AviUtl: Encode filter.h as UTF-8.
			r470 lsmashinput: Don't dislay any dialog when failed to open file by libavformat.
			r469 lsmashinput: Fix a compilation with the latest libav.
			r468 lwlibav: Fix a comment in 5a8c5b3(r466).
			r467 lsmashinput: Fix typo, the crasher.
			r466 lwlibav: Don't treat IDR-frame as a keyframe if not immediately preceded by corresponding SPS and PPS.
			r465 lsmashinput: Integrate common video rendering preparation.
			r464 lsmashsource: Don't show any libav/ffmpeg's logs in Release builds.
			r463 lsmashinput: Integrate common audio rendering preparation.
			r462 resample: Remove redundant codes to flush buffers.
			r461 lsmashinput: Add center/surround/LFE mix level settings.
				 The default values are as follows.
				   Center:   0.71 i.e. 1/sqrt(2)
				   Surround: 0.71 i.e. 1/sqrt(2)
				   LFE:      0.00
			r460 vslsmas: Add 'dr' option to LibavSMASHSource().
			r459 lsmashsource: Add 'dr' option to LSMASHVideoSource().
			r458 lsmashsource: Fix BGRA direct rendering.
			r457 lsmashmuxer: Forgot to close settings file.
			r456 lsmashinput: Add channel layout settings.
				 Users can force output channel layout.
				 Formats of the argument is the same as 'layout' option of LSMASHSource.dll.
			r455 lsmashinput: Remove redundant private variables for video output.
			r454 lsmashsource: Add 'layout' option.
				 This option forces output channel layout.
				 Note: you can't set up mixing configuration by this.
				 
				 A format of the argument is like the following.
				   layout="FL+FR+FC": front left + front right + front center
				 Also users can specify the same layout as the above as follows.
				   layout="3.0"
				 See libavutil/channel_layout.c/h for more detail.
			r453 Set the {YUV to RGB} coefficients if specified in stream.
				 Bump the version of LW-Libav index file to 6.
			r452 vslsmas: Add NULL dereference checks for direct rendering.

2013/02/20	L-SMASH Works r451	git-9cf3488		# L-SMASH_r717	ffmpeg-1acd7d5
			r451 lsmashinput: A bit cosmetics around colorspace conversion.
			r450 lwlibav: Remove redundant variable caused by the previous commit.
			r449 lwlibav: Fix regressions in b79372b(r433).
				 Should be fixed to display uncompressed video data through sws_scale() from avcodec_decode_video2().
				 Should be fixed to get PCM audio samples over audio frames.
			r448 lsmashinput: add faster sse4.1 yuv444 to yc48 conversion.
			r447 lsmashinput: add faster sse4.1 interlaced yuv420 to yuv444 conversion for yc48 input.
			r446 lsmashinput: add interlaced yuv420 to yuv444 conversion for yc48 input.
			r445 lsmashinput: Point AviUtl buffer to destination of sws_scale() for RGB(A) and non-YV12i to YUY2.
				 This will bring about somewhat speed improvement.
			r444 lsmashsource: Fix comment about convert_av_pixel_format().
				 Now, This source filter always uses lines aligned to an address dividable by 32.

2013/02/16	L-SMASH Works r443	git-2a11f86		# L-SMASH_r717	ffmpeg-b9c5448
			r443 lsmashsource: More robust check for availability of direct rendering.
			r442 lsmashsource: Add 'dr' option to LWLibavVideoSource().
				 If 'dr' is set to true, direct rendering will be enabled.
			r441 vslsmas: Avoid copyFrame() even if direct rendering.
			r440 vslsmas: Add 'dr' option to LWLibavSource().
				 If 'dr' is set to non-zero, direct rendering will be enabled.
			r439 vslsmas: Cosmetics around making frame.
			r438 lwlibav: Simplify frame reading slightly.
			r437 lwlibav: Fix a regression in b79372b(r433).
				 The number of decoder delay was not counted correctly when finding the first valid video frame.
			r436 vslsmas: Use cloneFrameRef() instead of copyFrame() for returning the first valid frame.
			r435 lsmashsource: Set true to 'cache' as default value.

2013/02/13	L-SMASH Works r434	git-13412a3		# L-SMASH_r717	ffmpeg-1ecce26
			r434 vslsmas: Set -1 (auto) to 'stream_index' default value.
			r433 lwlibav: Remove packet input buffer.
			r432 lsmashinput: Change MAX_AUTO_NUM_THREADS. Now, defined as 16.
				 According to the latest libavcodec/pthread.c,
				 H264 slice threading seems to be buggy with more than 16 threads.
			r431 Add apropriate prefix to some data types.
			r430 lsmashsource: Don't write black background when input resolution equals output resolution.
			r429 lsmashsource: Fix 10L in b3cf6e9(r426). If the first frame was invalid, might have caused a crash.
			r428 lsmashsource: Fix include file for linking with ffmpeg.
			r427 lsmashsource: Use sws_scale() instead of env->BitBlt even if there is no pixel format conversion.
			r426 lsmashsource: Stop using temporary buffer for scaling.

2013/02/12	L-SMASH Works r425	git-30c8e9f		# L-SMASH_r717	ffmpeg-7ff1a4b
			r425 lsmashsource: Avoid calling scaler if not needed.
			r424 lsmashsource: Add 'av_sync' option to LWLibavAudioSource().
				 If true, activate AV synchronization against the active video stream in the same index file.
				 Note: its default value is false.
			r423 Integrate audio output handler partially.

2013/02/10	L-SMASH Works r422	git-2e698d9		# L-SMASH_r717	ffmpeg-969039e
			r422 Integrate video output handler.
			r421 lwlibav: Fix 10L in 3bde4e9(r419). 
			r420 lsmashsource: Fix .lwi file generation option.
			r419 lsmashsource: Fix some memory leaks in LW-Libav reader.
			r418 vslsmas: Add LWLibavSource(). Rename Source() into LibavSMASHSource().
			r417 lsmashsource: For LWLibavSource, rename 'track' into 'stream_index'.
			r416 lsmashsource: Add LWLibavVideoSource() and LWLibavAudioSource().
			r415 Move common basic functions into common/utils.c/h.
			r414 lsmashinput: Split some codes of Libav reader into files.
			r413 lsmashsource: Split some codes into files.
			r412 lsmashinput: Cosmetics around Libav indexer.

2013/02/04	L-SMASH Works r411	git-b1c7433		# L-SMASH_r715	ffmpeg-81f2549
			r411 lsmashinput: Cosmetics about Libav audio handler.
			r410 lsmashinput: Cosmetics about Libav video handler.

2013/02/04	L-SMASH Works r409	git-7234ba3		# L-SMASH_r715	ffmpeg-b5f544a
			r409 libavsmash: Fix implicit declaration of function 'av_realloc' for libav.
			r408 libavsmash: Support '2vuy' and 'yuv2'.

2013/01/31	L-SMASH Works r407	git-6f15f74		# L-SMASH_r712	ffmpeg-cdf0877
			r407 vslsmas: Component reorder. Now, ARGB/RGBA/ABGR/BGRA -> RGB24.
			r406 vslsmas: More cosmetics.
			r405 vslsmas: Cosmetics about video scaler handler.
			r404 vslsmas: Avoid calling scaler if not needed.
			r403 vslsmas: Simplify background black generation.
			r402 Integrate Libav-SMASH video decode handler and moved into common directory.
			r401 Integrate Libav-SMASH audio decode/output handler and moved into common directory.
			r400 Integrate resampler functions and moved into common directory.
			r399 lsmashsource: Cosmetics about audio handler.
			r398 lsmashinput: Cosmetics about Libav-SMASH audio handler.
			r397 lsmashinput: Cosmetics about Libav-SMASH video handler.
			r396 Move libavsmash.c/h into common directory. libavsmash.c is expected that it is usable for both C and C++.

2013/01/15	L-SMASH Works r395	git-94a573c		# L-SMASH_r712	ffmpeg-92e79e5
			r395 lsmashmuxer: Change the order of tab stop.
			r394 lsmashsource: Add null pointer check on extended_data.
			r393 lsmashinput: Add null pointer check on extended_data.
			r392 vslsmas: Remove nonsense error messages.
			r391 vslsmash: Use av_image_alloc to simplify the codes of frame maker.
			r390 lsmashsource: Use av_image_alloc to simplify the codes of frame maker.
			r389 lsmashinput: Use av_image_alloc to simplify the codes of colorspace conversions.
			r388 vslsmas: Simplify packed BGR48 -> planar RGB48 conversion a bit.
			r387 vslsmas: Support RGB48 planar format for output.
			r386 vslsmas: Support RGB24 planar format for output.
			r385 vslsmas: Add YUV410P8, YUV411P8 and YUV440P8 output format.
			r384 vslsmas: Add _FieldBased property for each video frame.
			r383 vslsmas: Add 'format' option.
				 This option forces output pixel format defined in VapourSynth.
				 This option is available if 'variable' is false.
				 Currently, the following formats are supported.
					YUV420P8,YUV422P8,YUV444P8,YUV420P9,YUV422P9,YUV444P9
					YUV420P10,YUV422P10,YUV444P10,YUV420P16,YUV422P16,YUV444P16
			r382 vslsmas: Fix background black maker.
			r381 vslsmas: Support more YUV420/YUV422/YUV444 planar formats for output.

2013/01/09	L-SMASH Works r380	git-e04f0b3		# L-SMASH_r712	ffmpeg-79013a5
			r380 lsmashmuxer: Fix memory leak when getting output summary.
			r379 lsmashmuxer: Shift audio timeline to avoid any negative PTS.
			r378 vslsmas: Avoid access violation of getting composition duration by exceeding the number of samples.
			r377 vslsmas: Add 'variable' option.
				 The default value is 0 (i.e. false).
				 When the value is 1 (i.e. true), assume format, width and height are not constant.
			r376 .gitignore: more untracked file types.
			r375 lsmashsource: Rename directory name: Avisynth -> AviSynth.
			r374 vslsmas: Rename directory name: vapoursynth -> VapourSynth.
			r373 Add missing LICENSE files.
			r372 Bump copyright years to 2013.
			r371 Add LSMASHSource for VapourSynth.
			r370 lsmashsource: Fix typo of data type.
			r369 lsmashsource: Remove inappropriate comments about licenses.
			r368 lsmashsource: Support change of video resolution.

2012/12/12	L-SMASH Works r367	git-b3139bd		# L-SMASH_r706	ffmpeg-09456d0
			r367 lsmashmuxer: Fix the end of an audio presentation if any samples after that presentation.

2012/12/06	L-SMASH Works r366	git-fad0ccf		# L-SMASH_r706	ffmpeg-09456d0
			r366 lsmashinput: Change the index file extension '.index' for Libav reader into '.lwi'.

2012/11/14	L-SMASH Works r365	git-ddbe843		# L-SMASH_r704	ffmpeg-b616588
			r365 lsmashsource: Update for the latest L-SMASH.
			r364 lsmashinput: Update for the latest L-SMASH.
			r363 lsmashinput: Remove unnecessary code.
			r362 Refer to the AVPixFmtDescriptor table using the av_pix_fmt_desc_get()
			r361 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
			r360 lsmashsource: Update for the latest L-SMASH.
			r359 lsmashinput: Update for the latest L-SMASH.

2012/10/19	L-SMASH Works r358	git-d224fbb		# L-SMASH_r696	ffmpeg-04bf2e7
			r358 lsmashsource: Improve Open-GOP seek handling.
				 Some decoders return -1 when feeding a leading sample.
				 We don't consider as an error if the return value -1 is caused by a leading sample since it is not fatal at all.
			r357 lsmashinput: Improve Open-GOP seek handling.
				 Some decoders return -1 when feeding a leading sample.
				 We don't consider as an error if the return value -1 is caused by a leading sample since it is not fatal at all.

2012/10/19	L-SMASH Works r356	git-87620bb		# L-SMASH_r695	ffmpeg-36b3b23
			r356 lsmashinput: Update simd colorspace conversion for variable resolution support.

2012/10/16	L-SMASH Works r355	git-8e93e57		# L-SMASH_r695	ffmpeg-36b3b23
			r355 lsmashinput: Fix a memoryleak of back ground frame.

2012/10/15	L-SMASH Works r354	git-408525a		# L-SMASH_r695	ffmpeg-b08273c
			r354 libavsmash: Avoid setting AV_SAMPLE_FMT_NONE to sample format as much as possible.
			r353 lsmashinput: Fix 100L; regression in 1035e96(r343).
				 Output sample format for Libav reader was fixed to unsigned 8bit integer.
				 Bump version number of Index file.
			r352 lsmashinput: Fix unsigned 8bit silence.
			r351 lsmashsource: Remove decode status handling.
			r350 lsmashsource: Check change of audio basic properties more strictly.
			r349 lsmashinput: Check change of audio basic properties more strictly.
			r348 lsmashinput: Remove decode status handling.
			r347 lsmashinput: Support change of video resolution.
			r346 libavsmash: Avoid duplicated investigation of the decoder configuration at the first sample.
			r345 lsmashinput: Remove #define KSDATAFORMAT_SUBTYPE_PCM.
			r344 lsmashsource: Improve audio output format selection.
			r343 lsmashinput: Improve audio output format selection.
				 Now, the reader doesn't return WAVEFORMATEXTENSIBLE since WAVEFORMATEXTENSIBLE is much restrictive on AviUtl.
			r342 lsmashinput: Fix data type of channel_layout that is a member of audio_sample_t.
			r341 lsmashsource: Support change of channel_layout, sample rate and format.
			r340 lsmashsource: Fix typo in the previous commit.
			r339 lsmashsource: AVFrame shall be initialized by avcodec_alloc_frame().
				 This is for dynamic linking.
			r338 lsmashinput: AVFrame shall be initialized by avcodec_alloc_frame().
				 This is for dynamic linking.

2012/10/09	L-SMASH Works r337		# git-35730ca	ffmpeg-b49d94e
			r337 lsmashinput: Change the type of the data buffers cast to uint8_t ** for avresamle_convert().
			r336 lsmashsource: Initialize AVPacket and AVFrame by 0 when their declarations.
			r335 lsmashsource: Include header files properly derived from libav.
			r334 lsmashinput: Include header files properly derived from libav.
			r333 lsmashinput: Initialize AVPacket and AVFrame by 0 when their declarations.

2012/10/06	L-SMASH Works r332-2	# git-a80bfb6	libav-cee1950
			r332-2 lsmashinput: Avoid (0 - 1) / unsigned to convert sample_rate.

2012/10/06	L-SMASH Works r332		# git-45ec735	libav-cee1950
			r328よりindexファイルがVersion4へ更新されています
			Version3までのindexファイルを削除してから映像・音声ファイルを再読み込みしてください

			r332 lsmashinput: Forgot to consider delayed frame lengths for Libav reader.
			r331 lsmashinput: Fix seek offset when sample_rate conversion is active for Libav reader.
			r330 lsmashinput: Support change of channel_layout, sample rate and format for Libav+L-SMASH reader.
			r329 lsmashinput: Fix seeking variable length audio. This is a regression in the previous commit.
			r328 lsmashinput: Support change of channel_layout, sample_rate and sample_format for Libav reader.

2012/10/03	L-SMASH Works r327		# git-11421e9	libav-cee1950
			r327 lsmashsource: Support multiple sample descrptions.
			r326 lsmashinput: Support multiple sample descrptions.

2012/10/02	L-SMASH Works r325		# git-581c6f8	libav-cee1950
			r325 lsmashinput: Fix 10L of bc0261a.
			r324 lsmashsource: Improve output linesize calculation.
			r323 lsmashinput: Improve output linesize calculation.
			r322 lsmashinput: Fix possibility of division by zero in dummy reader.

2012/09/22	L-SMASH Works r321		# git-581c6f8
			r321 lsmashinput: Fix regression of the previous commit.
			r320 lsmashinput: A bit cosmetics around resampling audio.

2012/09/21	L-SMASH Works r319		# git-558bfe8
			r319 lsmashinput: Set dwChannelMask for (L-SMASH+)Libav reader when WAVEFORMATEXTENSIBLE is used.
			r318 lsmashinput: Support signed 24bit integer audio output. 
			r317 lsmashsource: Fix pre-roll distance estimation.
			r316 lsmashinput: Use ConvertAudioTo16bit if the input sample format is floating point.
			r315 lsmashinput: Use libavresample for resampling decoded audio data.
			r314 lsmashsource: Fix HE-AAC seeking.
			r313 lsmashinput: Fix HE-AAC seeking for Libav+L-SMASH reader.

2012/09/19	L-SMASH Works r312		# git-9ae1cf0
			r312 lsmashsource: Add 'const' qualifier to AVCodec belonging to AVCodecContext.
			r311 lsmashinput: Forgot to change CodecID into AVCodecID.
			r310 lsmashinput: Use AV_CODEC_ID_* instead of deprecated CODEC_ID_*.
			r309 lsmashinput: Add 'const' qualifier to AVCodec belonging to AVCodecContext.

2012/09/17	L-SMASH Works r308		# git-1b5e0b4
			r308 lsmashmuxer: Update for the latest L-SMASH.

2012/09/10	L-SMASH Works r307		# git-8d99025
			r307 lsmashinput: Avoid stack overflow.

2012/08/03	L-SMASH Works r306		# git-a6737e1
			r306 lsmashsource: Use lsmash_get_media_duration_from_media_timeline to support movie fragments.
			r305 lsmashinput: Use lsmash_get_media_duration_from_media_timeline to support movie fragments.
			r304 lsmashinput: Only consider horizontal proportion of components.
			r303 lsmashinput: Consider proportion of color components each pixel has.
			r302 lsmashsource: Is malloc delicious?
			r301 lsmashsource: Add null terminator when iTunSMPB returned as a binaryformat.
			r300 lsmashsource: Treat value of iTunSMPB as string or binary.
			r299 lsmashsource: Add an error check for length of iTunSMPB value.
			r298 lsmashsource: Fix implicit pre-roll distance estimation for upsampling.
			r297 lsmashsource: Support detecting priming samples and actual duration from iTunSMPB.

2012/08/01	L-SMASH Works r296		# git-e53211c
			r296 lsmashsource: Fix typo of format specifier.
			r295 lsmashsource: Add an option to select track to both source filters.
			r294 lsmashsource: Rename 'no_priming' into 'skip_priming'.
			r293 lsmashinput: Fix setting up wBitsPerSample for AVS reader.
			r292 lsmashinput: Use sizeof to calculate WAVEFORMATEX's cbSize.
			r291 lsmashinput: Use inline instead of macro for getting decoder delay.
			r280 lsmashsource: Add LSMASHAudioSource to read audio samples.
			r289 lsmashsource: Support RGB 24bpp and RGBA 32bpp.
				 Note: Output pixel type is RGBA 32bpp even if input one is RGB 24bpp.
			r288 lsmashsource: Support YUV 4:2:2 16bpp. 
			r287 Add an Avisynth's file source plugin: LSMASHSource. Currently, the plugin support only YUV4:2:0 video source.
			r286 lsmashinput: Don't add to (void *) variables.
			r285 lsmashmuxer: A/V sync correction is enabled by settings file (lsmash.ini).
			r284 lsmashmuxer: presentation_start/end_time is not the time of the start/end sample of a sequence.

2012/07/20	L-SMASH Works r283		# git-a9bb9fa
			r283 lsmashinput: More secure remainder audio handling.
			r282 lsmashinput: Fix a crash of the previous commit.
			r281 lsmashinput: Simplify handling of remainder audio samples.
			r280 lsmashinput: Support planar sample format audio decoding.
			r279 lsmashinput: Forgot to consider composition to decode timeline shift.

2012/07/15	L-SMASH Works r278		# git-ee761e3
			r278 lsmashinput: A/V sync correction for L-SMASH+Libav reader.
			r277 lsmashinput: Actually fix beginning of audio stream when audio delay is positive.
			r276 lsmashinput: Fix beginning of audio stream when audio delay is positive.

2012/07/15	L-SMASH Works r275		# git-14ce87d
			r275 lsmashinput: Return silent audio even if audio samples of the beginning are absent.
				 This should fix A/V async on the preview.
			r274 lsmashinput: Add A/V sync correction option.
				 This is currently only available under Libav reader.
			r273 lsmashinput: Use the same seek method decision.

2012/07/07	L-SMASH Works r272		# git-039347b
			r272 lsmashinput: Don't confuse EAGAIN with EOF when reading frame.

2012/06/28	L-SMASH Works r271		# git-18b4c01
			r271 lsmashmuxer: Consider pre-roll to export selected range.

2012/06/28	L-SMASH Works r270		# git-50e3658

2012/06/28	L-SMASH Works r253		# git-84d69e2

2012/06/28	L-SMASH Works r248		# git-3c41ba0

2012/06/27	L-SMASH Works r247		# git-ba11dc1

2012/06/27	L-SMASH Works r246(stable)		# git-f7f4577

2012/06/06	L-SMASH Works r226		# git-d851b70

2012/05/12	L-SMASH Works r225		# git-9767c5f
	http://pop.4-bit.jp/?p=5474

2012/04/17	L-SMASH Works r150		# git-71e77c7

2012/04/17	L-SMASH Works r149		# git-3c6d4ea

2012/04/17	L-SMASH Works r148		# git-7371801

2012/04/13	L-SMASH Works r142		# git-6ace581

2012/04/10	L-SMASH Works r141		# git-82ecb30

2012/03/29	L-SMASH Works r132		# git-306683b

2012/01/13	L-SMASH Works r102		# git-09c832d

2012/01/01	L-SMASH Works r91		# git-02dfbae

2011/12/16	Libav-SMASH File Reader r29		# lsmash_input d2e8e98
			Libav-SMASH Exporter r15 更新	# lsmash_export 745ab05

2011/12/10	Libav-SMASH File Reader r21		# lsmash_input 9a91b96
			Libav-SMASH Exporter r7 公開	# lsmash_export d036078

2011/12/08	Libav-SMASH File Reader r17 	# lsmash_input 7ab524f
