ããopenCOREæ¯Androidçåªä½åè½å®ç°çå ³é® ï¼ä½¿å¼å人åè½å¨æ¤ä¹ä¸æ建æ°çåºç¨ï¼å®æ¯æé³è§é¢ææ¾ãé³è§é¢å½å¶ãå¯è§çµè¯ãå客ãå®æ¶æµåªä½æå¡çã
ããopenCORE使ç¨äºå¼æ驱å¨ï¼èç¹æ¡æ¶ï¼Node architectureï¼ ï¼å®ç±C++è¯è¨ç¼åãå¼ææ¥æ¶åºç¨å±çå½ä»¤æ¥è´è´£ç®¡çåæ§å¶æ´ä¸ªèç¹é¾è·¯(Node graph) ãèç¹åèç¹é¾è·¯çéååæ建åå³äºææ¾åæ°ï¼é³è§é¢åªè¾çç±»åãæä½çï¼ã
ãã
ããé常çèç¹é¾è·¯çæ建为以ä¸æ¨¡å¼ï¼
ããè¾å ¥èç¹ï¼Source Nodeï¼ --- å¤ä¸ªå¤çèç¹ï¼Decoder Nodeï¼æ Codecs ... --- è¾åºèç¹ï¼Sink Nodeï¼
ãã
ããopenCOREè¿å æ¬ä¸ä¸ªå¼æ¾æºç çå¤åªä½ç¼è§£ç å¨ï¼è§é¢ï¼å¦MPEG- 4ï¼H.264ï¼ï¼é³é¢ï¼å¦MP3ï¼AACï¼MIDIï¼ï¼ 以åè¯é³ï¼å¦AMRNBï¼AMR WBï¼çãOpenCORE 使ç¨çOpenMAX IL æ¡æ¶å°ç¼è§£ç å¨æ´åå°openCOREæ¡æ¶ä¸ ã OpenMAX IL APIå¨åµå ¥å¼ç§»å¨é¢åé常æåï¼å®ä¸ºç»ä»¶ç移æ¤æä¾äºä¸ä¸ªçæ½è±¡å±ã
ããå°é³æå¤çæ´åå°Androidå¤åªä½ææ¾å¨
ãã主è¦ç两大æ¥éª¤ï¼
ãã1.å¨openCOREçå端添å 对é³æåºçæ¯æ
ãã2.å¨åªä½ææ¾å¨ï¼åºç¨å±ï¼ä¸æ·»å 对openCOREä¸é³æå¤çèç¹ï¼Nodeï¼çæ¯æ
ãã
ãã第ä¸æ¥ãå¨openCOREçå端添å 对é³æåºçæ¯æ
ããOpenCORE为ç¼è§£ç å¨çæ´åæä¾äºå¤ç§å¯éæ¹æ³ï¼åå«å¯ä»¥ä½ä¸ºï¼OpenMAXç¼è§£ç èç¹ãOpenMAX ILç»ä»¶ãå¤åªä½I/O ãå¤åªä½I/O常常ç¨å¨è¾åºæ¾ç¤ºãå¨é³æå¤çæ´åä¸å¯è¡çæ¹æ³æ¯å°é³æåºâå è£ ä¸ºâOpenMAXç¼è§£ç èç¹ æ OpenMAX ILç»ä»¶ã以ä¸åå«è¯´æè¿ä¸¤ç§æ¹å¼çç¨æ³ã
ãã1.OpenMAXç¼è§£ç èç¹
ããè¿ç§æ¹æ³è¦æ±ææ¾å¨å¼ææ¯æå¤ç§é³é¢ææãæ¯ä¸ªææç»ä»¶è¢«å®ç°ä¸ºä¸ä¸ªèç¹Nodeï¼å½æ°æ®è·¯é¾è·¯å建åç±å¼æå建è¿äºèç¹ãæ°æ®æµå¨è·¯é¾çèç¹Nodeé´âæµå¨âï¼å¹¶æå¼æè¿è¡ç®¡çåæ§å¶ãåæ¶ï¼éçå¤ä¸ªææèç¹Node产çç线ç¨å¢å ï¼ç³»ç»è´è·ä¹ä¼å¢éã
ãã
ãã2.OpenMAX ILç»ä»¶
ããé³é¢ææç»ä»¶æå¤ççæ°æ®ä¸ºè§£ç ç»ä»¶çè¾åºï¼æ以æ好å°[é³é¢è§£ç ]å[é³æå¤ç]ç»ä»¶æ¾å¨åä¸å± ãOpenCOREéç¨Open MAX IL为ææçCodecæä¾APIæä½ï¼OpenCOREè¿ç§ç¹æ§ä½¿å¾æ´åé³æå¤çåå¾é常ç´æ¥äºå½ã
ããé³æå¤çåºè¢«ç¼è¯æ为éæåº ï¼å¹¶ç¨ARMçRVCTä¼ååï¼ç¨OpenMAX IL å è£ èµ·æ¥ææäºOpenCOREç»æé¨åã
ãã[é³é¢è§£ç ]å[é³æå¤ç]ç»ä»¶æ¯éè¿APIçILå±è¿è¡éä¿¡çï¼OMXé³é¢è§£ç èç¹Nodeå¨OpenCOREå å½å®¢æ·ç«¯çè§è²ï¼è¿ä¸ªNodeèç¹è´è´£å建ãå é¤ãæ°æ®æµå¨ ï¼å¹¶å°æ§å¶å½ä»¤ãæ°æ®Bufferä¼ å ¥å°é³é¢è§£ç å¨ä¸ï¼é³é¢è§£ç å¨å¤çäºæ°æ®Bufferååå°å®ä»¬è¿åç»Nodeèç¹ãNodeèç¹åå°æ°æ®Bufferä¼ éç»[é³æå¤ç]ç»ä»¶ã
ããè¿ç§æ¹æ³ä¸ç¬¬ä¸ç§æ¹æ³ç¸æ¯å¸¦æ¥ç³»ç»è´è·è¾å°ï¼ä½ä¸æ¯è¯´å®æ²¡æç³»ç»è´è·ãæµæ°æ®è¦å¨ä¸¤ä¸ªç»ä»¶åNodeä¸ä¼ è¾ä¸¤æ¬¡ï¼ç¼ºé·ï¼ ï¼å¹¶ä¸éè¦åè°ç»ä»¶ä¹é´çéä¿¡é®é¢ã