インテルのみ表示可能 — GUID: zrg1641479871384
Ixiasoft
インテルのみ表示可能 — GUID: zrg1641479871384
Ixiasoft
36.5. Video Frame Buffer IPのソフトウェアAPI
レジスター定義ヘッダーファイル: intel_vvp_vfb_regs.h
インクルード・ファイル: intel_vvp_vfb.h
名前 | 説明 |
---|---|
intel_vvp_vfb_init | Frame Bufferインスタンスを初期化します。 |
Intel_vvp_core_* | Video and Vision Processing IPのソフトウェア・プログラミング・モデル で定義されたアクセサー。Liteがオンの場合に書き込み可能。LiteがオフでDebug featuresがオンの場合には、読み出しが可能です。 |
intel_vvp_v fb_get_lite_mode | Lite modeがオンの場合に返します。 |
intel_vvp_v fb_get_debug_enabled | Debug featuresがオンの場合に返します。 |
intel_vvp_vfb_get_max_width | 最大の行の幅を返します。 |
intel_vvp_vfb_get_max_height | フレームの最大の高さを返します。 |
intel_vvp_vfb_is_frame_drop_enabled | IPがフレームレート変換のためにフレームをドロップできるかどうかを返します。 |
intel_vvp_vfb_is_frame_repeat_enabled | IPがフレームレート変換のためにフレームを繰り返すことができるかどうかを返します。 |
intel_vvp_are_invalid_frames_dropped | フレームバッファーが無効なフレームをドロップするかどうかを返します。 |
intel_vvp_vfb_get_mem_base_address | メモリーのベースアドレスを返します。 |
intel_vvp_vfb_get_buffer_stride | メモリー内の各フレームバッファーに割り当てられたバイト数を返します。 |
intel_vvp_vfb_get_line_stride | メモリー内の各ビデオラインに割り当てられたバイト数を返します。 |
intel_vvp_vfb_get_bits_per_sample | コンパイル時に設定されたカラーサンプルあたりのビット数を返します。 |
intel_vvp_vfb_get_num_color_planes | コンパイル時に設定されたカラープレーンの数を返します。 |
intel_vvp_vfb_get_pixels_in_parallel | ビデオパス上で並列に送信されるピクセル数 (クロックサイクルあたり) を返します。 |
intel_vvp_vfb_get_mem_word_packing | ビデオデータがメモリーワード内にどれだけ密にパッキングされているかを返します。 |
intel_vvp_vfb_is_input_running | IPが現在入力データを処理中かどうかを返します。 |
intel_vvp_vfb_get_input_status | 入力ステータスレジスターを読み出します。 |
intel_vvp_vfb_is_output_running | IPが現在出力データを生成しているかどうかを返します。 |
intel_vvp_vfb_get_output_status | 出力ステータスレジスターを読み出します。 |
intel_vvp_vfb_get_num_input_fields | 入力時に受信したフィールドの数を返します。 |
intel_vvp_vfb_get_num_dropped_fields | ドロップされた入力フィールドの数を返します。 |
intel_vvp_vfb_get_num_invalid_fields | 無効な入力フィールドの数を返します。 |
intel_vvp_vfb_get_num_output_fields | 送信されたフィールドの数を返します。 |
intel_vvp_vfb_get_num_repeated_fields | 送信された繰り返しフィールドの数を返します。 |
intel_vvp_vfb_output_enable | フレームバッファー出力をイネーブルします。 |
intel_vvp_vfb_is_output_enabled | 出力がオンかオフかを返します。 |
intel_vvp_vfb_start_output | フレームバッファー出力をイネーブルします。 |
Intel_vvp_vfb_stop_output | フレームバッファー出力をディスエーブルします。 |
enum eIntelVvpVfbPacking
- メンバー
-
kIntelVvpVfbPerfectPacking – コンパクトなサンプルパッキング、メモリーワードがフル活用されます。
kIntelVvpVfbColorPacking – メモリーワードは整数個のカラーサンプルでパッキングされます。
kIntelVvpVfbPixelPacking – メモリーワードは整数個のピクセルでパッキングされます。
kIntelVvpInvalidClipping – 無効なパッキング (エラーを示すために使用)
- 説明
-
サポートされているパッキング方法の列挙
intel_vvp_vfb_init
- プロトタイプ
-
int intel_vvp_vfb_init(intel_vvp_vfb_instance *instance, intel_vvp_core_base base);
- 説明
-
Frame Bufferインスタンスを初期化します。ベースアドレスで読み出されたベンダーIDまたは製品IDが一致しない場合、またはレジスターマップのバージョンがサポートされていない場合、初期化は早期に停止します。それ以外の場合、関数はIPコンパイル時のパラメーター化の読み出しと格納に進みます。インスタンスは完全には初期化されていないため、ゼロ以外のエラーコードを返した場合、アプリケーションでそれ以上使用しないでください。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
ベース - レジスターマップのベースアドレス
- 戻り値
-
成功の場合はkIntelVvpCoreOk (0)、エラーの場合は負のエラーコード
コアのベンダーIDがインテルFPGAベンダーID (0x6AF7) でない場合、kIntelVvpCoreVidErr
product_idがフレームバッファー製品IDと一致しない場合、kIntelVvpCorePidErr
インスタンスがヌルポインターの場合は、kIntelVvpCoreInstanceErr
レジスターマップがサポートされていない場合、kIntelVvpVfbRegMapVersionErr
intel_vvp_vfb_get_lite_mode
- プロトタイプ
-
bool intel_vvp_vfb_get_lite_mode(intel_vvp_vfb_instance *instance);
- 説明
-
LITE_MODEレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
IPがライトモードでパラメーター化されている場合は、True
intel_vvp_vfb_get_debug_enabled
- プロトタイプ
-
bool intel_vvp_vfb_get_debug_enabled(intel_vvp_vfb_instance *instance);
- 説明
-
DEBUG_ENABLEDレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
デバッグ機能がイネーブルになってIPがパラメーター化されている場合は、Trueを返します。
intel_vvp_vfb_get_max_width
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_max_width(intel_vvp_vfb_instance *instance);
- 説明
-
MAX_WIDTHレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
サポートされている最大の行の幅
intel_vvp_vfb_get_max_height
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_max_height(intel_vvp_vfb_instance *instance);
- 説明
-
MAX_HEIGHTレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
サポートされている最大フレームの高さ
intel_vvp_vfb_is_frame_drop_enabled
- プロトタイプ
-
bool intel_vvp_vfb_is_frame_drop_enabled(intel_vvp_vfb_instance *instance);
- 説明
-
DROP_ENABLEDレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
フレームレート変換のためにフレームがドロップされた場合
intel_vvp_vfb_is_frame_repeat_enabled
- プロトタイプ
-
bool intel_vvp_vfb_is_frame_repeat_enabled(intel_vvp_vfb_instance *instance);
- 説明
-
REPEAT_ENABLEDレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
フレームレート変換のためにフレームが繰り返される場合
intel_vvp_are_invalid_frames_dropped
- プロトタイプ
-
bool intel_vvp_are_invalid_frames_dropped(intel_vvp_vfb_instance *instance);
- 説明
-
INVALID_FRAMES_DROPPEDレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
無効なフレームが検出された場合はドロップされます。
intel_vvp_vfb_get_mem_base_address
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_mem_base_address(intel_vvp_vfb_instance *instance);
- 説明
-
MEM_BASE_ADDRレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
メモリー内のフレームバッファーのベースアドレス
intel_vvp_vfb_get_buffer_stride
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_buffer_stride(intel_vvp_vfb_instance *instance);
- 説明
-
MEM_BUFFER_STRIDEレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
メモリー内の連続する2つのフレームバッファー間のストライド (バイト単位)
intel_vvp_vfb_get_line_stride
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_line_stride(intel_vvp_vfb_instance *instance);
- 説明
-
MEM_LINE_STRIDEレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
メモリー内のフレームバッファー内の2つの連続するビデオライン間のストライド (バイト単位)
intel_vvp_vfb_get_bits_per_sample
- プロトタイプ
-
uint8_t intel_vvp_vfb_get_bits_per_sample(intel_vvp_vfb_instance *instance);
- 説明
-
BPSレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
コンパイル時のカラーサンプルあたりのビット数
intel_vvp_vfb_get_num_color_planes
- プロトタイプ
-
uint8_t intel_vvp_vfb_get_num_color_planes(intel_vvp_vfb_instance *instance);
- 説明
-
NUMBER_OF_COLOR_PLANESレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
ピクセルあたりのカラープレーンの数を返します。
intel_vvp_vfb_get_pixels_in_parallel
- プロトタイプ
-
uint8_t intel_vvp_vfb_get_pixels_in_parallel(intel_vvp_vfb_instance *instance);
- 説明
-
PIXELS_IN_PARALLELレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
クロックサイクルごとに並列送信されるピクセルの数
intel_vvp_vfb_get_mem_word_packing
- プロトタイプ
-
eIntelVvpVfbPacking intel_vvp_vfb_get_mem_ word_packing (intel_vvp_vfb_instance *instance);
- 説明
-
PACKINGレジスターの値を読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
引数インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
ピクセルをメモリーワードにパッキングするために使用される方法を返します。
intel_vvp_vfb_is_input_running
- プロトタイプ
-
bool intel_vvp_vfb_is_input_running(intel_vvp_vfb_instance* instance);
- 説明
-
INPUT_STATUSレジスターの実行ビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
現在、IPが入力フィールドを受信/格納している場合はTrue、2つの入力フィールドの間にある場合はFalseを返します。
intel_vvp_vfb_get_input_status
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_input_status(intel_vvp_vfb_instance* instance);
- 説明
-
INPUT_STATUSレジスターを読み出します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
INPUT_STATUSレジスターの内容
intel_vvp_vfb_is_output_running
- プロトタイプ
-
bool intel_vvp_vfb_is_output_running(intel_vvp_vfb_instance* instance);
- 説明
-
OUTPUT_STATUSレジスターの実行ビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
IPが現在出力フィールドを読み出し/生成している場合はTrue、2つの出力フィールドの間にある場合はFalse
intel_vvp_vfb_get_output_status
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_output_status(intel_vvp_vfb_instance* instance);
- 説明
-
OUTPUT_STATUSレジスターを読み出します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
OUTPUT_STATUSレジスターの内容
intel_vvp_vfb_get_num_input_fields
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_num_input_fields (intel_vvp_vfb_instance* instance);
- 説明
-
NUM_INPUT_FIELDSレジスターを読み出します。これは、Frame Buffer入力側で受信および処理されたフィールドの数です。カウンターはフィールドの終了時に更新されます。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
NUM_INPUT_FIELDSレジスターの内容
intel_vvp_vfb_get_num_dropped_fields
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_num_dropped_fields (intel_vvp_vfb_instance* instance);
- 説明
-
NUM_DROPPED_FIELDSレジスターを読み出します。これは、Frame Buffer入力側で受信され、ドロップされたフィールドの数です。次の入力フィールドの開始時にフィールドをドロップする決定が行われると、カウンターが更新されます。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
NUM_DROPPED_FIELDSレジスターの内容
intel_vvp_vfb_get_num_invalid_fields
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_num_invalid_fields(intel_vvp_vfb_instance* instance);
- 説明
-
NUM_INVALID_FIELDSレジスターを読み出します。これは、Frame Buffer入力側で無効として検出されたフィールドの数です。カウンターはフィールドの終了時に更新されます。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
NUM_INVALID_FIELDSレジスターの内容
intel_vvp_vfb_get_num_output_fields
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_num_output_fields (intel_vvp_vfb_instance* instance);
- 説明
-
NUM_OUTPUT_FIELDSレジスターを読み出します。これは、Frame Buffer出力側で送信されたフィールドの合計数です。カウンターは、繰り返しを含む各出力フィールドの終了時に更新されます。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
NUM_OUTPUT_FIELDSレジスターの内容
intel_vvp_vfb_get_num_repeated_fields
- プロトタイプ
-
uint32_t intel_vvp_vfb_get_num_repeated_fields (intel_vvp_vfb_instance* instance);
- 説明
-
NUM_REPEATED_FIELDSレジスターを読み出します。これは、Frame Buffer出力側の繰り返し回数です。1つのフィールドが5回送信されると、出力フィールド数のカウンターは5増加し、繰り返しフィールド数のカウンターは4増加します。カウンターは、繰り返しフィールドの終了時に増加します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
NUM_REPEATED_FIELDSレジスターの内容
intel_vvp_vfb_output_enable
- プロトタイプ
-
int intel_vvp_vfb_output_enable(intel_vvp_vfb_instance* instance, bool enabled);
- 説明
-
Frame Bufferの出力側を開始/停止します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。フィールドのドロップがイネーブルになっていない場合、出力を停止すると入力でバックプレッシャーが発生することに注意してください。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
enabled – 出力を開始する場合はTrue、停止する場合はFalse
- 戻り値
-
kIntelVvpCoreOk、またはエラーの場合は負のエラーコード
intel_vvp_vfb_is_output_enabled
- プロトタイプ
-
bool intel_vvp_vfb_is_output_enabled(intel_vvp_vfb_instance* instance);
- 説明
-
Frame Bufferの出力側を開始および停止します。インスタンスは、デバッグモードで完全に初期化され、コンフィグレーションされた有効なintel_vvp_vfb_instanceである必要があります。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
enabled – 出力を開始する場合はtrue、停止する場合はfalse
- 戻り値
-
kIntelVvpCoreOk (0) または、エラーの場合は負のエラーコード
intel_vvp_vfb_start_output
- プロトタイプ
-
int intel_vvp_vfb_start_output(intel_vvp_vfb_instance* instance);
- 説明
-
Frame Bufferの出力側を開始します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。フィールドのドロッピングがイネーブルになっていない場合、出力を停止すると入力でバックプレッシャーが発生することに注意してください。これはintel_vvp_vfb_output_enable (instance、true) のエイリアスです。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
kIntelVvpCoreOk、またはエラーの場合は負のエラーコード
intel_vvp_vfb_stop_output
- プロトタイプ
-
int intel_vvp_vfb_stop_output(intel_vvp_vfb_instance* instance);
- 説明
-
Frame Bufferの出力側を開始します。インスタンスは、完全に初期化された有効なintel_vvp_vfb_instanceである必要があります。フィールドのドロッピングがイネーブルになっていない場合、出力を停止すると入力でバックプレッシャーが発生することに注意してください。これはintel_vvp_vfb_output_enable (instance, false) のエイリアスです。
- 引数
-
インスタンス – intel_vvp_vfb_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
- 戻り値
-
kIntelVvpCoreOk、またはエラーの場合は負のエラーコード