Video and Vision Processing Suite Intel® FPGA IPユーザーガイド

ID 683329
日付 6/26/2023
Public
ドキュメント目次
1. Video and Vision Processing Suiteについて 2. Video and Vision Processing IPのスタートガイド 3. Video and Vision Processing IPの機能の説明 4. Video and Vision Processing IPインターフェイス 5. Video and Vision Processing IPレジスター 6. Video and Vision Processing IPのソフトウェア・プログラミング・モデル 7. Protocol Converter Intel® FPGA IP 8. 3D LUT Intel® FPGA IP 9. AXI-Stream Broadcaster Intel® FPGA IP 10. Bits per Color Sample Adapter Intel FPGA IP 11. Chroma Key Intel® FPGA IP 12. Chroma Resampler Intel® FPGA IP 13. Clipper Intel® FPGA IP 14. Clocked Video Input Intel® FPGA IP 15. Clocked Video to Full-Raster Converter Intel® FPGA IP 16. Clocked Video Output Intel® FPGA IP 17. Color Space Converter Intel® FPGA IP 18. Deinterlacer Intel® FPGA IP 19. FIR Filter Intel® FPGA IP 20. Frame Cleaner Intel® FPGA IP 21. Full-Raster to Clocked Video Converter Intel® FPGA IP 22. Full-Raster to Streaming Converter Intel® FPGA IP 23. Genlock Controller Intel® FPGA IP 24. Generic Crosspoint Intel® FPGA IP 25. Genlock Signal Router Intel® FPGA IP 26. Guard Bands Intel® FPGA IP 27. Interlacer Intel® FPGA IP 28. Mixer Intel® FPGA IP 29. Parallel Converter Intel® FPGA IPのピクセル 30. Scaler Intel® FPGA IP 31. Stream Cleaner Intel® FPGA IP 32. Switch Intel® FPGA IP 33. Tone Mapping Operator Intel® FPGA IP 34. Test Pattern Generator Intel® FPGA IP 35. Video and Vision Monitor Intel FPGA IP 36. Video Frame Buffer Intel® FPGA IP 37. Video Frame Reader Intel FPGA IP 38. Video Frame Writer Intel FPGA IP 39. Video Streaming FIFO Intel® FPGA IP 40. Video Timing Generator Intel® FPGA IP 41. Warp Intel® FPGA IP 42. デザイン・セキュリティー 43. Video and Vision Processing Suiteユーザーガイドの文書改訂履歴

32.5. Switch IPのソフトウェアAPI

IPには、ランタイム制御用のソフトウェアが含まれています。このIPは、Nios II HALによって提供されている汎用デバイスモデルのいずれにも適合せず、コントロール・レジスターおよびステータスレジスターへの専用アクセサーのセットを公開します。IPドライバー構造は基本ドライバー構造を継承するため、 Video and Vision Processing IPのソフトウェアAPI で定義されているすべての一般的なメソッドを適用できます。

レジスター定義ヘッダーファイル: intel_vvp_switch_regs.h

インクルード・ファイル: intel_vvp_switch.h

表 573.  Switch IPのソフトウェアAPI
名前 説明
intel_vvp_switch_init Switchインスタンスを初期化します。
intel_vvp_switch_get_lite_mode Lite modeがオンの場合に返します。
intel_vvp_switch_get_debug_enabled Debug featuresがオンの場合に返します。

intel_vvp_switch_has_uninterrupted_inputs

スイッチ入力が中断されず、常にビデオデータを提供するかどうかを返します。

intel_vvp_switch_has_auto_consume

スイッチが入力時のバックプレッシャーを回避するために、2位相の再配線を使用しているかどうかを返します。

intel_vvp_switch_get_num_inputs

入力の数を返します。
intel_vvp_switch_get_num_outputs 出力の数を返します。
intel_vvp_switch_is_running IPが現在ビデオデータを処理している場合は、Trueを返します。
intel_vvp_switch_get_commit_status IPにコミットされていない書き込みがある場合は、Trueを返します。
intel_vvp_switch_get_status ステータスレジスターを読み出します。
intel_vvp_switch_set_input_config 入力動作 (イネーブル、ディスエーブル、消費) をコンフィグレーションします。
intel_vvp_switch_get_input_config

選択した入力動作を返します。

intel_vvp_switch_set_output_config

出力動作をコンフィグレーションします。

intel_vvp_switch_get_output_config 選択した出力動作を返します。
intel_vvp_switch_commit_writes すべての未処理の書き込みをコミットします。

enum eIntelVvpSwitchInputConfig

メンバー

kIntelVvpSwitchInputDisabled (0) - ディスエーブルされた入力

kIntelVvpSwitchInputEnabled (1) - イネーブルされた入力

kIntelVvpSwitchInputConsumed (3) - 消費された入力

kIntelVvpSwitchInputConfigInvalid (-1) - 無効な入力コンフィグレーション (エラーを表示)

説明

コンフィグレーション可能な入力動作の列挙

intel_vvp_switch_init

プロトタイプ
int intel_vvp_switch_init(intel_vvp_switch_instance *instance, intel_vvp_core_base base);
説明

Switchインスタンスを初期化します。IPがベースアドレスで読み出したベンダーIDまたは製品IDが一致しない場合、またはレジスターマップのバージョンがサポートされていない場合、初期化は早期に停止します。それ以外の場合、関数はIPコンパイル時のパラメーター化の読み出しと格納に進みます。インスタンスは完全に初期化されていないため、ゼロ以外のエラーコードを返した場合、アプリケーションはそれ以上使用しないでください。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

ベース - レジスターマップのベースアドレス

戻り値

成功の場合はkIntelVvpCoreOk (0)、エラーの場合は負のエラーコード

コアのベンダーIDがインテルFPGAベンダーID (0x6AF7) でない場合、kIntelVvpCoreVidErr

product_idがスイッチの製品IDと一致しない場合、kIntelVvpCorePidErr

インスタンスがヌルポインターの場合は、kIntelVvpCoreInstanceErr

レジスターマップがサポートされていない場合は、kIntelVvpSwitchRegMapVersionErr

intel_vvp_switch_get_lite_mode

プロトタイプ
bool intel_vvp_switch_get_lite_mode(intel_vvp_switch_instance *instance);
説明

LITE_MODE レジスターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

IPがライトモードの場合は、True

intel_vvp_switch_get_debug_enabled

プロトタイプ
bool intel_vvp_switch_get_debug_enabled(intel_vvp_switch_instance *instance);
説明

DEBUG_ENABLED レジスターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

デバッグ機能がイネーブルになってIPがパラメーター化されている場合は、Trueを返します。

intel_vvp_switch_has_uninterrupted_inputs

プロトタイプ
bool intel_vvp_switch_has_uninterrupted_inputs(intel_vvp_switch_instance *instance);
説明

UNINTERRUPTED_INPUTS レジスターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

IPが中断不可能な入力を想定するようにコンフィグレーションされている場合は、Trueを返します。

intel_vvp_switch_has_auto_consume

プロトタイプ
bool intel_vvp_switch_has_auto_consume(intel_vvp_switch_instance *instance);
説明

AUTO_CONSUME レジスターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

Trueは、スイッチ中に待機中の入力を自動的に消費するようにIPがコンフィグレーションされている場合です。

intel_vvp_switch_get_num_inputs

プロトタイプ
uint8_t intel_vvp_switch_get_num_inputs(intel_vvp_switch_instance *instance);
説明

NUM_INPUTS レジスターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

入力の数

intel_vvp_switch_get_num_outputs

プロトタイプ
uint8_t intel_vvp_switch_get_num_outputs(intel_vvp_switch_instance* instance);
説明

NUM_OUTPUTS レジスターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

出力の数

intel_vvp_switch_is_running

プロトタイプ
bool intel_vvp_switch_is_running(intel_vvp_switch_instance* instance);
説明

STATUSレジスターの実行ビットを読み出して返します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

IPが現在入力フィールドを受信または格納している場合はTrue、2つの入力フィールドの間にある場合はFalse

intel_vvp_switch_get_commit_status

プロトタイプ
bool intel_vvp_switch_get_commit_status(intel_vvp_clipper_instance* instance);
説明

STATUS レジスターのコミット・ペンディング・ビットを読み出して返します。インスタンスは、完全に初期化され、フルモードでコンフィグレーションされた有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

IPがフルモードでコンフィグレーションされており、エージェント・インターフェイスにコミットされていない書き込みが含まれている場合は、Trueとなります。

intel_vvp_switch_get_status

プロトタイプ
uint32_t intel_vvp_switch_get_status(intel_vvp_switch_instance* instance);
説明

STATUS レジスターを読み出します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

STATUS レジスターの内容

intel_vvp_switch_set_input_config

プロトタイプ
int intel_vvp_switch_set_input_config(intel_vvp_switch_instance *instance, uint8_t input, eIntelVvpSwitchInputConfig input_config)
説明

選択した入力のコンフィグレーションを変更します。インスタンスは完全に初期化された有効な intel_vvp_switch_instance であり、入力が有効である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

入力 - [0..num_inputs-1] の範囲で選択された入力。ここでの num_inputs は、コンフィグレーションされた入力の数です。

input_config - 新しい入力コンフィグレーション (イネーブル、ディスエーブル、消費)。イネーブルになっていて出力に関連付けられていない入力は自動的に消費されます。

戻り値

成功の場合はkIntelVvpCoreOk、失敗の場合は負のエラーコード

インスタンスが無効な場合、kIntelVvpCoreInstanceErr

入力が範囲外であるか、input_configパラメーターが無効な場合、kIntelVvpSwitchParameterErr

intel_vvp_switch_get_input_config

プロトタイプ
eIntelVvpSwitchInputConfig intel_vvp_switch_get_input_config(intel_vvp_switch_instance *instance, uint8_t input)
説明

要求された入力の現在のコンフィグレーションを返します。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

入力 - 範囲 [0..num_inputs-1] で選択された入力。ここでのnum_inputsは、コンフィグレーションされた入力の数です。

戻り値

選択した入力のコンフィグレーション、エラーの場合はkIntelVvpSwitchInputConfigInvalid (無効なインスタンス、イネーブルになっていないデバッグ、無効な入力)

intel_vvp_switch_set_output_config

プロトタイプ
int intel_vvp_switch_set_output_config(intel_vvp_switch_instance *instance, uint8_t output, bool enabled, uint8_t input)
説明

選択した出力のコンフィグレーションを変更します。インスタンスは、完全に初期化された有効な intel_vvp_switch_instance である必要があります。出力とオプションの入力は有効である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

出力 - [0..num_outputs-1] の範囲で選択された出力。ここでのnum_outputsは、コンフィグレーションされた出力の数です。

enabled - 出力をイネーブルする場合は、True

入力 - 出力がイネーブルの場合、範囲 [0..num_inputs-1] で選択された入力です。ここでの [0..num_inputs-1] は、コンフィグレーションされた入力の数です。

戻り値

成功の場合はkIntelVvpCoreOk、失敗の場合は負のエラーコード

インスタンスが無効な場合、kIntelVvpCoreInstanceErr

出力または入力が無効な場合、kIntelVvpSwitchParameterErr。無効な入力を選択すると出力がディスエーブルになることに注意してください。

intel_vvp_switch_get_output_config

プロトタイプ
int intel_vvp_switch_get_output_config(intel_vvp_switch_instance *instance, uint8_t output)
説明

要求された出力の現在のコンフィグレーションを返します。インスタンスは、完全に初期化され、デバッグがイネーブルになっている有効な intel_vvp_switch_instance である必要があります。出力は有効である必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

出力 - [0..num_outputs-1] の範囲で選択された出力。ここでのnum_outputsは、コンフィグレーションされた出力の数です。

戻り値

指定された出力に対して選択された入力。出力がディスエーブルの場合は-1

その他の負の値はエラーを表します。

インスタンスが無効であるか、デバッグ用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

出力が無効な場合、kIntelVvpSwitchParameterErr

intel_vvp_switch_commit_writes

プロトタイプ
int intel_vvp_switch_commit_writes(intel_vvp_switch_instance* instance)
説明

次のフィールドを処理する前に、ペンディング中の書き込みをすべてコミットします。インスタンスは有効であり、フルモードでパラメーター化されている必要があります。

引数

インスタンス - intel_vvp_switch_instance ソフトウェア・ドライバー・インスタンス構造体へのポインター

戻り値

成功の場合はkIntelVvpCoreOk (0)、それ以外の場合は負のエラーコード