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

20.6. Frame Cleaner IPのソフトウェアAPI

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

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

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

表 343.  Frame Cleaner IPのソフトウェアAPI
名前 説明
intel_vvp_cleaner_init Frame Cleanerインスタンスを初期化します。
intel_vvp_core_* Video and Vision Processing IPのソフトウェア・プログラミング・モデルで定義されたアクセサーです。
intel_vvp_cleaner_get_lite_mode ライトモードがオンであることを返します。
intel_vvp_cleaner_get_debug_enabled デバッグ機能がオンになっているかどうかを返します。
intel_vvp_cleaner_uses_custom_min_max IPがフィールドのサイズに独自の制限を設定するかどうかを返します。
intel_vvp_cleaner_get_min_width 最小幅を返します。
intel_vvp_cleaner_get_max_width 最大幅を返します。
intel_vvp_cleaner_get_min_height 最小の高さを返します。
intel_vvp_cleaner_get_max_height 最大の高さを返します。
intel_vvp_cleaner_is_running IPがデータを処理しているかどうかを返します。
intel_vvp_cleaner_is_clipping IPが行をクリッピングしているかどうかを返します。
intel_vvp_cleaner_is_padding IPが行をパディングしているかどうかを返します。
intel_vvp_cleaner_previous_field_cliped 前のフィールドがクリッピングされているかどうかを返します。
intel_vvp_cleaner_previous_field_padded 前のフィールドがパディングされた値を返します。
intel_vvp_cleaner_get_status ステータスレジスターを読み出します。
intel_vvp_cleaner_get_field_num Fullモードの最後の画像情報フィールド番号を返します。
intel_vvp_cleaner_get_field_count 現在のフィールドカウンター値を返します。
intel_vvp_cleaner_get_cliped_field_count クリッピングされたフィールドの数を返します。
intel_vvp_cleaner_get_padded_field_count パディングされたフィールドの数を返します。
intel_vvp_cleaner_get_previous_field_line_count 行のカウンター値を返します。
intel_vvp_cleaner_get_line_width 幅のドカウンター値を返します。
intel_vvp_cleaner_reset_debug_counters すべてのデバッグカウンターをゼロにリセットします。

intel_vvp_cleaner_init

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

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

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

戻り値

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

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

product_idがFrame Cleaner製品IDと一致しない場合、kIntelVvpCorePidErr

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

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

intel_vvp_cleaner_get_lite_mode

プロトタイプ
bool intel_vvp_cleaner_get_lite_mode(intel_vvp_cleaner_instance *instance);
説明
LITE_MODEレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
IPがライトモードでパラメーター化されている場合は、Trueを返します。

intel_vvp_cleaner_get_debug_enabled

プロトタイプ
bool intel_vvp_cleaner_get_debug_enabled(intel_vvp_cleaner_instance *instance);
説明
DEBUG_ENABLEDレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
IPがデバッグ機能をイネーブルしてパラメーター化されている場合は、Trueを返します。

Intel_vvp_cleaner_uses_custom_min_max

プロトタイプ
bool Intel_vvp_ cleaner_uses_custom_min_max(intel_vvp_cleaner_instance *instance);
説明
CUSTOM_MIN_MAXレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
フレームクリーナーがユーザー指定の最小寸法値と最大寸法値でコンフィグレーションされている場合は、Trueを返します。

intel_vvp_cleaner_get_min_width

プロトタイプ
uint32_t intel_vvp_cleaner_get_min_width(intel_vvp_cleaner_instance *instance);
説明
MIN_WIDTHレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
行に余分なピクセルがパディングされる前の最小許容幅

intel_vvp_cleaner_get_max_width

プロトタイプ
uint32_t intel_vvp_cleaner_get_max_width(intel_vvp_cleaner_instance *instance);
説明
MAX_WIDTHレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
行内の余分なピクセルが切り捨てられるまでの最大許容幅

intel_vvp_cleaner_get_min_height

プロトタイプ
uint32_t intel_vvp_cleaner_get_min_height(intel_vvp_cleaner_instance *instance);
説明
MIN_HEIGHTレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
フレームに余分な行がパディングされる前にサポートされる最小の高さ

intel_vvp_cleaner_get_max_height

プロトタイプ
uint32_t intel_vvp_cleaner_get_max_height(intel_vvp_cleaner_instance *instance);
説明
MAX_HEIGHTレジスターの値を返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
余分な行が破棄されるまでのサポートされる最大の高さ

intel_vvp_cleaner_is_running

プロトタイプ
bool intel_vvp_cleaner_is_running(intel_vvp_cleaner_instance* instance);
説明
STATUSレジスターの実行ビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
IPが現在出力フィールドを生成している場合はTrue、2つのフィールドの間にある場合はFalse

intel_vvp_cleaner_is_clipping

プロトタイプ
bool intel_vvp_cleaner_is_clipping(intel_vvp_cleaner_instance* instance);
説明
STATUSレジスターのクリッピング・ビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
Trueは、必要な高さを維持するために、IPが現在のフィールドから余分な行を破棄していることを示します。

intel_vvp_cleaner_is_padding

プロトタイプ
bool intel_vvp_cleaner_is_padding(intel_vvp_cleaner_instance* instance);
説明
STATUSレジスターのパディング・ビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
Trueは、IPが現在、必要な高さを満たすために現在のフィールドに追加の行を追加していることを示します。

intel_vvp_cleaner_previous_field_cliped

プロトタイプ
bool intel_vvp_cleaner_is_previous_field_clipped(intel_vvp_cleaner_instance* instance);
説明
STATUSレジスターの前のフィールドのクリッピングされたビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
Trueは、前のフィールドからの余分な行を破棄したIPです。

intel_vvp_cleaner_previous_field_padded

プロトタイプ
bool intel_vvp_cleaner_previous_field_padded(intel_vvp_cleaner_instance* instance);
説明
STATUSレジスターの前のフィールドがパディングされたビットを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値

Trueは、前のフィールドに余分な行を追加したIPです。

intel_vvp_cleaner_get_status

プロトタイプ
uint8_t intel_vvp_cleaner_get_status(intel_vvp_cleaner_instance* instance);
説明
STATUSレジスターを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
ステータスレジスターから読み出された値

intel_vvp_cleaner_get_field_num

プロトタイプ
uint16_t intel_vvp_cleaner_get_field_num(intel_vvp_cleaner_instance *instance)
説明
FIELD_NUMレジスターを読み出して返します。インスタンスは、デバッグがイネーブルなFullモードで完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
前の画像情報パケットから読み出されたfield_num値

intel_vvp_cleaner_get_field_count

プロトタイプ
uint32_t intel_vvp_cleaner_get_field_count(intel_vvp_cleaner_instance *instance)
説明
FIELD_COUNTレジスターを読み出して返します。インスタンスは、デバッグがイネーブルになって完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
フィールドカウンターの現在値

intel_vvp_cleaner_get_cliped_field_count

プロトタイプ
uint32_t intel_vvp_cleaner_get_clipped_field_count(intel_vvp_cleaner_instance *instance)
説明
CLIPPED_FIELD_COUNTレジスターを読み出して返します。インスタンスは、デバッグがイネーブルになって完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
クリッピングされたフィールドカウンターの現在値

intel_vvp_cleaner_get_padded_field_count

プロトタイプ
uint32_t intel_vvp_cleaner_get_padded_field_count(intel_vvp_cleaner_instance *instance)
説明
PADDED_FIELD_COUNTレジスターを読み出して返します。インスタンスは、デバッグがイネーブルになって完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
パディングされたフィールドカウンターの現在値

intel_vvp_cleaner_get_previous_field_line_count

プロトタイプ
uint32_t intel_vvp_cleaner_get_previous_field_line_count(intel_vvp_cleaner_instance *instance)
説明
PREV_FIELD_LINE_COUNTレジスターを読み出して返します。インスタンスは、デバッグがイネーブルになって完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
前のフィールドの行数

intel_vvp_cleaner_get_line_width

プロトタイプ
uint32_t intel_vvp_cleaner_get_line_width(intel_vvp_cleaner_instance *instance)
説明
LINE_WIDTHレジスターを読み出して返します。インスタンスは、デバッグがイネーブルになって完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値
前のフィールド内の最後の無効な行の幅 (予想より短いか、または長い)。すべての行の長さが正しい場合、レジスターは実際のフィールド幅を返します。

intel_vvp_cleaner_reset_debug_counters

プロトタイプ
uint32_t intel_vvp_cleaner_reset_debug_counters(intel_vvp_cleaner_instance *instance)
説明
すべてのデバッグカウンターをゼロにリセットします。インスタンスは、デバッグがイネーブルになって完全に初期化およびパラメーター化された有効なintel_vvp_cleaner_instanceである必要があります。
引数
インスタンス – intel_vvp_cleaner_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値

成功した場合は、kIntelVvpCoreOk。

kIntelVvpCoreInstanceErr (呼び出しが指定されたインスタンスに適切でない場合)