CRI Sofdec  Last Updated: 2024-04-17 11:21 p

データ構造

struct  CriManaVp9DecoderConfig
 VP9デコーダー用コンフィグ構造体 [詳解]
 

マクロ定義

#define criMana_SetDefaultVp9DecoderConfig(p_config)
 VP9ムービー用デコーダーコンフィグ構造体にデフォルト値をセット [詳解]
 

関数

CriSint32 criMana_CalculateVp9DecoderWorkSize (const CriManaVp9DecoderConfig *config)
 VP9デコーダー初期化用ワークサイズ計算関数 [詳解]
 
void criMana_SetupVp9Decoder (const CriManaVp9DecoderConfig *config, void *work, CriSint32 work_size)
 VP9デコーダー初期化パラメーターのセットアップ関数 [詳解]
 

詳解

マクロ定義詳解

◆ criMana_SetDefaultVp9DecoderConfig

#define criMana_SetDefaultVp9DecoderConfig (   p_config)
値:
{\
(p_config)->mem_alloc_func = CRI_NULL;\
(p_config)->mem_free_func = CRI_NULL;\
(p_config)->mem_usr_obj = CRI_NULL;\
(p_config)->thd_num_threads = -1;\
}

VP9ムービー用デコーダーコンフィグ構造体にデフォルト値をセット

引数
[in]p_configVP9ムービー用デコーダーコンフィグ構造体へのポインタ
説明:
criMana_SetupVp9Decoder 関数に設定するデコーダーコンフィグ構造体( ::CriManaVp9DecoderConfig ) に デフォルトの値をセットします。
注意
criMana_SetupVp9Decoder 関数に渡す際には、必ず mem_alloc_func と mem_free_func に メモリ確保、解放可能な関数を設定してください。
コード例を以下に示します。
vp9_config.mem_alloc_func = usr_alloc;
vp9_config.mem_free_func = usr_free;
vp9_config.mem_usr_obj = CRI_NULL;
criMana_SetupVp9Decoder(&vp9_config, work, work_size);
#define criMana_SetDefaultVp9DecoderConfig(p_config)
VP9ムービー用デコーダーコンフィグ構造体にデフォルト値をセット
Definition: cri_mana_vp9.h:59
void criMana_SetupVp9Decoder(const CriManaVp9DecoderConfig *config, void *work, CriSint32 work_size)
VP9デコーダー初期化パラメーターのセットアップ関数
VP9デコーダー用コンフィグ構造体
Definition: cri_mana_vp9.h:76
void * mem_usr_obj
Definition: cri_mana_vp9.h:91
CriManaFreeFunc mem_free_func
Definition: cri_mana_vp9.h:86
CriManaMallocFunc mem_alloc_func
Definition: cri_mana_vp9.h:81
参照
CriManaVp9DecoderConfig

関数詳解

◆ criMana_CalculateVp9DecoderWorkSize()

CriSint32 criMana_CalculateVp9DecoderWorkSize ( const CriManaVp9DecoderConfig config)

VP9デコーダー初期化用ワークサイズ計算関数

引数
[in]configVP9デコーダー初期化用コンフィグ構造体
戻り値
CriSint32 VP9デコーダー初期化用ワークサイズ
呼び出し条件:
スレッドセーフです。
説明:
libvpxを使ったVP9ムービー再生用のデコードモジュールを初期化するためのワーク領域のサイズを取得します。 必要とするワーク領域のサイズは、初期化コンフィグ構造体の内容によって変化します。
引数 config の情報は、関数内でのみ参照されます。関数実行後に config の領域を解放 しても問題ありません。
参照
CriManaVp9DecoderConfig, criMana_SetupVp9Decoder

◆ criMana_SetupVp9Decoder()

void criMana_SetupVp9Decoder ( const CriManaVp9DecoderConfig config,
void *  work,
CriSint32  work_size 
)

VP9デコーダー初期化パラメーターのセットアップ関数

引数
[in]configVP9デコーダー初期化用コンフィグ構造体
[in]workアプリ側で確保済みのワーク領域のアドレス (内部でアライン調整する)
[in]work_sizeワークサイズ
呼び出し条件:
スレッドセーフではありません。
criMana_Initialize 関数よりも前に呼び出してください。
説明:
VP9ムービー再生を行うための、libvpxを使ったVP9デコードライブラリの初期化パラメーターを設定します。

実際のVP9デコーダーライブラリの初期化は criMana_Initialize 関数の呼び出し時になります。
引数 config の情報は、関数内でのみ参照されます。関数実行後に config の領域を解放 しても問題ありません。
備考:
この関数を呼び出すとVP9デコーダーへの関数テーブルがリンクされます。
本関数を使用してVP9デコードを有効にした場合は CriManaVpxライブラリ を追加でリンクしてください。
注意
本関数に渡す際には、必ず CriManaVp9DecoderConfig構造体のメンバー mem_alloc_func と mem_free_func に メモリ確保、解放可能な関数を設定してください。
コード例を以下に示します。
vp9_config.mem_alloc_func = usr_alloc;
vp9_config.mem_free_func = usr_free;
vp9_config.mem_usr_obj = CRI_NULL;
criMana_SetupVp9Decoder(&vp9_config, vp9_work, vp9_work_size);
参照
CriManaVp9DecoderConfig, criMana_CalculateVp9DecoderWorkSize, criMana_Initialize