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

13.5. Clipper IPのソフトウェアAPI

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

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

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

表 141.  Clipper APIのリファレンス
名前 説明
intel_vvp_clipper_init Clipperインスタンスを初期化します。
intel_vvp_core_* Video and Vision Processing IPのソフトウェア・プログラミング・モデル で定義されたアクセサー。Liteがオンの場合に書き込み可能。LiteがオフでDebug featuresがオンの場合には、読み出しが可能です。
intel_vvp_clipper_get_lite_mode Lite modeがオンの場合に返します。
intel_vvp_clipper_get_debug_enabled Debug featuresがオンの場合に返します。
Intel_vvp_clipper_get_clipping_mode ランタイムのclipping methodを返します。
intel_vvp_clipper_is_running IPがデータを処理しているかどうかを返します。
Intel_vvp_clipper_get_commit_status IPにコミットされていない書き込みがある場合に返します。
intel_vvp_clipper_get_status ステータスレジスターを読み出します。
intel_vvp_clipper_set_left_offset 新しい値を左のオフセットレジスターに書き込みます。
intel_vvp_clipper_set_top_offset 新しい値を上部オフセットレジスターに書き込みます。
intel_vvp_clipper_set_right_offset 新しい値を右のオフセットレジスターに書き込みます。
intel_vvp_clipper_set_bottom_offset 新しい値を下部のオフセットレジスターに書き込みます。
intel_vvp_clipper_set_clip_offsets 新しい値を4つのオフセットレジスターに書き込みます。
intel_vvp_clipper_set_clip_width 新しい値をクリッピング幅レジスターに書き込みます。
intel_vvp_clipper_set_clip_height 新しい値をクリッピング高さレジスターに書き込みます。
intel_vvp_clipper_set_clip_area 新しい値をオフセット/クリップレジスターに書き込みます。
intel_vvp_clipper_get_left_offset 左のオフセットレジスターを読み出します。
intel_vvp_clipper_get_top_offset 上部オフセットレジスターを読み出します。
intel_vvp_clipper_get_right_offset 左のオフセットレジスターを読み出します。
intel_vvp_clipper_get_bottom_offset 下部オフセットレジスターを読み出します。
intel_vvp_clipper_get_clip_offsets 4つのオフセットレジスターを読み出します。
intel_vvp_clipper_get_clip_width クリッピング幅レジスターを読み出します。
intel_vvp_clipper_get_clip_height クリッピング高さレジスターを読み出します。
intel_vvp_clipper_get_clip_area オフセットレジスターとクリップレジスターを読み出します。
intel_vvp_clipper_commit_writes すべての未処理の書き込みをコミットします。

enum eIntelVvpClippingMode

メンバー

kIntelVvpOffsetClipping – 入力境界からの4つのオフセットによるクリッピング

kIntelVvpRectangleClipping – 左上のオフセットとクリップ領域の寸法によるクリッピング

kIntelVvpInvalidClipping – 無効なクリッピング (エラーを示すために使用)

説明
サポートされているクロマ・サブサンプリングの列挙

intel_vvp_clipper_init

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

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

引数

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

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

戻り値

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

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

product_idがクリッパー製品IDと一致しない場合は、kIntelVvpCorePidErr

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

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

intel_vvp_clipper_get_lite_mode

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

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

引数

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

戻り値

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

intel_vvp_clipper_get_debug_enabled

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

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

引数

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

戻り値

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

intel_vvp_clipper_get_clipping_mode

プロトタイプ
eIntelVvpClippingMode intel_vvp_clipper_get_clipping_mode(intel_vvp_clipper_instance *instance);
説明

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

引数

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

戻り値

クリッピング・モード、またはエラーの場合はkIntelVvpInvalidClipping

intel_vvp_clipper_is_running

プロトタイプ
bool intel_vvp_ clipper _is_running(intel_vvp_clipper_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_clipper_get_commit_status

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

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

引数

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

戻り値

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

intel_vvp_clipper_get_status

プロトタイプ
uint8_t intel_vvp_clipper_get_status(intel_vvp_clipper_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_clipper_set_left_offset

プロトタイプ
int intel_vvp_clipper_set_left_offset(intel_vvp_clipper_instance* instance , uint16_t left_offset);
説明

新しいオフセット値をLEFT_OFFSETレジスターに書き込みます。インスタンスは、完全に初期化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

left_offset – 新しい左オフセット値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_top_offset

プロトタイプ
int intel_vvp_clipper_set_top_offset(intel_vvp_clipper_instance* instance , uint16_t top_offset);
説明

新しいオフセット値をTOP_OFFSETレジスターに書き込みます。インスタンスは、完全に初期化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

top_offset – 新しい上部オフセット値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_right_offset

プロトタイプ
int intel_vvp_clipper_set_right_offset(intel_vvp_clipper_instance* instance , uint16_t right_offset);
説明

新しいオフセット値をRIGHT_OFFSETレジスターに書き込みます。インスタンスは、完全に初期化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

right_offset – 新しい右オフセット値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_bottom_offset

プロトタイプ
int intel_vvp_clipper_set_bottom_offset(intel_vvp_clipper_instance* instance , uint16_t bottom_offset);
説明

新しいオフセット値をBOTTOM_OFFSETレジスターに書き込みます。インスタンスは、完全に初期化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

bottom_offset – 新しい下部オフセット値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_clip_offsets

プロトタイプ
int intel_vvp_clipper_set_clip_offsets(intel_vvp_clipper_instance* instance , uint16_t left_offset, uint16_t top_offset, uint16_t right_offset, uint16_t bottom_offset);
説明

新しいオフセット値を4つのオフセットレジスターに書き込みます。インスタンスは完全に初期化され、4つのオフセットでクリッピングするようにコンフィグレーションされた有効なintel_vvp_clipper_instanceである必要があります。

引数

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

left_offset – 新しい左オフセット値

top_offset – 新しい上部オフセット値

right_offset – 新しい右オフセット値

bottom_offset – 新しい下部オフセット値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_clip_width

プロトタイプ
int intel_vvp_clipper_set_clip_width(intel_vvp_clipper_instance *instance, uint32_t clip_width)
説明

新しいクリッピング幅の値をCLIP_WIDTHレジスターに書き込みます。インスタンスは有効なintel_vvp_clipper_instanceであり、完全に初期化され、クリップ領域の2つのオフセットと寸法でクリッピングするようにコンフィグレーションされている必要があります。

引数

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

clip_width – 新しいクリップ領域の幅の値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_clip_height

プロトタイプ
int intel_vvp_clipper_set_clip_height(intel_vvp_clipper_instance *instance, uint32_t clip_height)
説明

新しいクリッピング高さの値をCLIP_HEIGHTレジスターに書き込みます。インスタンスは有効なintel_vvp_clipper_instanceであり、完全に初期化され、クリップ領域の2つのオフセットと寸法でクリッピングするようにコンフィグレーションされている必要があります。

引数

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

clip_height – 新しいクリップ領域の高さの値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_set_clip_area

プロトタイプ
int intel_vvp_clipper_set_clip_area(intel_vvp_clipper_instance *instance, uint16_t left_offset , uint16_t top_offset , uint32_t clip_width, uint32_t clip_height)
説明

新しいオフセットと新しい寸法をオフセットレジスターとクリッピング・レジスターに書き込みます。インスタンスは有効なintel_vvp_clipper_instanceであり、完全に初期化され、クリップ領域の2つのオフセットと寸法でクリッピングするようにコンフィグレーションされている必要があります。

引数

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

left_offset – 新しい左オフセット値

top_offset – 新しい上部オフセット値

clip_width – 新しいクリップ領域の幅の値

clip_height – 新しいクリップ領域の高さの値

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

intel_vvp_clipper_get_left_offset

プロトタイプ
uint16_t intel_vvp_clipper_get_left_offset(intel_vvp_clipper_instance* instance);
説明

LEFT_OFFSETレジスターを読み出します。インスタンスは、デバッグ機能がイネーブルになって完全に初期化およびパラメーター化された、有効なintel_vvp_clipper_instanceである必要があります。

引数

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

戻り値

左のオフセット値

intel_vvp_clipper_get_top_offset

プロトタイプ
uint16_t intel_vvp_clipper_get_top_offset(intel_vvp_clipper_instance* instance);
説明

TOP_OFFSETレジスターを読み出します。インスタンスは、デバッグ機能がイネーブルになって完全に初期化およびパラメーター化された、有効なintel_vvp_clipper_instanceである必要があります。

引数
インスタンス – intel_vvp_clipper_instanceソフトウェア・ドライバー・インスタンス構造体へのポインター
戻り値

上部オフセット値

intel_vvp_clipper_get_right_offset

プロトタイプ
uint16_t intel_vvp_clipper_get_right_offset(intel_vvp_clipper_instance* instance);
説明

RIGHT_OFFSETレジスターを読み出します。インスタンスは完全に初期化され、4つのオフセットでクリッピング用にコンフィグレーションされ、デバッグ機能がイネーブルになってパラメーター化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

戻り値

右のオフセット値

intel_vvp_clipper_get_bottom_offset

プロトタイプ
uint16_t intel_vvp_clipper_get_bottom_offset(intel_vvp_clipper_instance* instance);
説明

BOTTOM_OFFSETレジスターを読み出します。インスタンスは完全に初期化され、4つのオフセットでクリッピング用にコンフィグレーションされ、デバッグ機能がイネーブルになってパラメーター化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

戻り値

下部オフセット値

intel_vvp_clipper_get_clip_offsets

プロトタイプ
int intel_vvp_clipper_get_clip_offsets(intel_vvp_clipper_instance* instance , uint16_t *left_offset, uint16_t *top_offset, uint16_t *right_offset, uint16_t *bottom_offset);
説明

4つのオフセットレジスターから現在のオフセット値を読み出します。インスタンスは完全に初期化され、4つのオフセットでクリッピング用にコンフィグレーションされ、デバッグ機能がイネーブルになってパラメーター化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

left_offset – uint16_t値へのポインター。LEFT_OFFSETレジスターから読み出された値を格納します。

top_offset – uint16_t値へのポインター。TOP_OFFSETレジスターから読み出された値を格納します。

right_offset – uint16_t値へのポインター。RIGHT_OFFSETレジスターから読み出された値を格納します。

bottom_offset – uint16_t値へのポインター。BOTTOM_OFFSETレジスターから読み出された値を格納します。

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

出力値を格納するポインターの1つがヌルポインターの場合、kIntelVvpCoreNullPtrErr

intel_vvp_clipper_get_clip_width

プロトタイプ
uint32_t intel_vvp_clipper_get_clip_width(intel_vvp_clipper_instance *instance)
説明

CLIP_WIDTHレジスターを読み出します。インスタンスは完全に初期化され、左上のオフセットとクリッピング領域の寸法でクリッピング用にコンフィグレーションされ、デバッグ機能がイネーブルになってパラメーター化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

戻り値

値による現在のクリッピング

intel_vvp_clipper_get_clip_height

プロトタイプ
uint32_t intel_vvp_clipper_get_clip_height(intel_vvp_clipper_instance *instance)
説明

CLIP_HEIGHTレジスターを読み出します。インスタンスは完全に初期化され、左上のオフセットとクリッピング領域の寸法でクリッピング用にコンフィグレーションされ、デバッグ機能がイネーブルになってパラメーター化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

戻り値

現在のクリッピング高さの値

intel_vvp_clipper_get_clip_area

プロトタイプ
int intel_vvp_clipper_get_clip_area(intel_vvp_clipper_instance *instance, uint16_t *left_offset , uint16_t *top_offset , uint32_t *clip_width, uint32_t *clip_height)
説明

現在の左上のオフセット値を2つのオフセットレジスターから読み出し、クリッピング領域の寸法をクリッピング寸法レジスターから読み出します。インスタンスは完全に初期化され、左上のオフセットとクリッピング領域の寸法でクリッピング用にコンフィグレーションされ、デバッグ機能がイネーブルになってパラメーター化された有効なintel_vvp_clipper_instanceである必要があります。

引数

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

left_offset – uint16_t値へのポインター。LEFT_OFFSETレジスターから読み出された値を格納します。

top_offset – uint16_t値へのポインター。TOP_OFFSETレジスターから読み出された値を格納します。

right_offset – uint32_t値へのポインター。CLIP_WIDTHレジスターから読み出された値を格納します。

bottom_offset – uint32_t値へのポインター。CLIP_HEIGHTレジスターから読み出された値を格納します。

戻り値

成功の場合はkIntelVvpCoreOk、エラーの場合は負の値

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

出力値を格納するポインターの1つがヌルポインターの場合、kIntelVvpCoreNullPtrErr

intel_vvp_clipper_commit_writes

プロトタイプ
int intel_vvp_clipper_commit_writes(intel_vvp_clipper_instance* instance)
説明

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

引数

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

戻り値

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