ACF登録関数 | ワークメモリ計算関数 |
---|---|
criAtomEx_RegisterAcfConfig | criAtomEx_CalculateWorkSizeForRegisterAcfConfig |
criAtomEx_RegisterAcfData | criAtomEx_CalculateWorkSizeForRegisterAcfData |
criAtomEx_RegisterAcfFile | criAtomEx_CalculateWorkSizeForRegisterAcfFile |
ACBロード関数 | ワークメモリ計算関数 |
---|---|
criAtomExAcb_LoadAcbData | criAtomExAcb_CalculateWorkSizeForLoadAcbData |
criAtomExAcb_LoadAcbFile | criAtomExAcb_CalculateWorkSizeForLoadAcbFile |
D-BAS作成関数 | ワークメモリ計算関数 |
---|---|
criAtomExDbas_Create | criAtomExDbas_CalculateWorkSize |
ADX | HCA(HCA-MX) |
---|---|
criAtomEx_CalculateAdxBitrate | criAtomEx_CalculateHcaBitrate |
AtomExプレーヤ作成関数 | ワークメモリ計算関数 |
---|---|
criAtomExPlayer_Create | criAtomExPlayer_CalculateWorkSize |
main() { void *work; // ワークメモリアドレス CriSint32 size; // ワークメモリサイズ : // ライブラリの初期化に必要なワークメモリのサイズを計算 size = criAtomEx_CalculateWorkSize(&config); // ワークメモリの確保 work = malloc((size_t)size); // ライブラリの初期化 // →確保済みのワークメモリを指定する。 criAtomEx_Initialize(&config, work, size); : // アプリケーションのメイン処理 // →この間、確保したメモリは保持し続ける。 : // アプリケーションを終了する際に終了処理を行う criAtomEx_Finalize(); // 必要なくなったワークメモリを解放する free(work); : }
実装インターフェース | 登録関数 |
---|---|
メモリ確保関数 CriAtomMallocFunc | criAtomEx_SetUserAllocator マクロ |
メモリ解放関数 CriAtomFreeFunc | criAtomEx_SetUserAllocatorマクロ |
// 独自のメモリ確保関数 void *user_malloc(void *obj, CriUint32 size) { void *mem; // メモリの確保 mem = malloc(size); return (mem); } // 独自のメモリ解放関数を用意 void user_free(void *obj, void *mem) { // メモリの解放 free(mem); return; } main() { // 独自のメモリアロケーターを登録 criAtomEx_SetUserAllocator(user_malloc, user_free, NULL); // ライブラリの初期化 // ワークメモリにはNULLと0を指定する。 // →必要なメモリは、登録したメモリ確保関数を使って確保される。 criAtomEx_Initialize(NULL, NULL, 0); : // アプリケーションのメイン処理 : // アプリケーションを終了する際に終了処理を行う // →初期化時に確保されたメモリは、登録したメモリ解放関数を使って解放される。 criAtomEx_Finalize(); : }