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

11.6. Chroma Key IPのソフトウェアAPI

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

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

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

表 96.  Chroma Key IPのソフトウェアAPI
名前 説明
intel_vvp_chroma_key_init Chroma Keyインスタンスを初期化します。
intel_vvp_core_* Video and Vision Processing IPのソフトウェア・プログラミング・モデル で定義されたアクセサー。Lite modeがオンのときに書き込み可能です。Lite modeがオフでDebug featuresがオンの場合に読み出し可能です。
intel_vvp_chroma_key_get_lite_mode Lite modeがオンの場合に返します。
intel_vvp_chroma_key_get_debug_enabled Debug featuresがオンの場合に返します。
intel_vvp_chroma_key_get_constant_alpha_mode Constant alpha mode がオンの場合に返します。
intel_vvp_chroma_key_get_constant_alpha_value Constant alpha modeがオンの場合、定数アルファ値を返します。
intel_vvp_chroma_key_get_bits_per_sample カラーサンプル値ごとのビット数を返します。
intel_vvp_chroma_key_get_num_planes カラープレーンの数を返します。
intel_vvp_chroma_key_is_running 現在、IPがデータを処理しているかどうかを返します。
intel_vvp_chroma_key_get_commit_status IPにコミットされていない書き込みがある場合に返します。
intel_vvp_chroma_key_get_status ステータスレジスターを読み出します。
intel_vvp_chroma_key_set_matched_alpha 一致したピクセルのアルファ値を設定します。
intel_vvp_chroma_key_set_unmatched_alpha 一致していないピクセルのアルファ値を設定します。
intel_vvp_chroma_key_enable_c1_matching 一致をチェックする際に最初のカラープレーンをイネーブルします。
intel_vvp_chroma_key_disable_c1_matching 一致をチェックする際に最初のカラープレーンをディスエーブルします。
intel_vvp_chroma_key_enable_c2_matching 一致をチェックする際に2番目のカラープレーンをイネーブルします。
intel_vvp_chroma_key_disable_c2_matching 一致をチェックする際に2番目のカラープレーンをディスエーブルします。
intel_vvp_chroma_key_enable_c3_matching 一致をチェックする際に3番目のカラープレーンをイネーブルします。
intel_vvp_chroma_key_disable_c3_matching 一致をチェックする際に3番目のカラープレーンをディスエーブルします。
intel_vvp_chroma_key_enable_c1_replacement 一致した場合に最初のカラープレーン・サンプルのスワップをイネーブルします。
intel_vvp_chroma_key_disable_c1_replacement 一致した場合に最初のカラープレーン・サンプルのスワップをディスエーブルします。
intel_vvp_chroma_key_enable_c2_replacement 一致した場合に2番目のカラープレーン・サンプルのスワップをイネーブルします。
intel_vvp_chroma_key_disable_c2_replacement 一致した場合に2番目のカラープレーン・サンプルのスワップをディスエーブルします。
intel_vvp_chroma_key_enable_c3_replacement 一致した場合に3番目のカラープレーン・サンプルのスワップをイネーブルします。
intel_vvp_chroma_key_disable_c3_replacement 一致した場合に3番目のカラープレーン・サンプルのスワップをディスエーブルします。
intel_vvp_chroma_key_commit_writes すべての未処理の書き込みをコミットします。

intel_vvp_chroma_key_init

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

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

引数

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

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

戻り値

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

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

product_idがChroma Key製品IDと一致しない場合は、kIntelVvpCorePidErr

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

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

intel_vvp_chroma_key_get_lite_mode

プロトタイプ
bool intel_vvp_chroma_key_get_lite_mode(intel_vvp_chroma_key_instance *instance);
説明

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

引数

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

戻り値

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

intel_vvp_chroma_key_get_debug_enabled

プロトタイプ
bool intel_vvp_chroma_key_get_debug_enabled(intel_vvp_chroma_key_instance *instance);
説明

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

引数

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

戻り値

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

intel_vvp_chroma_key_get_constant_alpha_mode

プロトタイプ
bool intel_vvp_chroma_key_get_constant_alpha_mode(intel_vvp_chroma_key_instance *instance);
説明

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

引数

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

戻り値

IPがビデオストリームに定数アルファ値を追加するようにパラメーター化されている場合は、Trueを返します。

intel_vvp_chroma_key_get_constant_alpha_value

プロトタイプ
uint16_t intel_vvp_chroma_key_get_constant_alpha_value(intel_vvp_chroma_key_instance *instance);
説明

CONSTANT_ALPHA_VALUE レジスターの値を返します。インスタンスは完全に初期化され、定数アルファモード用にパラメーター化された有効な intel_vvp_chroma_key_instance である必要があります。

引数

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

戻り値

IPが定数アルファモードでパラメータ化ーされている場合、定数アルファ値を返します。

intel_vvp_chroma_key_get_bits_per_sample

プロトタイプ
uint8_t intel_vvp_chroma_key_get_bits_per_sample(intel_vvp_chroma_key_instance *instance);
説明

IPのコンフィグレーションに使用される BITS_PER_SAMPLES パラメーターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_chroma_key_instance である必要があります。

引数

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

戻り値

カラーサンプルごとのビット数を返します。

intel_vvp_chroma_key_get_num_planes

プロトタイプ
uint8_t intel_vvp_chroma_key_get_num_planes(intel_vvp_chroma_key_instance *instance);
説明

IPのコンフィグレーションに使用される NUMBER_OF_COLOR_PLANES パラメーターの値を返します。インスタンスは、完全に初期化された有効な intel_vvp_chroma_key_instance である必要があります。

引数

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

戻り値

ピクセルあたりのカラープレーンの数を返します。

intel_vvp_chroma_key_is_running

プロトタイプ
bool intel_vvp_chroma_key_is_running(intel_vvp_chroma_key_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_chroma_key_get_commit_status

プロトタイプ
bool intel_vvp_chroma_key_get_commit_status(intel_vvp_chroma_key_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_chroma_key_get_status

プロトタイプ
uint32_t intel_vvp_chroma_key_get_status(intel_vvp_chroma_key_instance* instance);
説明

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

引数

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

戻り値

STATUS レジスターの内容を返します。

intel_vvp_chroma_key_set_matched_alpha

プロトタイプ
int intel_vvp_chroma_key_set_matched_alpha(intel_vvp_chroma_key_instance *instance, uint16_t matched_alpha);
説明

一致したピクセルのアルファ値を設定します。インスタンスは完全に初期化され、定数アルファモード用にパラメーター化されていない有効な intel_vvp_chroma_key_instance である必要があります。

引数

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

matched_alpha - [0..bits_per_sample-1] の範囲内の一致したピクセルのアルファ値

戻り値

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

インスタンスが無効であるか、定数アルファのみにパラメーター化されている場合は、kIntelVvpCoreInstanceErr

一致したアルファが無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_set_unmatched_alpha

プロトタイプ
int intel_vvp_chroma_key_set_unmatched_alpha(intel_vvp_chroma_key_instance *instance, uint16_t unmatched_alpha);
説明

一致しないピクセルのアルファ値を設定します。インスタンスは完全に初期化され、定数アルファモード用にパラメーター化されていない有効な intel_vvp_chroma_key_instance である必要があります。

引数

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

unmatched_alpha - [0..bits_per_sample-1] の範囲の一致していないピクセルのアルファ値

戻り値

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

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

一致していないアルファが無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_enable_c1_matching

プロトタイプ
int intel_vvp_chroma_key_enable_c1_matching(intel_vvp_chroma_key_instance *instance, uint16_t c1_lower_bound, uint16_t c1_upper_bound);
説明

最初のカラーサンプル値とのピクセルマッチングをイネーブルします。

引数

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

c1_ lower_bound - カラーサンプルと一致する範囲 [0..bits_per_sample-1] の最小サンプル値

c1_upper_bound - カラーサンプルと一致する範囲 [0..bits_per_sample-1] の最大サンプル値

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されている場合は、kIntelVvpCoreInstanceErr

下限または上限が無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_disable_c1_matching

プロトタイプ
int intel_vvp_chroma_key_disable_c1_matching(intel_vvp_chroma_key_instance* instance);
説明

最初のカラーサンプル値とのピクセルマッチングをディスエーブルします。

引数

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

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されている場合は、kIntelVvpCoreInstanceErr

intel_vvp_chroma_key_enable_c2_matching

プロトタイプ
int intel_vvp_chroma_key_enable_c1_matching(intel_vvp_chroma_key_instance *instance, uint16_t c2_lower_bound, uint16_t c2_upper_bound);
説明

2番目のカラーサンプル値とのピクセルマッチングをイネーブルします。

引数

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

c2_lower_bound - カラーサンプルと一致する範囲 [0..bits_per_sample-1] の最小サンプル値

c2_upper_bound - カラーサンプルと一致する範囲 [0..bits_per_sample-1] の最大サンプル値

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが2つ未満の場合、kIntelVvpCoreInstanceErr

下限または上限が無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_disable_c2_matching

プロトタイプ
int intel_vvp_chroma_key_disable_c2_matching(intel_vvp_chroma_key_instance* instance);
説明

2番目のカラーサンプル値とのピクセルマッチングをディスエーブルします。

引数

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

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが2つ未満の場合、kIntelVvpCoreInstanceErr

intel_vvp_chroma_key_enable_c3_matching

プロトタイプ
int intel_vvp_chroma_key_enable_c3_matching(intel_vvp_chroma_key_instance *instance, uint16_t c3_lower_bound, uint16_t c3_upper_bound);
説明

3番目のカラーサンプル値とのピクセルマッチングをイネーブルします。

引数

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

c3_lower_bound - カラーサンプルと一致する範囲 [0..bits_per_sample-1] の最小サンプル値

c3_upper_bound - カラーサンプルと一致する範囲 [0..bits_per_sample-1] の最大サンプル値

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが3つ未満の場合、kIntelVvpCoreInstanceErr

下限または上限が無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_disable_c3_matching

プロトタイプ
int intel_vvp_chroma_key_disable_c3_matching(intel_vvp_chroma_key_instance* instance);
説明

3番目のカラーサンプル値とのピクセルマッチングをディスエーブルします。

引数

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

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが3つ未満の場合、kIntelVvpCoreInstanceErr

intel_vvp_chroma_key_enable_c1_replacement

プロトタイプ
int intel_vvp_chroma_key_enable_c1_replacement(intel_vvp_chroma_key_instance *instance, uint16_t c1_replacement)
説明

ピクセルが一致したときに最初のカラープレーンのサンプル値をスワップします。

引数

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

c1_replacement - ピクセルが一致したときの範囲 [0..bits_per_sample-1] の置き換えサンプル値

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されている場合は、kIntelVvpCoreInstanceErr

置き換え値が無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_disable_c1_replacement

プロトタイプ
int intel_vvp_chroma_key_disable_c1_replacement(intel_vvp_chroma_key_instance *instance)
説明

ピクセルが一致したときに、最初のカラープレーンのサンプル値のスワップをキャンセルします。

引数

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

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されている場合は、kIntelVvpCoreInstanceErr

intel_vvp_chroma_key_enable_c2_replacement

プロトタイプ
int intel_vvp_chroma_key_enable_c2_replacement(intel_vvp_chroma_key_instance *instance, uint16_t c2_replacement)
説明

ピクセルが一致したときに2番目のカラープレーンのサンプル値をスワップします。

引数

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

c2_replacement - ピクセルが一致したときの範囲 [0..bits_per_sample-1] の置き換えサンプル値

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが2つ未満の場合、kIntelVvpCoreInstanceErr

置き換え値が無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_disable_c2_replacement

プロトタイプ
int intel_vvp_chroma_key_disable_c2_replacement(intel_vvp_chroma_key_instance *instance)
説明

ピクセルが一致したときに、2番目のカラープレーンのサンプル値のスワップをキャンセルします。

引数

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

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが2つ未満の場合、kIntelVvpCoreInstanceErr

intel_vvp_chroma_key_enable_c3_replacement

プロトタイプ
int intel_vvp_chroma_key_enable_c3_replacement(intel_vvp_chroma_key_instance *instance, uint16_t c3_replacement)
説明

ピクセルが一致したときに3番目のカラープレーンのサンプル値をスワップします。

引数

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

c3_replacement - ピクセルが一致したときの範囲 [0..bits_per_sample-1] の置き換えサンプル値

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが3つ未満の場合、kIntelVvpCoreInstanceErr

置き換え値が無効な場合、kIntelVvpChromaKeyValueErr

intel_vvp_chroma_key_disable_c3_replacement

プロトタイプ
int intel_vvp_chroma_key_disable_c3_replacement(intel_vvp_chroma_key_instance *instance)
説明

ピクセルが一致したときに、3番目のカラープレーンのサンプル値のスワップをキャンセルします。

引数

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

戻り値

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

インスタンスが無効であるか、定数アルファ出力用にパラメーター化されているか、またはカラープレーンが3つ未満の場合、kIntelVvpCoreInstanceErr

intel_vvp_chroma_key_commit_writes

プロトタイプ
int intel_vvp_chroma_key_commit_writes(intel_vvp_chroma_key_instance* instance)
説明

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

引数

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

戻り値

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