CRI Sofdec  Last Updated: 2024-09-25 20:36 p

データ構造

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

マクロ定義

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

型定義

typedef void(* CriManaDav1dFreeFunc) (void *obj, void *mem)
 メモリ解放関数 [詳解]
 

関数

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

詳解

マクロ定義詳解

◆ criMana_SetDefaultDav1dConfig

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

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

引数
[in]p_configAV1ムービー用デコーダーコンフィグ構造体へのポインタ
説明:
criMana_SetupDav1d 関数に設定するデコーダーコンフィグ構造体( ::CriManaDav1dConfig ) に デフォルトの値をセットします。
注意
criMana_SetupDav1d 関数に渡す際には、必ず mem_alloc_func と mem_realloc_func 、 mem_free_func に メモリ確保、再確保、解放可能な関数を設定してください。
コード例を以下に示します。
CriManaDav1dConfig av1_config;
av1_config.mem_alloc_func = usr_alloc;
av1_config.mem_realloc_func = usr_realloc;
av1_config.mem_free_func = usr_free;
av1_config.mem_usr_obj = CRI_NULL;
criMana_SetupDav1d(&av1_config, work, work_size);
void criMana_SetupDav1d(const CriManaDav1dConfig *config, void *work, CriSint32 work_size)
AV1デコーダー初期化パラメーターのセットアップ関数
#define criMana_SetDefaultDav1dConfig(p_config)
AV1ムービー用デコーダーコンフィグ構造体にデフォルト値をセット
Definition: cri_mana_dav1d.h:60
AV1デコーダー用コンフィグ構造体
Definition: cri_mana_dav1d.h:154
CriManaDav1dReallocFunc mem_realloc_func
Definition: cri_mana_dav1d.h:164
CriManaDav1dFreeFunc mem_free_func
Definition: cri_mana_dav1d.h:169
void * mem_usr_obj
Definition: cri_mana_dav1d.h:174
CriManaDav1dMallocFunc mem_alloc_func
Definition: cri_mana_dav1d.h:159
参照
CriManaDav1dConfig

型定義詳解

◆ CriManaDav1dFreeFunc

typedef void(* CriManaDav1dFreeFunc) (void *obj, void *mem)

メモリ解放関数

引数
[in]objユーザー指定オブジェクト
[in]mem解放するメモリアドレス
戻り値
なし
説明:
メモリ解放関数登録用のインターフェイスです。
CRI Mana Dav1dライブラリ内がライブラリ内で行なうメモリ解放処理を、 ユーザー独自のメモリ解放処理に置き換えたい場合に使用します。
備考:
コールバック関数が実行される際には、memに解放すべきメモリのアドレスがセット されています。
コールバック関数内でmemの領域のメモリを解放してください。 尚、引数の obj には登録したユーザー指定オブジェクトが渡されます。
メモリ確保時にメモリマネージャー等を参照する必要がある場合には、 当該オブジェクトを CriManaDav1dConfig のメンバー mem_usr_obj にセットして criMana_SetupDav1d を呼んでください。
参照
CriManaDav1dConfig, criMana_SetupDav1d

関数詳解

◆ criMana_CalculateDav1dWorkSize()

CriSint32 criMana_CalculateDav1dWorkSize ( const CriManaDav1dConfig config)

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

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

◆ criMana_SetupDav1d()

void criMana_SetupDav1d ( const CriManaDav1dConfig config,
void *  work,
CriSint32  work_size 
)

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

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

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