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

7.6. Protocol Converter IPのソフトウェアAPI

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

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

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

表 32.   Protocol Converter IP APIリファレンス
名前 説明
intel_vvp_ protocol_conv _init Protocol Converterを初期化します。
intel_vvp_core_* Video and Vision Processing IPのソフトウェアAPIで定義されたアクセサー。Liteがオンの場合は書き込み可能、LiteがオフでDebug featuresがオンの場合は読み出し可能です。入力がvideo and image processing IPの場合は使用されません。
intel_vvp_protocol_conv_get_conversion_mode コンフィグレーションされた変換を返します。
intel_vvp_protocol_conv_conv_get_debug_enabled デバッグ機能がオンになっているかどうかを返します。
intel_vvp_protocol_conv_is_running IPがデータを処理しているかどうかを返します。
intel_vvp_protocol_conv_has_received_field IPがフィールドを処理したかどうかを返します。
intel_vvp_protocol_conv_was_last_field_broken 前のフィールドのステータスを返します。
intel_vvp_protocol_conv_get_status ステータスレジスターを読み出します。
intel_vvp_protocol_conv_get_vip_width VIP幅を読み出します。
intel_vvp_protocol_conv_get_vip_height VIPの高さを読み出します。
intel_vvp_protocol_conv_get_vip_interlace VIPインターレース・ニブルを読み出します。
ntel_vvp_protocol_conv_enable 処理を開始または停止します。
intel_vvp_protocol_conv_start 処理を開始します。
intel_vvp_protocol_conv_stop 処理を停止します。
intel_vvp_protocol_conv_get_field_count フィールドカウンターを読み出します。
intel_vvp_protocol_conv_reset_field_count フィールドカウンターをリセットします。

enum eIntelVvpProtocolConvConversionMode

メンバー

kIntelVvpProtocolConvVipToVvpLite (0) – VIPからLiteへの変換

kIntelVvpProtocolConvVvpLiteToVip (1) – LiteからVIPへの変換

kIntelVvpProtocolConvVipToVvpFull (2) – VIPからFullへの変換

kIntelVvpProtocolConvVvpFullToVip (3) – FullからVIPへの変換

kIntelVvpProtocolConvVvpLiteToVvpFull (4) – LiteからFullへの変換

kIntelVvpProtocolConvVvpFullToVvpLite (5) - FullからLiteへの変換

kIntelVvpProtocolConvInvalid (-1) - 無効な変換モード

intel_vvp_protocol_conv_init

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

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

引数

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

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

戻り値

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

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

product_idがProtocol Converterの製品IDと一致しない場合は、kIntelVvpCorePidErr

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

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

intel_vvp_protocol_conv_get_conversion_mode

プロトタイプ
eIntelVvpProtocolConvConversionMode intel_vvp_protocol_conv_get_conversion_mode(intel_vvp_protocol_conv_instance *instance);
説明

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

引数

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

戻り値

IP生成時にコンフィグレーションされたスタティック変換を返します。

intel_vvp_protocol_conv_get_debug_enabled

プロトタイプ
bool intel_vvp_pip_get_debug_enabled(intel_vvp_protocol_conv_instance *instance);
説明

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

引数

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

戻り値

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

intel_vvp_protocol_conv_is_running

プロトタイプ
bool intel_vvp_protocol_conv_is_running(intel_vvp_ pip_conv_instance* instance);
説明

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

引数

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

戻り値

現在、IPが出力フィールドを生成している場合はTrue、ディスエーブルの場合および/または2つのフィールドの間の場合はFalse

intel_vvp_protocol_conv_has_received_field

プロトタイプ
bool intel_vvp_protocol_conv_has_received_field (intel_vvp_protocol_conv_conv_instance* instance);
説明

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

引数

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

戻り値

現在、IPが出力フィールドを生成している場合はTrue、ディスエーブルの場合および/または2つのフィールドの間の場合はFalse

intel_vvp_protocol_conv_was_last_field_broken

プロトタイプ
bool intel_vvp_protocol_conv_was_last_field_broken(intel_vvp_protocol_conv_instance* instance);
説明

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

引数

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

戻り値

最後に受信したフィールドで異常が検出された場合は、Trueを返します。

intel_vvp_protocol_conv_get_status

プロトタイプ
uint8_t intel_vvp_protocol_conv_get_status(intel_vvp_protocol_conv_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_protocol_conv_get_vip_width

プロトタイプ
uint32_t intel_vvp_protocol_get_vip_width(intel_vvp_protocol_conv_instance* instance);
説明

VIP制御パケットから受信した最後の幅を取得します。インスタンスは完全に初期化され、VIPプロトコルをフルバリアントまたはライトバリアントに変換するようにコンフィグレーションされた、有効なintel_vvp_protocol_conv_instanceである必要があります。

引数

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

戻り値

最後に受信した制御パケットの幅

intel_vvp_protocol_conv_get_vip_height

プロトタイプ
uint32_t intel_vvp_protocol_conv_get_vip_height(intel_vvp_protocol_conv_instance* instance);
説明

VIP制御パケットから受信した最後の高さを取得します。インスタンスは完全に初期化され、VIPプロトコルをフルバリアントまたはライトバリアントに変換するようにコンフィグレーションされた、有効なintel_vvp_protocol_conv_instanceである必要があります。

引数

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

戻り値

最後に受信した制御パケットの高さ

intel_vvp_protocol_conv_get_vip_interlace

プロトタイプ
uint8_t intel_vvp_protocol_conv_get_vip_interlace(intel_vvp_protocol_conv_instance* instance);
説明

VIP制御パケットから受信した最後のインターレース・ニブルを取得します。インスタンスは完全に初期化され、VIPプロトコルをフルバリアントまたはライトバリアントに変換するようにコンフィグレーションされた有効なintel_vvp_protocol_conv_instanceである必要があります。

引数

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

戻り値

最後に受信した制御パケットのインターレース・ニブル

Intel_vvp_protocol_conv_enable

プロトタイプ
intel_vvp_protocol_conv_enable (intel_vvp_protocol_conv_instance* instance, bool enabled); 
説明

コアの起動/停止

引数

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

イネーブル - インスタンスを開始するか停止するかどうか

戻り値

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

intel_vvp_protocol_conv_start

プロトタイプ
int intel_vvp_protocol_conv_start (intel_vvp_protocol_conv_instance* instance);
説明

IPを開始します。

引数

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

戻り値

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

intel_vvp_protocol_conv_stop

プロトタイプ
int intel_vvp_protocol_conv_stop (intel_vvp_protocol_conv_instance* instance);
説明

IPを停止します。

引数

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

戻り値

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

intel_vvp_protocol_conv_get_field_count

uint16_t intel_vvp_protocol_conv_get_field_count(intel_vvp_protocol_conv_instance *instance)
説明

FIELD_COUNTレジスターを読み出して返します。インスタンスは、完全に初期化された有効なintel_vvp_protocol_conv_instanceである必要があります。入力がFullバリアントの場合、フィールド・カウント・レジスターは最後に受信したフィールド終了パケットから設定され、何も受信されなかった場合、呼び出しは無効な値を返します。

引数

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

戻り値

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

intel_vvp_protocol_conv_reset_field_count

プロトタイプ
int_t intel_vvp_protocol_conv_reset_field_count(intel_vvp_protocol_conv_instance* instance);
説明

フィールド・カウンター・レジスターをリセットします。インスタンスは完全に初期化され、LiteまたはVip入力でコンフィグレーションされた有効なintel_vvp_protocol_conv_instanceである必要があります。フィールド・カウンター・レジスターは、フィールド終了制御パケットで受信したフィールドカウント値でフィールドごとに更新されるため、入力がFullバリアントの場合、この呼び出しは無効です。フィールドカウンター値は、出力がフルバリアントである場合、制御パケットでも使用されます。

引数

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

戻り値

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

kIntelVvpCoreInstanceErr - インスタンスが無効であるか、Fullバリアント入力でコンフィグレーションされています。