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ユーザーガイドの文書改訂履歴

26.5. Guard Bands IPのソフトウェアAPI

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

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

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

表 428.  Guard Bands IPのAPIリファレンス
名前 説明
intel_vvp_ guard_bands _init Guard Bandsインスタンスを初期化します。
intel_vvp_core_* Video and Vision Processing IPのソフトウェア・プログラミング・モデル で定義されたアクセサー。Liteがオンのときに書き込み可能。Liteがオフで Debug featuresがオンの場合に読み出し可能です。
intel_vvp_guard_bands_get_lite_mode lite modeがオンの場合に返します。
intel_vvp_guard_bands_get_debug_enabled debug featuresがオンの場合に返します。
intel_vvp_guard_bands_get_num_planes カラープレーンの数を返します。
intel_vvp_guard_bands_is_running IPがデータを生成している場合に返します。
intel_vvp_guard_bands_get_commit_status IPにコミットされていない書き込みがある場合に返します。
intel_vvp_guard_bands_get_status ステータスレジスターを読み出します。
intel_vvp_guard_bands_set_color_min_max カラープレーンのクリッピング値を選択します。
intel_vvp_guard_bands_set_min_max すべてのカラープレーンのクリッピング値を設定します。
intel_vvp_guard_bands_get_color_min_max カラープレーンのクリッピング値を選択します。
intel_vvp_guard_bands_get_min_max すべてのカラープレーンのクリッピング値を取得します。
intel_vvp_guard_bands_commit_writes すべての未処理の書き込みをコミットします。

struct intel_vvp_min_max

メンバー
struct {uint16_t min; uint16_t max;} planes[4];
説明

各カラープレーンのクリッピング境界値

intel_vvp_guard_bands_init

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

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

引数

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

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

戻り値

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

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

product_idがガードバンドの製品IDと一致しない場合は、kIntelVvpCorePidErr

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

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

intel_vvp_guard_bands_get_lite_mode

プロトタイプ
bool intel_vvp_guard_bands_get_lite_mode(intel_vvp_guard_bands_instance *instance);
説明

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

引数

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

戻り値

IPがライトモードでパラメーター化されている場合は、Trueを返します。

intel_vvp_guard_bands_get_debug_enabled

プロトタイプ
int intel_vvp_guard_bands_get_debug_enabled(intel_vvp_guard_bands_instance
 *instance);
説明

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

引数

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

戻り値

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

intel_vvp_guard_bands_get_num_planes

プロトタイプ
uint8_t intel_vvp_guard_bands_get_num_planes(intel_vvp_guard_bands_instance* instance);
説明

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

引数

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

戻り値

ビデオストリーム内のカラープレーンの数 (4:2:2は3つのカラープレーン)

intel_vvp_guard_bands_is_running

プロトタイプ
bool intel_vvp_guard_bands_is_running(intel_vvp_guard_bands_instance* instance);
説明

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

引数

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

戻り値

Guard Bandsが現在出力フィールドを生成している場合はTrue、2つのフィールドの間にある場合はFalseを返します。

intel_vvp_guard_bands_get_commit_status

プロトタイプ
bool intel_vvp_guard_bands_get_commit_status(intel_vvp_guard_bands_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_guard_bands_get_status

プロトタイプ
uint8_t intel_vvp_guard_bands_get_status(intel_vvp_guard_bands_instance* instance);
説明

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

引数

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

戻り値

ステータスレジスターから読み出された値

intel_vvp_guard_bands_set_color_min_max

プロトタイプ
int intel_vvp_guard_bands_set_color_min_max (intel_vvp_guard_bands_instance* instance, uint8_t color, uint16_t min, uint16_t max);
説明

選択したカラープレーンに対して、クリッピング前の許容される最小値と最大値を設定します。インスタンスは完全に初期化された有効なintel_vvp_guard_bands_instanceである必要があり、カラープレーンは有効である必要があります。

引数

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

カラー – 新しいクリッピング境界が必要なカラープレーンの識別子。有効な範囲は [0..num_color_planes-1] です。ここでの num_color_planes は、intel_vvp_guard_bands_get_num_planes(…) によって返されます。

最小、最大 – 新しいクリッピング境界

戻り値

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

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

カラープレーンが無効な場合、kIntelVvpGuardBandsParameterErr

intel_vvp_guard_bands_set_min_max

プロトタイプ
int intel_vvp_guard_bands_set_min_max (intel_vvp_guard_bands_instance* instance, const intel_vvp_min_max* min_max);
説明

クリッピング前のすべてのカラープレーンの最小値と最大値を設定します。インスタンスは、完全に初期化された有効なintel_vvp_guard_bands_instanceである必要があります。

引数

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

min_max – 新しいクリッピング境界

戻り値

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

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

min_maxがNULLポインターの場合、kIntelVvpCoreNullPtrErr

intel_vvp_guard_bands_get_color_min_max

プロトタイプ
int intel_vvp_guard_bands_get_color_min_max (intel_vvp_guard_bands_instance* instance, uint8_t color, uint16_t *min, uint16_t *max);
説明

選択したカラープレーンのクリッピング前の最小値と最大値を取得します。インスタンスは有効なintel_vvp_guard_bands_instanceであり、完全に初期化され、デバッグが有効にコンフィグレーションされており、カラープレーンが有効である必要があります。

引数

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

カラー – カラープレーンの識別子。有効な範囲は [0..num_color_planes-1] です。ここでのnum_color_planesは、intel_vvp_guard_bands_get_num_planes(…) によって返されます。

min、max – 結果を格納するためのuint16_t変数への有効なポインター

戻り値

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

minまたはmaxがNULLポインターの場合、kIntelVvpCoreNullPtrErr

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

カラープレーンが無効な場合、kIntelVvpGuardBandsParameterErr

intel_vvp_guard_bands_get_min_max

プロトタイプ
int intel_vvp_guard_bands_get_min_max (intel_vvp_guard_bands_instance* instance, intel_vvp_min_max* min_max);
説明

すべてのカラープレーンについて、クリッピング前の許容される最小値と最大値を取得します。インスタンスは、完全に初期化され、デバッグが有効にコンフィグレーションされた有効なintel_vvp_guard_bands_instanceである必要があります。

引数

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

min_max – 返されたクリッピング境界

戻り値

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

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

min_maxがNULLポインターの場合、kIntelVvpCoreNullPtrErr

intel_vvp_guard_bands_commit_writes

プロトタイプ
int intel_vvp_guard_bands_commit_writes(intel_vvp_guard_bands_instance* instance)
説明

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

引数

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

戻り値

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