
* cωȂꍇ̏쐬B

-- LineAveragingReducer_RatioAny ̍œK

	k䗦1/2傫ꍇ́AbodyCount 0  1 ŁA2܂Ƃ߂ď鎖ɂč}Ă邪A
	2AX̂ŁAǂ̎ނ2p邩Oɒׂăe[û͂ǂH
	̏Ń[vɏoׁA𖈉񂵂Ȃŗǂ̂ōɏł̂ł͖H
	
		// 0݂̂̏ꍇ
		// 1݂̂̏ꍇ
		// 擪 0  4ȏ㑱ꍇ́A0̌JԂ񐔂̃e[uB0̌JԂ̌ɂ 1 BŌゾʁB
		// 擪 0001 ̏ꍇ́A0001̌JԂ񐔂̃e[uB0001̌JԂ̌ɂ 0 B
		// 擪 001 ̏ꍇ́A001̌JԂ񐔂̃e[uB001̌JԂ̌ɂ 0 B
		// 擪 01001 ̏ꍇ́A001̌JԂ񐔂̃e[uB001̌JԂ̌ɂ 01 B
		// 擪 01 ̏ꍇ́A01̌JԂ񐔂̃e[uB01̌JԂ̌ɂ 0 B
		// 擪 10 ̏ꍇ́A10̌JԂ񐔂̃e[uB10̌JԂ̌ɂ 1 B
		// 擪 10110 ̏ꍇ́A110̌JԂ񐔂̃e[uB110̌JԂ̌ɂ 10 B
		// 擪 110 ̏ꍇ́A110̌JԂ񐔂̃e[uB110̌JԂ̌ɂ 1 B
		// 擪 1  3ȏ㑱ꍇ́A1̌JԂ񐔂̃e[uB1̌JԂ̌ɂ 0 BŌゾʁB
	
		0݂̂̏ꍇāA[vswitch𖳂ČȂɑxςȂcB
		P炢ł͂ȂɃNeBJɏxςƂƂ͖悤B
	
* About̃o[W\AɃ\[X玩IɃo[W擾ĕ\Ɏg悤ɂB

* hbOhbvɑΉB
	
	ɑΉĂB
	
	MRUXVĂłȂB

* k\ۂɏcۂIvVt

* Window̑傫2048ȉɂΉĂȂ̂ŉƂB

	MAX_WINDOW_WIDTH MAX_WINDOW_HEIGHT 萔̒l 2048  4096 ɕύXB

* `悷邩Ȃ̏k䗦̔fɂďk̔䗦`FbNĂȂC

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

xȃfW^ϕg悤ɂB

	http://www.codeproject.com/KB/recipes/FastNumericalIntegration.aspx

ResampleImage 
	
	horizontal decimation xAvertical decimation 悤ɂB
	LbVɃqbg悤ɃubNďB
	ic̏k傫ꍇ́AubÑTCY傷̂ňӖǁj
	
	̏kSSEgčœKB
	Lanczos2ALanczos3

MIPMAPB

o32bit

	c̏kXbhŕ񏈗sčœK
		
		temporarybufferthreadpӂKvB
		
			Xbhʂɍ݂B
			摜̍ꍇɏ\ɊmۂȂꍇ蓾̂ŁAOɕKvȗeʂvZB
		
		ClassȂƁASĂяöׂ̏擾̑̌nς킵B
			AveragingReduce ֐̂ class
		
		RatioAnyŁAc̔䗦؂ȂꍇłthreadŕďsB
		
		ʂϓɕUB
	
	ɒ[ɏk䗦傫ƃe|ȃobt@16bitẍׂɃI[o[t[Ă܂ւ̑ΏB
	
		I[o[t[\邩ǂOɌvZŒׂB
		ꎞobt@evf32bitxɂHƂȂƁAfloatǂ̂ŁASSE2ł͂ȂSSEł̏ɂȂ邩cB
		
			MIPMAPŉB
		
	SrcWidth4̔{ŖassertɈ|邯ǁAƂnȂƃG[ɂȂ̂ŁA΍􂷂B
	
	ݏĂȂ[̕܂łƏ悤ɋLqB
	
		*  1 : N ̏kŉE[ɃS~oĂ܂̂ŒB
			
			LineAveragingReducer_Ratio1NX ̗̉]̏̕LqB
		
			1pixelɖȂ͂ǂ̂H
		
		[1sNZ̐LČׂɃlω悤ɂB
			
			[̃sNZ̐LvZ֐
			
			rbg}XNnĂĂŕύXoCgvZ邩H
			
	* LineAveragingReducer_RatioAny ɂāAtailTargetRatios ̓ǂݍ2ό`B
		
		32bit܂Ƃ߂čsāA128bitWX^64rbg߂悤ɕό`B
	
	* œK1.0.17̕1.0.15菈xȂĂB𒲍B
		
		FXA__forceinlineƂƂc
		
	ɑΉo悤AlphaChannelƏkłB
	
		ł͖肪̂H
		
		E[肪B
		
	-- œKׂ̈ɁALineReducerɁAǂݍŏƓ16bit -> 8bitɕϊďދ@\tB

		 AveragingReduce_Ratio1
		 AveragingReduce_Ratio1NX
		~ AveragingReduce_RatioAny
		
			R䗦̏ꍇ́AȂƂȂ̂őςAőƍׂɊi[ȂƂȂ̂ŖӖB
		
		ǂꂾxς̂H
		
		temporaryɓǂݏ鏈BKvB

	*  2 : 3 ̏k̓ł

		o 2 pixel ̃f[^ׂ̈ɁAǂݏo 3 pixel KvƂB
		o 8 pixel ǂݏo 12 pixel Cɏ

	--  2 : 5 ̏k̓ł

		o 2 pixel ̃f[^ׂ̈ɁAǂݏo 5 pixel KvƂB
		o 8 pixel ǂݏo 20 pixel Cɏ

	--  2 : 7 ̏k̓ł

		o 2 pixel ̃f[^ׂ̈ɁAǂݏo 7 pixel KvƂB
		o 8 pixel ǂݏo 28 pixel Cɏ
		
	--  2 : 9 ̏k̓ł

		o 2 pixel ̃f[^ׂ̈ɁAǂݏo 9 pixel KvƂB
		o 8 pixel ǂݏo 36 pixel Cɏ

	 2 : N ̏k̓łB

		o 2 pixel  128bitȂ̂ŁAoɍsB
		
	 3 : 4 ̏k̓łB

		o 3 pixel ̃f[^ׂ̈ɁAǂݏo 4 pixel KvB
		o 6 pixel ǂݏo 8 pixel Cɏ

	 3 : 5 ̏k̓łB

		o 3 pixel ̃f[^ׂ̈ɁAǂݏo 5 pixel KvB
		o 12 pixel ǂݏo 20 pixel Cɏ

	--  3 : 7 ̏k̓łB

		o 3 pixel ̃f[^ׂ̈ɁAǂݏo 7 pixel KvB
		o 12 pixel ǂݏo 28 pixel Cɏ
		
	--  3 : 8 ̏k̓łB

		o 3 pixel ̃f[^ׂ̈ɁAǂݏo 8 pixel KvB
		o 6 pixel ǂݏo 16 pixel Cɏ

	--  3 : 10 ̏k̓łB

		o 3 pixel ̃f[^ׂ̈ɁAǂݏo 10 pixel KvB
		o 12 pixel ǂݏo 40 pixel Cɏ

	--  M : 2N ̏k̓łB

		2M : 4N Ƒ΁A

		o 2 pixel  128bitȂ̂ŁAoɍsB
		ǂݏo 4 pixel  128bitȂ̂ŁAǂݏoɍsB

	--  M : 4N ̏k̓łB

		M  2ȊOBN菬lB

		ǂݏo 4 pixel  128bitȂ̂ŁAǂݏoɍsB

̏k Lanczos2Acʐϕϖ@̏k쐬B
	
	c̏ḱAʐϕϖ@ĝŁAʃt@Cɕ邩B
	
	C̉kInterfacêŏ\Ή\B
	
Windoŵǂɉ摜\̂ݒo悤ɂBiAAetc...j
	
ݒt@CĐݒێB
	
摜gɂΉB
	
	kƂ͕ʂɕݒo悤ɂB
	
	gł͖ʐϕϖ@͑IׂȂ悤ɂB

24bit o32bit
	
	摜32bitŎƗeʂȂ̂ŁA24bitŎȂB

32bit o24bit
	
	KvB

YCbCȓΉ
	
	FXȌ`̂łǂɑΉ邩H
	
	F sub samplingĂ鎖̂ŁcB
	
-- SSE4܂ŎgčœK

	oΈCɍœKB
	
	NXtemplatew肩BonamespaceǂǁAtemplate parameterł͖Ȃ̂ŁB
		
		܂Ƃ߂ƂӖclass͖]܂̂ł͂ȂH

-- mCY
	
---------------------------------

menuڂ̎

menuIDenum̑ݕϊ

ݑIĂmenuڂɎchecktdg

UPDATE_ELEMENT(ID_RESAMPLINGFILTERS_BOX, UPDUI_MENUPOPUP)

WTLMenuXṼJjYgꍇɂ͐FXȋLqKvɂȂB

Menuڂꍇ́Aǂ܂WTL̘gg݂ĝlKvB

MenuMainFrameł́AView̓s͒ړIɂ͈؊֗^Ȃōςނ悤ɂKvB

MIPMAP

---

ImageIO 

\

lib, dll ɏolibrary쐬B
papplicationbuildxɍēxcompileȂĂǂ悤ɂB
p鑤ł́AheaderincludesB

@\

EΉ摜tH[}bg BMP, JPEG, TIFF, PNG ɑΉBΉ摜tH[}bg𑝂₷eՂȍɂB
Eǂݍݔ͈͂̎wA摜t@C̈ꕔǂݍގo悤ɂB
E摜CPʁA̓ubNPʂœǂݎďsBŜxɂ͏ȂB
ErŒfo悤ɂB


Cuł̃̊mۂ͍ŏɗ߂B

