---------------------------------------------------------------------------------------------------
AviSynth plug-in L-SMASH Source r679
---------------------------------------------------------------------------------------------------

yTvz
L-SMASH Source ́Amuken L-SMASH Works J̈ƂĎi߂Ă OSS łA
MP4/MOV/QT/3gp/3g2/F4V/M4A  L-SMASH ΉReiɊi[ꂽfEXg[
AviSynth œǂݍނ߂̃vOCłB
R[fbÑfR[h ffmpeg  Libav 󂯎܂ivOC ffmpeg gpjB

r416  LWLibavVideoSource()  LWLibavAudioSource() ǉA ffms gpƂ
Libav/ffmpeg T|[gReiER[fbN̓ǂݍ݂\ƂȂ܂B



===================================================================================================

yz
LSMASHSource.dll  AviSynth  plugins tH_ɃRs[B
܂͔Cӂ̃fBNgɒuALoadPlugin œǂݍ݂܂B

	)
	LoadPlugin("d:\hogehoge\LSMASHSource.dll")


===================================================================================================

yAviSynthXNvg̏z
fǂݍ݂Ɖǂݍ݂ĂAꂼ̎w肪KvłB



fǂݍ݂̏ (L-SMASHT|[gRei̓ǂݍ݁BMP4MOVȂ)

LSMASHVideoSource("source file", track, threads, seek_threshold, seek_mode, dr)

	"source file"
		ǂݍމft@Cw肵܂B

	track
		fReiǂݍރgbNio[w肵܂B
		=0   BŏɌgbN̉fǂݍ݂܂ij
		=n   Cӂ̃gbNio[(n)w肵ēǂݍ݂܂

	threads
		Xbhw肵܂B
		=0   ij
		=n   Cӂ̃Xbh(n)w肵ď܂

	seek_threshold
		Ԏ̖Ƀ_ANZXiV[Njt[Ԋuݒ͈͓ł΁A
		LbVĂt[瑦fR[hė]ȏȂ܂B
		͈͂LIsN`fR[hAނxȂP[X
		邽߁AXɐݒ肷قǂł傤B
		ҏWȂǁA_ȃV[NvV[Ŗ𗧂\܂B
		=n   seek_thresholdLt[(n)w肵܂Bl10

	seek_mode
		V[N̏@w肵܂B
		=0   Normal[hB3ڂ̃V[NsUnsafe[h3ڂƓt[
	         fR[hsAłʖڂȏꍇ͑Õt[̃Rs[𐶐܂ij
		=1   Unsafe[hB1ڂ̃G[őÕt[̃Rs[𐶐܂
		=2   Aggressive[hBV[NsiG[jōĎs؂܂BȈՊmFB

	dr
		Libav/ffmpeg(libavcodec)custom get_buffer()gp_CNgǂݍ݂܂B
		dr gpȂꍇƔrĖ50%ÕXs[hAbvimukenkjB
		AC^[Xfŏc32̔{fR[ĥ܂܁AH.264̏ꍇ͏c2C
		t邽߁AXg[\ׂ𑜓xɂꍇcropKvƂP[X܂B
		
		=true    _CNgǂݍ݂L܂
		=false   _CNgǂݍ݂𖳌܂iftHgB]̏Ɠj



ǂݍ݂̏ (L-SMASHT|[gRei̓ǂݍ݁BMP4M4AȂ)

LSMASHAudioSource("source file", track, skip_priming, layout)

	"source file"
		ǂݍމt@Cw肵܂B܂́AfƉmuxꂽt@Cw肵܂B

	track
		ǂݍރgbNio[w肵܂B
		=0   BŏɌgbN̉ǂݍ݂܂ij
		=n   Cӂ̃gbNio[(n)w肵ēǂݍ݂܂

	skip_priming
		Rei edit list  encoder delay LĂꍇAɊÂ
		 priming samplesi]Iȃf[^jXLbvfR[h邩ۂw肵܂B
		=true   skip primingL܂
		=false  skip priming𖳌܂

	layout
		`lw肷邱Ƃł܂B
		Xg[𗘗pہAӐ}CAEgňƂ\ƂȂ܂B
		
		= ͈ȉQƁi_uNH[e[VŊ邱Ɓj
		
		FL  = tgEtg
		FR  = tgECg
		FC  = tgEZ^[
		LFE = gGtFNgi0.1ch̒ቹj
		BL  = obNiAjEtg
		BR  = obNiAjECg
		FLC = tgEtg̃Z^[
		FRC = tgECg̃Z^[
		BC  = obNiAjEZ^[
		SL  = TChEtg
		SR  = TChECg
		TC  = gbvEZ^[
		TFL = gbvEtgEtg
		TFC = gbvEtgEZ^[
		TFR = gbvEtgECg
		TBL = gbvEobNEtg
		TBC = gbvEobNEZ^[
		TBR = gbvEobNECg
		DL  = _E~bNXEtg
		DR  = _E~bNXECg
		
		)
		layout="FL+FR+FC+LFE+BL+BR"		# 5.1chTEh̎w
		
		܂Aȉ̂悤ɃVvȎw@܂B
		
		mono           = FCimj
		1              = mono wƓl
		stereo         = FL+FRiXeIj
		2              = stereo wƓl
		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+BRi5.1chTEhj
		5.1(side)      = FL+FR+FC+LFE+SL+SR
		5.1+downmix    = FL+FR+FC+LFE+BL+BR+DL+DR
		6              = 5.1wƓl
		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.1wƓl
		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.1wƓl
		octagonal      = FL+FR+FC+BL+BR+BC+SL+SR
		downmix        = DL+DRistereoւ̃_E~bNXj
		
		)
		layout="5.1"			# layout="FL+FR+FC+LFE+BL+BR" wƓl
		layout="7.1(wide)"		# layout="FL+FR+FC+LFE+BL+BR+FLC+FRC" wƓl



---------------------------------------------------------------------------------------------------

Libav/ffmpeg T|[gReiyщfR[fbN̓ǂݍ

LWLibavVideoSource("source file", cache, stream_index, threads, seek_threshold, seek_mode, dr, dominance)

	"source file"
		ǂݍމft@Cw肵܂B

	cache
		fXg[͂ăCfbNXt@Cigq lwij𐶐܂B
		CfbNXt@C𐶐ĂƁAҏW̃V[NKɂȂ܂B
		CfbNXt@C AviUtl  Libav-SMASH File Reader ̂Ƒ݂Ɍ݊܂B
		=true    CfbNXt@C𐶐܂iftHgj
		=false   CfbNXt@C𐶐܂

	stream_index
		fXg[̃CfbNXio[w肵ēǂݍ݂܂B
		̃Xg[i[ĂReiCӂ̉ffR[hۂɎw肵܂傤B
		=-1   iftHgj
		=n    Cӂ̃CfbNXio[(n)ɑΉfXg[ǂݍ݂܂

		CfbNXt@C̎dlɂĂ͂ http://pop.4-bit.jp/?p=5474 QlɂĂB
		i݂͊gq lwi ɕύXACfbNXt@C̃tH[}bg ver.11j

	threads
		Xbhw肵܂B
		=0    ij
		=n    Cӂ̃Xbh(n)w肵ď܂

	seek_threshold
		Ԏ̖Ƀ_ANZXiV[Njt[Ԋuݒ͈͓ł΁A
		LbVĂt[瑦fR[hė]ȏȂ܂B
		͈͂LIsN`fR[hAނxȂP[X
		邽߁AXɐݒ肷قǂł傤B
		ҏWȂǁA_ȃV[NvV[Ŗ𗧂\܂B
		=10  ftHgilj
		=n   seek_thresholdLt[(n)w肵܂

	seek_mode
		V[N̏@w肵܂B
		=0    Normal[hB3ڂ̃V[NsUnsafe[h3ڂƓt[
	          fR[hsAłʖڂȏꍇ͑Õt[̃Rs[𐶐܂ij
		=1    Unsafe[hB1ڂ̃G[őÕt[̃Rs[𐶐܂
		=2    Aggressive[hBV[NsiG[jōĎs؂܂BȈՊmFB

	dr
		Libav/ffmpeg(libavcodec)custom get_buffer()gp_CNgǂݍ݂܂B
		dr gpȂꍇƔrĖ50%ÕXs[hAbvimukenkjB
		AC^[Xfŏc32̔{fR[ĥ܂܁A
		H.264̏ꍇ͏c2Ct邽߁A
		Xg[ŏIIɕ\ׂ𑜓xɂꍇcropKvƂP[X܂B
		
		Ⴆ΁A1080i  MPEG-2 Xg[͏c1088Ń_CNgɃfR[hE\邽߁A
		8Ccrop1080ɂƂłB
		
		=true    _CNgǂݍ݂L܂
		=false   _CNgǂݍ݂𖳌܂iftHgB]̏Ɠj

	repeat
		fXg[RFF(Repeat First Field)tOꍇAL܂B
		
		23.976PsFA29.97PsFƂvObVux[XRFFtXg[w肳ꂽ
		tOɏ]ăv_Eo͂܂iႦ΁Ao͐悪erz肵ĂXg[59.94iփv_EójB
		v_ẼtB[h͌q dominance ŎwB
		
		ȃvObVuXg[ɑ΂ėL2:1C^[Xo͂ƂȂ܂(1t[2tB[hɂȂ)B
		
		PAFF(Picture Adaptive Field Frame)ŃC^[X肳Ă镔ł Apply repeat flag 
		t[1s[g邽߁As[g\ĂقȂꍇ͓@\L܂傤B
		
		=true    @\L܂
		=false   @\𖳌܂

	dominance
		L repeat Lɋ@\Av_ẼtB[hw肵܂B
		̂ƂAffmpeg  libavcodec  TFF tǑʁi\jnĂȂ߁A
		ł TFF  BFF w肷dlƂȂĂ܂B

		=0    Obey source flags \[Xf̃tOɏ]ݒ肵܂(ftHg)
		=1    TFF(Top Field First)ƂătB[hs܂
		=2    BFF(Bottom Field First)ƂătB[hs܂



Libav/ffmpeg T|[gReiyщ̓ǂݍ

LWLibavAudioSource("source file", cache, stream_index, av_sync, layout)

	"source file"
		ǂݍމft@Cw肵܂B

	cache
		Xg[͂ăCfbNXt@Cigq lwij𐶐܂B
		CfbNXt@C𐶐ĂƁAҏW̃V[NKɂȂ܂B
		CfbNXt@C AviUtl  Libav-SMASH File Reader ̂
		݊邽߁AAviSynthEAviUtl ݂̊ŗpł܂B
		=true    CfbNXt@C𐶐܂iftHgj
		=false   CfbNXt@C𐶐܂

	stream_index
		Xg[̃CfbNXio[w肵ēǂݍ݂܂B
		̃Xg[i[ĂReiCӂ̉fR[hۂɎw肵܂傤B
		=-1  iftHgj
		=n   Cӂ̃CfbNXio[(n)ɑΉ鉹Xg[ǂݍ݂܂

	av_sync
		LWLibavVideoSourceǂݍݎ̃CfbNXt@C(܂̓t@C𐶐
		IɐCfbNXjŐݒ肳ꂽfXg[Ɖ𓯊āAYh܂B
		AfEƂ Libav œǂݍ܂Ă邱ƂƂȂ܂B
		
		擪t[̓|CgƂȂ܂AffmpegpMPEGnf\ꍇA
		擪GOPIsN`A܂̓fR[hۏ؂ȂBPsN`擪ɂꍇ͍ŏIsN`
		֕\邽߁AClosedGOPOpenGOPł͕\[኱قȂ܂i͓jB
		* vOC ffmpeg gpĂ܂B

		Libav pĂꍇ擪t[|CgƂȂ܂A
		OpenGOP̂悤BsN`n܂łĂIsN`ő֕\AĂĂ\܂B
		
		=true    CfbNXt@CŎw肳ĂfXg[Ɖ𓯊܂
		=false   𓯊܂iftHgj

	layout
		`l̃CAEgw肷邱Ƃł܂B
		Ӑ}CAEgŏo͂ƂɎw肵܂傤B
		
		= ͈ȉQƁi_uNH[e[VŊ邱Ɓj
		
		FL  = tgEtg
		FR  = tgECg
		FC  = tgEZ^[
		LFE = gGtFNgi0.1ch̒ቹj
		BL  = obNiAjEtg
		BR  = obNiAjECg
		FLC = tgEtg̃Z^[
		FRC = tgECg̃Z^[
		BC  = obNiAjEZ^[
		SL  = TChEtg
		SR  = TChECg
		TC  = gbvEZ^[
		TFL = gbvEtgEtg
		TFC = gbvEtgEZ^[
		TFR = gbvEtgECg
		TBL = gbvEobNEtg
		TBC = gbvEobNEZ^[
		TBR = gbvEobNECg
		DL  = _E~bNXEtg
		DR  = _E~bNXECg
		
		)
		layout="FL+FR+FC+LFE+BL+BR"		# 5.1chTEh̎w
		
		܂Aȉ̂悤ɃVvȎw@܂B
		
		mono           = FCimj
		1              = mono wƓl
		stereo         = FL+FRiXeIj
		2              = stereo wƓl
		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+BRi5.1chTEhj
		5.1(side)      = FL+FR+FC+LFE+SL+SR
		5.1+downmix    = FL+FR+FC+LFE+BL+BR+DL+DR
		6              = 5.1wƓl
		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.1wƓl
		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.1wƓl
		octagonal      = FL+FR+FC+BL+BR+BC+SL+SR
		downmix        = DL+DRistereoւ̃_E~bNXj
		
		)
		layout="5.1"			# layout="FL+FR+FC+LFE+BL+BR" wƓl
		layout="7.1(wide)"		# layout="FL+FR+FC+LFE+BL+BR+FLC+FRC" wƓl



===================================================================================================

yLWLibavVideoSource gp̒ӓ_z

LWLibavVideoSource ňꕔRei(TS)ǂݍނƃt[[g擾łȂP[XHɂ邽߁A
̏ꍇ AssumeFPS Őmȃt[[gĐݒ肵ĂB
ӂƁAԉfŉƂ̓Ɏxꍇ܂B

킩Ȃꍇ̓t[[gĎw肷ׂł͂܂񂪁AǂĂmFꍇ
MediaInfo Ńt[[g𒲂ׂ̂łB

# MPEGnR[fbNŐ擪܂͍ŌGOPsSłP[XŔՂłA݂͂قډPĂ܂


)erx[Xł29.97(30000/1001)fps̉fXg[

	V1 = LWLibavVideoSource("e:\video\hogehoge.ts")
	``
	AssumeFPS(30000,1001)    # trimt3-2v_EOɎw肷

܂

	LWLibavVideoSource("e:\video\hogehoge.ts").AssumeFPS(30000,1001)



===================================================================================================

yavsz

MP4Reỉf̂ݓǂݍ
	LSMASHVideoSource("e:\video\hogehoge.mp4", track=0, threads=0, seek_threshold=10, seek_mode=0)

̂ݓǂݍ
	LSMASHAudioSource("e:\video\hogehoge.m4a", track=0, skip_priming=true)

fƉmuxꂽA܂͉fEʁX̃Xg[ǂݍ
	1)
	V1 = LSMASHVideoSource("e:\video\hogehoge.mp4", track=0, threads=0, seek_threshold=10, seek_mode=0)
	A1 = LSMASHAudioSource("e:\video\hogehoge.mp4", track=0, skip_priming=true)
	AudioDub(V1, A1)

	2)
	V1 = LSMASHVideoSource("e:\video\hogehoge.mp4", track=0, threads=0, seek_threshold=10, seek_mode=0)
	A1 = LSMASHAudioSource("e:\video\hogehoge.m4a", track=0, skip_priming=true)
	AudioDub(V1, A1)

Libav/ffmpeg Ή̓œǂݍ
	V1 = LWLibavVideoSource("e:\video\hogehoge.ts", cache=true, stream_index=-1, threads=0).AssumeFPS(30000,1001)
	A1 = LWLibavAudioSource("e:\video\hogehoge.ts", av_sync=true)
	AudioDub(V1, A1)



===================================================================================================
y|Wgz
	VFR-maniac/L-SMASH Works
	https://github.com/VFR-maniac/L-SMASH-Works
	git://github.com/VFR-maniac/L-SMASH-Works.git
===================================================================================================
yrhlz
	POP
	POP@4bit http://pop.4-bit.jp/
===================================================================================================

yXVz
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.
			r662 avs_input: Forgot to support RGB48 input.

2013/08/02	L-SMASH Works r661	git-8f1f366		# L-SMASH_r749	ffmpeg-9408d99

2013/08/01	L-SMASH Works r659	git-351542e		# L-SMASH_r748	ffmpeg-69fe25c
			r646 lsmashsource: YUV range is supposed to be detected properly now.
			r644 common/video_output: YUV range is supposed to be detected properly at init.
			r632 libavsmash: Always try to set bits_per_coded_sample from summary for video stream.

2013/06/21	L-SMASH Works r629	git-b36c56a		# L-SMASH_r747	ffmpeg-c605adb

2013/06/16	L-SMASH Works r620	git-fdaff9c		# L-SMASH_r746	ffmpeg-1163910
			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.
			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.
			r572 lwlibav: Improve handling of PAFF field coded pictures.
			r570 README: Correct the documentation of channel layout.
			r567 AviSynth: Add a README.
			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

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
			r549 lwlibav: Support repeat flags.
				 Original patch by Masaki Tanaka <maki.rxrz@gmail.com>.
			r548 lwlibav: Always treat repeat_pict as field level.
			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.
			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. c
				 Fix PTS generation when any B-picture or BI-picture are present.
			r519 configure: Fix permissions.
			r518 lwlibav: Fix average displayed framerate caluclation when PTSs are generated.
			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.
			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.
			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.
			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.
			r468 lwlibav: Fix a comment in 5a8c5b3(r466).
			r466 lwlibav: Don't treat IDR-frame as a keyframe if not immediately preceded by corresponding SPS and PPS.
			r464 lsmashsource: Don't show any libav/ffmpeg's logs in Release builds.
			r462 resample: Remove redundant codes to flush buffers.
			r459 lsmashsource: Add 'dr' option to LSMASHVideoSource().
			r458 lsmashsource: Fix BGRA direct rendering.
			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.

2013/02/20	L-SMASH Works r451	git-9cf3488		# L-SMASH_r717	ffmpeg-1acd7d5
			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.
			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.
			r438 lwlibav: Simplify frame reading slightly.
			r437 lwlibav: Fix a regression in b79372b(r432).
				 The number of decoder delay was not counted correctly when finding the first valid video 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.
			r432 lwlibav: Remove packet input buffer.
			r431 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.
			r430 Add apropriate prefix to some data types.
			r429 lsmashsource: Don't write black background when input resolution equals output resolution.
			r428 lsmashsource: Fix 10L in b3cf6e9(r425). If the first frame was invalid, might have caused a crash.
			r427 lsmashsource: Fix include file for linking with ffmpeg.
			r426 lsmashsource: Use sws_scale() instead of env->BitBlt even if there is no pixel format conversion.

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.
			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.
			r413 lsmashsource: Split some codes into files.

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
			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.
			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
			r394 lsmashsource: Add null pointer check on extended_data.
			r390 lsmashsource: Use av_image_alloc to simplify the codes of frame maker.

2013/01/09	L-SMASH Works r380	git-e04f0b3		# L-SMASH_r712	ffmpeg-79013a5
			r375 lsmashsource: Rename directory name: Avisynth -> AviSynth.
			r370 lsmashsource: Fix typo of data type.
			r369 lsmashsource: Remove inappropriate comments about licenses.
			r368 lsmashsource: Support change of video resolution.

2012/12/06	L-SMASH Works r366	git-fad0ccf		# L-SMASH_r706	ffmpeg-09456d0

2012/11/14	L-SMASH Works r365	git-ddbe843		# L-SMASH_r704	ffmpeg-b616588
			r365 lsmashsource: Update for the latest L-SMASH.

2012/10/20	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.

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.

