流媒體程式開發之H264解碼器移植到OPhone

來源:互聯網
上載者:User

1.移植目標

將H.264解碼器移植到OPhone作業系統之上(NDK+C),並寫一個測試程式(OPhoneSDK+Java)測試解碼庫是否正常運行,下面是解碼時的截圖:

OPhone的模擬器和Mobile的模擬器一樣是類比ARM指令的,不像Symbian模擬器一樣執行的是本地代碼,所以在模擬器上類比出來的效率會比真實手機上的效率要低,之前這款解碼器已經最佳化到在nokia 6600(相當低端的一款手機,CPU主頻才120Hz)上做到線上播放。

2.面向人群

本文面向有一定的手機應用開發經驗(例如:S60/Mobile/MTK)和有一定的跨手機平台移植經驗的人員,協助她們瞭解一個企業的核心庫(C/C++)是怎麼移植到OPhone之上的。

3.假定前提

1)熟悉Java/C/C++語言;

2)熟悉Java的JNI技術;

3)有一定的跨手機平台移植經驗;

4)有一套可供移植的原始碼庫,這裡以H.264解碼庫為例,為了保護我們的知識著作權,這裡只能夠公開標頭檔:

#ifndef __H264DECODE_H__
#define __H264DECODE_H__

#if defined(__SYMBIAN32__)  //S602rd/3rd/UIQ
     #include <e32base.h>
     #include <libc"stdio.h>
     #include <libc"stdlib.h>
     #include <libc"string.h>
#else                       //Windows/Mobile/MTK/OPhone
     #include <stdio.h>
     #include <stdlib.h>
     #include <string.h>
#endif

class H264Decode
{
public:
     /***************************************************************************/
     /* 構造解碼器                                                        */
     /* @return H264Decode解碼器執行個體                                      */
     /***************************************************************************/
     static H264Decode *H264DecodeConstruct();
     /***************************************************************************/
     /* 解碼一幀                                                     */
     /* @pInBuffer   指向H264的視頻流                                      */
     /* @iInSize H264視頻流的大小                                      */
     /* @pOutBuffer  解碼後的視頻視頻                                        */
     /* @iOutSize    解碼後的視頻大小                                        */
     /* @return      已解碼的H264視頻流的尺寸                              */
     /***************************************************************************/
     int DecodeOneFrame(unsigned char *pInBuffer,unsigned int iInSize,unsigned char *pOutBuffer,unsigned int &iOutSize);
     ~H264Decode();
};
#endif  // __H264DECODE_H__

你不用熟悉OPhone平台,一切從零開始,因為在此之前,我也不熟悉。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.