锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
1. 涓嬭澆鏈鏂癵it鐗堟湰鐨勬簮浠g爜(http://ffmpeg.zeranoe.com/builds/, 鏈緥涓嬭澆鐨勬槸2011-12-12鐗堟湰)
2. 鏀懼埌MSYS鐜閲岄厤緗紝鐢熸垚config.h鏂囦歡銆俶ingw gcc鏄兘欏哄埄緙栬瘧閫氳繃鏁翠釜欏圭洰鐨勶紝騫剁敓鎴愭渶鏂扮増鐨刦fmpeg銆?br />3. 寤虹珛vc6宸ョ▼錛屾妸鐩稿叧浠g爜閮藉姞鍏ュ埌宸ョ▼涓傜敱浜庡湪vc鐢熸垚鐨刼bj閮藉湪涓涓洰褰曚笅錛屾墍浠ラ渶瑕佷慨鏀規(guī)枃浠跺悕錛岃鍏朵笉閲嶅悕銆?br />4. 瀹夎intel compiler 11緙栬瘧鍣紝鍗曠嫭鎻愬彇鍏秈cl.exe鍙?qiáng)鐩稿叧include鐩綍錛屾浛鎹㈡帀vc6鑷甫鐨刢l.exe, 鍦ㄥ伐紼嬭緗噷鍔犱笂/Qstd=c99錛岀敤浜庢敮鎸丆99璇硶銆?br />5. 瀹夎intel compiler 10緙栬瘧鍣紝鍗曠嫭鎻愬彇lib鐩綍錛屽洜涓烘鐗堟湰璋冭瘯搴撶殑緇撴瀯鑳藉畬緹庢敮鎸乿c6鐨勮皟璇曚俊鎭?br />6. 鍦╲c6鐨刼ptions閲岃緗甶nclude/exe/lib鏌ユ壘鐩綍錛屾寚鍚慽ntel緙栬瘧鍣ㄣ?br />7. 寮濮嬩慨鏀逛唬鐮侊紝娣誨姞C99鐨勭浉鍏砽inux澶存枃浠? 鐢ㄤ簬鏀寔vc6, (unistd.h, stdint.h, inttypes.h, getopt.h)
8. 娣誨姞C99鍜宭inux鐨勭浉鍏沖疄鐜頒唬鐮侊紝ffmpeg闇瑕佺敤鍒? getopt_long, strtoll, gettimeofday, atoll, usleep絳?br />9. 淇敼windows鐨勭浉鍏沖吋瀹逛唬鐮侊紝GetWindowLongPtr -> GetWindowLong, GWLP_USERDATA
10. 鍘婚櫎紜歡鍔犻焞ibavcodec浠g爜錛屽拰渚濊禆搴撲唬鐮併傞夋嫨鎵闇瑕佺殑妯″潡錛屼慨鏀圭浉鍏崇殑allcodec.c, alldevices.c, allfilters.c, allformats.c
11. 鍔犱笂閾炬帴搴擄紝sdl.lib, winmm.lib, dxguid.lib, wsock32.lib
12. 鍦╫s_support.c閲岋紝鎶?lt;winsock2.h>縐誨姩鍒版枃浠舵渶鍓嶉潰銆?br />13. 濡傛灉鏄痜fmpeg, 宸茬粡鑳介『鍒╃紪璇戜簡(jiǎn)銆傚鏋滄槸ffplay錛岃繕闇瑕佺紪璇戦潤(rùn)鎬乻dl, 騫墮摼鎺ャ?br />14. 絳夌瓑錛岄煶棰戣繍琛屼笉姝g‘錛熸湁闆姳澹幫紵鍥犱負(fù)榪橀渶瑕佹浛鎹㈡墍鏈夋枃浠墮噷鐨?lt;math.h>涓?lt;mathimf.h>, 榛樿鐨剅int絳夋暟瀛﹀嚱鏁板拰gcc涓嶅吋瀹廣?br />15. ok, 澶у姛鍛婃垚錛岀函C鐗堟湰瀹岀編榪愯銆?br />16. 鐢變簬ffmpeg0.9鍦╟鏂囦歡閲岋紝娣誨姞浜?jiǎn)涓浜沬ntel compiler涓嶆敮鎸佺殑mmx璇硶錛屾墍浠ョ紪璇憁mx/sse鍔犻熺増鏈椂錛屼竴灝忛儴鍒?c鏂囦歡闇瑕佷緷璧杕ingw gcc緙栬瘧鎴?o鏂囦歡錛屽啀閫氳繃vc6鐨刲ib.exe宸ュ叿杞崲鎴恖ib錛岃vc6閾炬帴涓娿傚綋鐒惰繕瑕佸姞涓妝asm緙栬瘧鐨勫緢澶氭眹緙杘bj.
17. 鏈夊叴瓚g殑錛屽彲浠ョ戶(hù)緇互姝ゆ柟娉曠紪璇憍264搴擄紝瀹樻柟鏈鏂頒唬鐮丮MX鐗堜篃鍙互欏哄埄閫氳繃銆?br />
jpeg2000
鏈夊皬娉㈡誕鐐規(guī)垨鏁存暟涓ょ鍙樻崲綆楁硶, 鐔電紪鐮?MQ-Code錛屼腑絳夊帇緙╂瘮鏈夎壇濂界殑琛ㄧ幇錛岃鐢熸牸寮忎負(fù)ecw錛岀敤浜庡帇緙╁崼鏄熷浘鐗囥?/p>
jpeg-xr
john carmack鍦╮age璧勬簮涓嬌鐢ㄧ殑鏍煎紡錛屼粬鎺ㄨ崘鐨勪竴鑸兘涓嶄細(xì)宸傚井杞畾涔夌殑寮婧愮畻娉曪紝姣攋peg2000鏈夋墍榪涘寲錛屼富瑕佹敼榪涙湁DCT鍧楃殑灞傛淇濆瓨鏍煎紡錛屽潡涔嬮棿鍚庢湡鎺ョ紳澶勭悊銆傛湁鏃犳崯鍜屾湁鎹熸ā寮忥紝閫傚悎闀挎湡淇濆瓨娓告垙璐村浘銆?/p>
h264 iframe
浣跨敤鍗曞撫鍐呴嫻嬫妧鏈紝鍥劇墖瓚婂ぇ錛岃秺鑳戒綋鐜拌秴寮虹殑鍘嬬緝姣斻傜喌緙栫爜=Gobomb-Code
鍏朵粬涓浜涙父鎴忓帇緙╂牸寮?
pvrtx
iphone鍘嬬緝鏍煎紡, 鏁堟灉姣旇緝鐞嗘兂錛屼笉寮婧愩?/p>
etc1
android涓櫘閬嶇殑鍘嬬緝鏍煎紡銆?/p>
dxt1, dxt3, dxt5
鏃╂湡鐨勭粡鍏告牸寮? 閲囩敤鍧楃姸鍒嗗壊錛屾亽瀹氬帇緙╂瘮錛岄傚悎浜屾鍘嬬緝銆?/p>
bc6, bc7
琚井杞己鍖栫殑dx10鍘嬬緝鏍煎紡錛屽拰dxt1涓涓帇緙╂瘮錛屽浘鐗囪川閲忛潪甯稿ソ銆?/p>
鍏朵粬闈炴父鎴忓帇緙╂牸寮?
1. 鍥劇墖鎵弿鏂囦歡浜屽煎帇緙╂牸寮? JB2(djvu), JBIG2(pdf), TIFF C4
2. 鏁扮爜鐩告満閲孯AW鍘嬬緝鏍煎紡, 鐢ㄤ簬榪戞棤鎹熷帇緙╋紝澶ч儴鍒嗗巶鍟嗛兘鏈夎嚜宸辯殑瀹氫箟:Epson ERF, SGI Log24, Nikon NEF, Kodak DCR, Pentax PEF絳?/p>
-------------------------
1:100鐨勫浘鐗囧帇緙╂晥鏋滃姣?img border="0" alt="" src="http://www.shnenglu.com/images/cppblog_com/foxriver/compare_jpegxr_2x.jpg" />
娓告垙璐村浘鍘嬬緝璐ㄩ噺瀵規(guī)瘮鍥?img border="0" alt="" src="http://www.shnenglu.com/images/cppblog_com/foxriver/compare_dds.jpg" />
1. 鍗風(fēng)Н錛岄氬父鍦ㄦ簮鍥劇墖絀洪棿閲囨牱錛屼絾鏈夋椂鍊檞arp綆楁硶澶嶆潅錛堟瘮濡俁BF寰勫悜鍩哄嚱鏁?錛岄犳垚鍍忕礌鍦ㄦ簮鍥劇墖絀洪棿綰墊í姣斾緥涓嶅悓錛屽線(xiàn)寰(xiàn)鐢ㄥ悗緗護(hù)娉㈡洿綆鍗曘備互涓嬪姣旀槸1:1瀵硅薄絀洪棿鐨勬棆杞彉鎹€?/p>
鍘熷浘濡備笅錛岀洰鏍囪川閲忓姣斿浘涓轟腑蹇?jī)鏃嬭?搴︼紝閲嶅72嬈★紝姝eソ360搴︽仮澶嶅師鏍楓?br>
1. TestCooperativeLevel()
2. 璁劇疆n-patch緇嗗垎絳夌駭D3DRS_ADAPTIVETESS_Y
3. GPU鍚屾璁劇疆錛孮uery9::GetData(), Query9::Issue()
4. ShadowMap
5. ZPass, 鐢熸垚GBuffer淇℃伅銆?br>6. Depth_DownScale
7. SSAO
8. Scattering List
9. Deferred Lighting
9.1 Irradiance Volume Evaluate
9.2.1 Visares
9.2.2 Outdoor
9.3 Deferred CubeMaps
9.4 Deferred Lights
9.5 SSAO_BLUR
9.6 Deferred Lights
9.6.1 ShadowMap Pool
10. 涓嶉忔槑鐗╀綋緇樺埗銆?br>10.1 General(BW)
10.2 鍦板艦(BW)
10.3 General(AW)
10.4 鍦板艦(AW)
10.5 緇嗚妭(BW)
10.6 緇嗚妭(AW)
10.7 鐨偆鐢熸垚
10.8 鐨偆搴旂敤
11. 鍗婇忔槑鐗╀綋緇樺埗銆?br>11.1 闆?/p>
12. Glow Gen(鍏夋檿鐢熸垚)
13. HDR Post Proesss
13.1 Motion Blur, 榪愬姩妯$硦
13.1.1 Motion Vector Gen
13.1.2 Motion Vector Dilate
13.1.3 Motion Vector Apply
13.1.4 Motion Vector Apply Pass 2
13.2 HalfRes downsample
13.3 QuarterRes downsample
13.4 BrightPass
13.5 Bloom and Flares
13.5.1 TexBlur 16Taps
13.5.2 TexBlur Gaussian
13.5.3 TexBlur Gaussian
13.5.4 HDR flares
13.6 Sunshafts鐢熸垚
13.7 MergeColorCharts
13.8 CombineColorGradingWithColorChart
13.9 ToneMapping
14. Post Effects
14.1 MSAA
14.2 3D HUD
15. 鍒鋒柊緇樺埗
16. 緇樺埗鐣岄潰
17. 緇樺埗璋冭瘯淇℃伅
openssl 寮哄ぇ鐨勫伐鍏烽泦鍚?br>crypto++ 榪囦簬澶嶆潅鐨勫皝瑁咃紝鐗瑰埆鏄痳sa瀹炵幇妯″潡銆?/p>
閫熷害涓婃湁浼樺娍鐨勶細(xì)XySSL, CyaSSL(閮戒嬌鐢ㄧ殑LibTomMath)
閫昏緫涓婃湁浼樺娍鐨勶細(xì)axcrypto, raknet
榪樻湁涓浜涘ぇ鏁板簱: vlong錛學(xué)inNTL
瀵逛簬鍏挜絳懼悕璁よ瘉, google android鑷甫鐨刲ibmincrypt鏈夎秴蹇殑瀹炵幇鏂規(guī)硶錛屽彲鎯滀唬鐮佸彧鏄負(fù)浜?jiǎn)涓瀹朵紭鍖栵紝浠呮彁渚沞=3鐨勫姞閫熴傝岀綉涓婇氬父鐨凙SN.1璇佷功錛岄兘鐢ㄤ簡(jiǎn)e=63357銆?br>
璇曠潃鎶奞Q姣忔潯鑱婂ぉ璁板綍鐪嬫垚SQL閲屽崟涓璁板綍錛屽鍗曟潯璁板綍鍋氬叏鏂囩儲(chǔ)寮曘傝繖閲岀敤鐨勬柟娉曟槸bit浣嶅揩閫熷尮閰嶃傚亣璁句竴鏉¤亰澶╄褰曟槸"test", 杞崲鎴?6榪涘埗錛屽氨鏄?74 65 73 74", 瀵瑰崟鏉¤褰曪紝瀹氫箟196浣峛it絀洪棿(鍗犵敤24瀛楄妭)錛屽畾涔変負(fù)鏁扮粍A, 鐒跺悗鎸塨it灞?娉ㄦ剰涓嶆槸瀛楄妭)鍋歰r鎿嶄綔: (A = A or N, 鎶夾鐨勭N涓猙it璁劇疆涓?)
鍒濆鐘舵侊細(xì)
A = 0; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?/p>
A = A or 0x74; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?br>A = A or 0x65; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?br>A = A or 0x73; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?br>A = A or 0x74; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?/p>
浣跨敤鏃訛紝緇欓渶瑕佹煡鎵劇殑瀛楃涓插緩绔嬬浉鍚屽ぇ灝忕殑bit绱㈠紩B錛屽鏌ユ壘鏁版嵁"es"鍋氱浉鍚屽鐞嗭細(xì)
B = 0;
B = B or 0x65; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?br>B = B or 0x73; // 銆?x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00銆?/p>
鐒跺悗鎶夾鍜孊鍋歛nd鎿嶄綔錛屽鏋滅粨鏋滀負(fù)絀猴紙瀹屽叏娌℃湁浜ら泦錛夛紝鍒欏彲浠ュ揩閫熻煩榪囪繖鏉¤褰曪紝鑰屼笉鐢ㄥ幓鍒ゆ柇瀹為檯鍐呭涓槸鍚﹀寘鍚簡(jiǎn)鏌ユ壘鏂囨湰銆?/p>
if (B & A)
{
// 涓よ呯儲(chǔ)寮曞瓨鍦ㄤ氦闆嗭紝鏈変竴瀹氱殑鍙兘鎬э紝澶勭悊榪涗竴姝ユ枃瀛楁煡鎵炬搷浣溿?br>}
else
{
// 涓よ呬笉鍙兘鏈夊寘鍚叧緋伙紝鐩存帴璺寵繃鏈潯璁板綍鍐呭錛屽垽鏂暟鎹簱涓嬩竴鏉¤褰曘?br>}
鍘熺悊寰堢畝鍗曪紝灝辨槸姹備袱鑰呯殑浜ら泦錛屼絾寰(xiàn)寰(xiàn)綆鍗曠殑绱㈠紩錛岃兘甯︽潵鎰忔兂涓嶅埌鐨勯熷害鎻愬崌銆傚疄闄呮祴璇曚腑錛屽彧瑕佽緭鍏ョ殑鏌ユ壘鏂囨湰姣旇緝鐭皬錛屽ぇ綰?0%~60%涓婁笅嫻姩鐨勬暟鎹兘鑳界洿鎺ョ暐榪囷紝澶уぇ鑺傜渷浜?jiǎn)鏌ユ壘鎬昏楁椂銆?br>
鏈漢瀹炵幇涓紝涓枃鐨勬煡鎵炬柟娉曠浉褰撲簬涓や釜鍗曞瓧鑺傜殑鑻辨枃錛屼負(fù)浜?jiǎn)鏈澶ф晥鐜囧埄鐢ㄧ┖闂達(dá)紝鐢ㄧ畻娉曟妸涓枃姣忎釜BYTE閮藉帇緙╁湪196bit涔嬪唴銆?br>
1. 蹇熼珮鏂ā緋娿?br>2. 浜屾Summed Area Table Blur(閫傚悎gpu, 甯哥敤浜嶥OF錛?a >http://www.gamasutra.com/view/feature/3102/four_tricks_for_fast_blurring_in_.php)
3. Alpha Blur(motionblur鍙樼錛屼紭鍖栬繃鍚庣殑綆楁硶錛屼弗閲嶄緷璧栫浉閭誨儚绱犱箣闂寸瘡縐叧緋伙紝涓嶉傚悎gpu, http://freespace.virgin.net/hugo.elias/graphics/x_motion.htm)
4. SuperFastBoxBlur(http://incubator.quasimondo.com/processing/superfast_blur.php)
鍏朵腑錛岃繖鍥涚鏂規(guī)硶鍐咃紝闄や簡(jiǎn)楂樻柉妯$硦鏄疧(n)涔嬪錛屽叾浠栭兘鏄疧(1)鏁堢巼銆備篃灝辨槸璇達(dá)紝榪愮畻閫熷害鍜屾ā緋婂崐寰勬病鏈夊叧緋伙紝鍙拰鍥劇墖澶у皬鏈夊叧銆?/p>
鍥句笂鏃墮棿浠呬緵鍙傝冿紝闄や簡(jiǎn)AlphaBlur浠g爜浼樺寲榪囷紝鍏跺畠鏂規(guī)硶浠呬粎鏄熀鏈疄鐜板師鐞嗐係uperFastBoxBlur鍜孲ummedAreaTable瀹為檯浣跨敤涓紝瑕佹瘮鍥句笂鏇村揩浜涖?br>
浠ヤ笅鏂規(guī)硶娌℃湁鍒楀叆姣旇緝鑼冨洿
1. 鐩存帴鍩轟簬O(n*n)鐨勯珮鏂ā緋婃牳錛岄熷害澶參銆傚浘涓婃柟娉曢噰鐢ㄧ旱鍚戝拰妯悜楂樻柉鏍稿垎瑙c?br>2. Stack Blur, 姣旈珮鏂揩鐨勬柟娉曪紝騫朵笖鏁堟灉鍜屾晥鐜囧吋澶囥?http://www.codeproject.com/KB/graphics/blurringwithcuda.aspx)
3. FFT gaussian blur
4. High-Dimensional Gaussian Filtering (bilateral)
5. constant time filters - heat diffusion.(Kass, 2006)
6. constant time filters - SVD, singular value decomposition (Gotsman 1994)
7. SAT琛嶇敓鍑烘潵鐨勪竴浜涙柟娉曪紝Fast Filter Spreading錛孡inear Filters and their Transposes銆?br>
---------------------------------------------------
鍏充簬2嬈ummed Area Table瀹炵幇銆?br>
涓嬈AT閲囨牱4涓偣錛屼簩嬈AT鍒欓渶瑕?涓偣錛屼笁嬈¢渶瑕?6涓偣錛屼互姝ょ被鎺ㄣ傚茍涓斾箻?shù)笂瀵瑰簲鐨刉eight Function錛岄櫎浠?闈㈢Н^n, n = 鍑犳). 璇︾粏鍏紡瑙侊細(xì)Filtering By Repeated Integration
#ifndef __file_h__
#define __file_h__
.........function
#endif
--------------------
鐢ㄤ互涓婃妧宸х殑鍓嶆彁鏄紝榪欎釜.H蹇呴』琚笉鍚岀殑CPP鍖呭惈涓ゆ浠ヤ笂銆?br>