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

30.5. Scaler IPのソフトウェアAPI

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

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

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

表 551.  Scaler IPのソフトウェアAPI
名前 説明
intel_vvp_scaler_init Scalerインスタンスの初期化
intel_vvp_core_* Video and Vision Processing IPのソフトウェア・プログラミング・モデル で定義されたアクセサー。Liteがオンの場合に書き込み可能。LiteがオフでDebug featuresがオンの場合には、読み出しが可能です。
intel_vvp_scaler_get_lite_mode Lite modeがオンの場合に返します。
intel_vvp_scaler_get_debug_enabled Debug featuresがオンの場合に返します。

intel_vvp_scaler_get_pixels_in_parallel

(有効なビートごとに) 並行して送信されるピクセル数を返します。

intel_vvp_scaler_get_max_input_width

サポートされている最大入力幅を返します。

intel_vvp_scaler_get_max_output_width

サポートされている最大出力幅を返します。
intel_vvp_scaler_get_scaling_algorithm スケーリング・アルゴリズムを返します。
intel_vvp_scaler_is_coeffs_loading_enabled ランタイム時にスケーリング係数をロード/更新できるかどうかを返します。
intel_vvp_scaler_are_coeffs_preinitialized スケーリング係数がリセットからデフォルト値で自動的に初期化されるかどうかを返します。
intel_vvp_scaler_is_vertical_scaling_enabled IPが垂直スケーリングを実行できるかどうかを返します。
Intel_vvp_scaler_is_partial_vertical_scaling_enabled

IPが垂直分割スケーリングを実行できるかどうかを返します。

intel_vvp_scaler_get_num_vertical_taps 垂直のタップ数を返します。
intel_vvp_scaler_get_num_vertical_phases 垂直位相の数を返します。
intel_vvp_scaler_get_num_vertical_banks 垂直バンクの数を返します。
intel_vvp_scaler_are_vertical_coeffs_signed 垂直スケーリング係数に符号ビットがあり、負の値になる可能性があるかどうかを返します。

intel_vvp_scaler_get_vertical_coeffs_int_bits

垂直スケーリング係数を量子化するために使用できる整数ビット数 (符号ビットを除く) を返します。

intel_vvp_scaler_get_vertical_coeffs_frac_bits

垂直スケーリング係数を量子化するために使用できる小数ビットの数を返します。
intel_vvp_scaler_is_horizontal_scaling_enabled IPが水平方向のスケーリングを実行できるかどうかを返します。
intel_vvp_scaler_is_partial_horizontal_scaling_enabled IPが水平分割スケーリングを実行できるかどうかを返します。
intel_vvp_scaler_get_num_horizontal_taps 水平タップの数を返します。
intel_vvp_scaler_get_num_horizontal_phases 水平位相の数を返します。
intel_vvp_scaler_get_num_horizontal_banks 水平バンクの数を返します。
intel_vvp_scaler_are_ horizontal_coeffs_signed 水平スケーリング係数に符号ビットがあり、負の値を指定できるかどうかを返します。

intel_vvp_scaler_get_ horizontal_coeffs_int_bits

水平スケーリング係数を量子化するために使用できる整数ビット (符号ビットを除く) の数を返します。

intel_vvp_scaler_get_ horizontal_coeffs_frac_bits

水平スケーリング係数を量子化するために使用できる小数ビットの数を返します。
intel_vvp_scaler_get_rounding_method IPの出力で浮動小数点値を整数値に変換するために使用されるメソッドを返します。
intel_vvp_scaler_is_running 現在、IPがデータを処理しているかどうかを返します。
intel_vvp_scaler_get_commit_status コミットされていない書き込みがある場合に返します。
intel_vvp_scaler_get_status ステータスレジスターを読み出します。
intel_vvp_scaler_set_output_width 出力幅を選択します。
intel_vvp_scaler_set_total_input_width

フル画像の入力幅 (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_total_output_width

フル画像の出力幅 (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_output_height 出力の高さを選択します。
intel_vvp_scaler_set_total_input_height

フル画像の入力の高さ (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_total_output_height

フル画像の出力の高さ (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_h_pos_error

水平オフセット誤差 (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_v_pos_error

垂直オフセットエラー (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_h_extended_fill

水平分割拡張 (分割スケーリングのみ) をイネーブルします。

intel_vvp_scaler_set_v_extended_fill

垂直分割拡張 (分割スケーリングのみ) をイネーブルします。

intel_vvp_scaler_set_h_phase_offset_error

水平位相オフセット (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_v_phase_offset_error

垂直位相オフセット (分割スケーリングのみ) を選択します。

intel_vvp_scaler_set_split_h_scaling

水平分割スケーリング用にスケーラーをセットアップします。

intel_vvp_scaler_set_split_v_scaling

垂直分割スケーリング用のスケーラーをセットアップします。

intel_vvp_scaler_set_v_bank 次のコミットの垂直係数バンクを選択します。
intel_vvp_scaler_set_h_bank 次のコミットの水平係数バンクを選択します。
intel_vvp_scaler_get_output_width 最後に選択した出力幅を返します。
intel_vvp_scaler_get_total_input_width

最後に選択したフル画像入力幅 (分割スケーリング) を返します。

intel_vvp_scaler_get_total_output_width

最後に選択されたフル画像出力幅 (分割スケーリング) を返します。

intel_vvp_scaler_get_output_height 最後に選択された出力の高さを返します。
intel_vvp_scaler_get_total_input_height

最後に選択された完全な画像入力の高さ (分割スケーリング) を返します。

intel_vvp_scaler_get_total_output_height

最後に選択された完全な画像出力の高さ (分割スケーリング) を返します。

intel_vvp_scaler_get_h_pos_error

最後に選択した水平オフセットエラー (分割スケーリング) を返します。

intel_vvp_scaler_get_v_pos_error

最後に選択した垂直オフセットエラー (分割スケーリング) を返します。

intel_vvp_scaler_get_h_extended_fill

水平分割拡張がイネーブルかどうかを返します (分割スケーリングのみ)。

intel_vvp_scaler_get_v_extended_fill

垂直分割拡張がイネーブルかどうかを返します (分割スケーリングのみ)。

Intel_vvp_scaler_get_h_phase_offset_error

最後に選択された水平位相オフセットとエラー (分割スケーリング) を返します。

intel_vvp_scaler_get_v_phase_offset_error 最後に選択された垂直位相オフセットとエラー (分割スケーリング) を返します。
intel_vvp_scaler_get_v_bank 最後に選択された垂直係数バンクを返します。
intel_vvp_scaler_get_h_bank 最後に選択された水平係数バンクを返します。
intel_vvp_scaler_set_quantized_coeffs 指定された位相の量子化係数の新しいセットを使用してIPをプログラムします。
intel_vvp_scaler_set_coeffs 指定された位相の新しい浮動小数点係数セットを使用してIPをプログラムします。
intel_vvp_scaler_commit_writes すべての未処理の書き込みをコミットします。

enum eIntelVvpScalerAlgorithms

メンバー

kIntelVvpScalerNearestNeighborScaling (0) – ニアレストネイバー・スケーリング

kIntelVvpScalerBilinearScaling (1) – バイリニア・スケーリング

kIntelVvpScalerPolyphaseScaling (2) – ポリフェーズ・スケーリング

kIntelVvpScalerInvalidScalingAlgo (-1) – 無効なスケーリング・アルゴリズム (エラーを示すために使用)

説明

コンフィグレーション可能なスケーリング・アルゴリズムの列挙

intel_vvp_scaler_init

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

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

引数

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

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

戻り値

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

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

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

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

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

intel_vvp_scaler_get_lite_mode

プロトタイプ
bool intel_vvp_scaler_get_lite_mode(intel_vvp_scaler_instance *instance);
説明

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

引数

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

戻り値

IPがライトモードでパラメーター化されている場合は、True

intel_vvp_scaler_get_debug_enabled

プロトタイプ
bool intel_vvp_scaler_get_debug_enabled(intel_vvp_scaler_instance *instance);
説明

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

引数

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

戻り値

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

intel_vvp_scaler_get_pixels_in_parallel

プロトタイプ
uint8_t intel_vvp_scaler_get_pixels_in_parallel(intel_vvp_scaler_instance *instance);
説明

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

引数

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

戻り値

IPの生成に使用される並列ピクセルのパラメーター (ビート/クロック サイクルごとに送信されるピクセル)

intel_vvp_scaler_get_max_input_width

プロトタイプ
uint32_t intel_vvp_scaler_get_max_input_width(intel_vvp_scaler_instance *instance);
説明

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

引数

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

戻り値

IPがサポートしている最大入力幅

intel_vvp_scaler_get_max_output_width

プロトタイプ
uint32_t intel_vvp_scaler_get_max_output_width(intel_vvp_scaler_instance *instance);
説明

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

引数

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

戻り値

IPがサポートしている最大出力幅

intel_vvp_scaler_get_scaling_algorithm

プロトタイプ
eIntelVvpScalerAlgorithms intel_vvp_scaler_get_scaling_algorithm(intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

IPがコンフィグレーションされているスケーリング・アルゴリズム

intel_vvp_scaler_is_coeffs_loading_enabled

プロトタイプ
bool intel_vvp_scaler_is_coeffs_loading_enabled(intel_vvp_scaler_instance* instance);
説明

COEFFS_RUNTIME_LOADレジスターの値を返します。インスタンスは、完全に初期化され、ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

IPが係数のランタイム時のリロードをサポートするようにコンフィグレーションされている場合

intel_vvp_scaler_are_coeffs_preinitialized

プロトタイプ
bool intel_vvp_scaler_are_coeffs_preinitialized(intel_vvp_scaler_instance* instance);
説明

COEFFS_MEM_INITレジスタの値を返します。インスタンスは、完全に初期化され、ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

IPが初期化された係数で開始するようにコンフィグレーションされている場合

intel_vvp_scaler_is_vertical_scaling_enabled

プロトタイプ
bool intel_vvp_scaler_is_vertical_scaling_enabled (intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

IPが垂直スケーリングを実行するようにコンフィグレーションされている場合

intel_vvp_scaler_is_partial_vertical_scaling_enabled

プロトタイプ
bool intel_vvp_scaler_is_partial_vertical_scaling_enabled (intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

IPが分割垂直スケーリングを実行するようにコンフィグレーションされている場合

intel_vvp_scaler_get_num_vertical_taps

プロトタイプ
uint8_t intel_vvp_scaler_get_num_vertical_taps(intel_vvp_scaler_instance* instance);
説明

V_NUM_TAPSレジスターの値を返します。インスタンスは、完全に初期化され、垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

垂直方向のスケーリングに使用されるタップ数

intel_vvp_scaler_get_num_vertical_phases

プロトタイプ
uint16_t intel_vvp_scaler_get_num_vertical_phases(intel_vvp_scaler_instance* instance);
説明

V_NUM_PHASESレジスターの値を返します。インスタンスは、完全に初期化され、垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

垂直方向のスケーリングに使用されるタップ数

intel_vvp_scaler_get_num_vertical_banks

プロトタイプ
uint8_t intel_vvp_scaler_get_num_vertical_banks(intel_vvp_scaler_instance* instance);
説明

V_NUM_BANKSレジスターの値を返します。インスタンスは、完全に初期化され、垂直ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

垂直スケーリングに使用できる係数バンクの数

intel_vvp_scaler_are_vertical_coeffs_signed

プロトタイプ
bool intel_vvp_scaler_are_coeffs_signed(intel_vvp_scaler_instance* instance);
説明

V_COEFFS_SIGNEDレジスターの値を返します。インスタンスは、完全に初期化され、垂直ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

IP生成時に垂直方向のスケーリングに対して符号付き係数がイネーブルになっている場合

intel_vvp_scaler_get_vertical_coeffs_int_bits

プロトタイプ
uint8_t intel_vvp_scaler_get_coeffs_int_bits (intel_vvp_scaler_instance *instance);
説明

V_COEFFS_INT_BITSレジスターの値を返します。インスタンスは、完全に初期化され、垂直ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

垂直スケーリング係数の量子化をパラメーター化するためにIP生成時に設定される、符号ビットを除く整数ビットの数

intel_vvp_scaler_get_vertical_coeffs_frac_bits

プロトタイプ
uint8_t intel_vvp_scaler_get_vertical_coeffs_frac_bits (intel_vvp_scaler_instance *instance);
説明

V_COEFFS_FRAC_BITSレジスターの値を返します。インスタンスは、完全に初期化され、垂直ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

垂直スケーリング係数の量子化をパラメーター化するためにIP生成時に設定される、小数ビットの数

intel_vvp_scaler_is_horizontal_scaling_enabled

プロトタイプ
bool intel_vvp_scaler_is_horizontal_scaling_enabled (intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

IPが水平スケーリングを実行するようにコンフィグレーションされている場合

intel_vvp_scaler_is_partial_horizontal_scaling_enabled

プロトタイプ

bool intel_vvp_scaler_is_partial_horizontal_scaling_enabled (intel_vvp_scaler_instance* instance);

説明

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

引数

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

戻り値

IPが分割水平スケーリングを実行するようにコンフィグレーションされている場合

intel_vvp_scaler_get_num_horizontal_taps

プロトタイプ
uint8_t intel_vvp_scaler_get_num_horizontal_taps(intel_vvp_scaler_instance* instance);
説明

H_NUM_TAPSレジスターの値を返します。インスタンスは、完全に初期化され、水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

水平方向のスケーリングに使用されるタップ数

intel_vvp_scaler_get_num_horizontal_phases

プロトタイプ
uint16_t intel_vvp_scaler_get_num_horizontal_phases(intel_vvp_scaler_instance* instance);
説明

H_NUM_PHASESレジスターの値を返します。インスタンスは、完全に初期化され、水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

水平方向のスケーリングに使用されるタップ数

intel_vvp_scaler_get_num_horizontal_banks

プロトタイプ
uint8_t intel_vvp_scaler_get_num_horizontal_banks(intel_vvp_scaler_instance* instance);
説明

H_NUM_BANKSレジスターの値を返します。インスタンスは、完全に初期化され、水平ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

水平方向のスケーリングに使用できる係数バンクの数

intel_vvp_scaler_are_horizontal_coeffs_signed

プロトタイプ
bool intel_vvp_scaler_are_coeffs_signed(intel_vvp_scaler_instance* instance);
説明

H_COEFFS_SIGNEDレジスターの値を返します。インスタンスは、完全に初期化され、水平ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

IP生成時に水平方向のスケーリングに対して符号付き係数がイネーブルになっている場合

intel_vvp_scaler_get_horizontal_coeffs_int_bits

プロトタイプ
uint8_t intel_vvp_scaler_get_coeffs_int_bits (intel_vvp_scaler_instance *instance);
説明

H_COEFFS_INT_BITSレジスターの値を返します。インスタンスは、完全に初期化され、水平ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

水平スケーリング係数の量子化をパラメーター化するためにIP生成時に設定される、符号ビットを除く整数ビットの数

intel_vvp_scaler_get_horizontal_coeffs_frac_bits

プロトタイプ
uint8_t intel_vvp_scaler_get_horizontal_coeffs_frac_bits (intel_vvp_scaler_instance *instance);
説明

H_COEFFS_FRAC_BITSレジスターの値を返します。インスタンスは、完全に初期化され、水平ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

引数

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

戻り値

水平スケーリング係数の量子化をパラメーター化するためにIP生成時に設定される、小数ビットの数

intel_vvp_scaler_is_running

プロトタイプ
bool intel_vvp_scaler_is_running(intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_scaler_get_commit_status

プロトタイプ
bool intel_vvp_scaler_get_commit_status(intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_scaler_get_status

プロトタイプ
uint32_t intel_vvp_scaler_get_status(intel_vvp_scaler_instance* instance);
説明

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

引数

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

戻り値

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

intel_vvp_scaler_set_output_width

プロトタイプ
int intel_vvp_scaler_set_output_width(intel_vvp_scaler_instance *instance, uint32_t output_width)
説明

新しい出力幅を選択します。インスタンスは、水平スケーリング用に完全に初期化され、コンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、出力幅は許容範囲内である必要があります。

分割水平スケーリングがイネーブルになっている場合は、個々のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_h_scalingを使用して、スケーラーを分割水平スケーリング用に設定することを検討してください。

引数

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

output_width – 範囲 [1..max_h_width-1] の新しい出力幅。ここでのmax_h_widthは、intel_vvp_scaler_get_max_output_widthによって返される、コンフィグレーションされた最大の出力幅です。

戻り値

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

インスタンスが無効であるか、水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

新しい出力幅が範囲外の場合、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_total_input_width

プロトタイプ
int intel_vvp_scaler_set_total_input_width(intel_vvp_scaler_instance *instance, uint32_t total_input_width)
説明

新しい合計入力幅を選択します。インスタンスは、分割水平スケーリング用に完全に初期化され、コンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個々のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_h_scalingを使用してスケーラーを分割水平スケーリング用に設定することを検討してください。

引数

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

total_input_width – 入力画像全体の新しい幅

戻り値

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

インスタンスが無効であるか、分割水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

新しい入力幅が無効な場合は、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_total_output_width

プロトタイプ
int intel_vvp_scaler_set_total_output_width(intel_vvp_scaler_instance *instance, uint32_t total_output_width)
説明

新しい合計出力幅を選択します。インスタンスは、分割水平スケーリング用に完全に初期化され、コンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個々のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_h_scalingを使用してスケーラーを分割水平スケーリング用に設定することを検討してください。

引数

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

total_output_width – 出力画像全体の新しい幅

戻り値

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

インスタンスが無効であるか、分割水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

新しい出力幅が無効な場合、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_output_height

プロトタイプ
int intel_vvp_scaler_set_output_height(intel_vvp_scaler_instance *instance, uint32_t output_height)
説明

新しい出力の高さを選択します。インスタンスは、完全に初期化され、垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。分割垂直スケーリングがイネーブルの場合は、個々のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_v_scalingを使用して、分割垂直スケーリング用にスケーラーを設定することを検討してください。

引数

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

output_height – 新しい出力の高さ

戻り値

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

インスタンスが無効であるか、垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

新しい出力の高さが無効な場合は、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_total_input_height

プロトタイプ
int intel_vvp_scaler_set_total_input_height(intel_vvp_scaler_instance *instance, uint32_t total_input_height)
説明

新しい入力の合計の高さを選択します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_v_scalingを使用して分割垂直スケーリング用のスケーラーを設定することを検討してください。

引数

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

total_input_height – 入力画像全体の新しい高さ

戻り値

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

インスタンスが無効であるか、分割垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

新しい入力の高さが無効な場合は、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_total_output_height

プロトタイプ
int intel_vvp_scaler_set_total_output_height(intel_vvp_scaler_instance *instance, uint32_t total_output_height)
説明

新しい出力の合計の高さを選択します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_v_scalingを使用して分割垂直スケーリング用のスケーラーを設定することを検討してください。

引数

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

total_output_height – 出力画像全体の新しい高さ

戻り値

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

インスタンスが無効であるか、分割垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

新しい出力の高さが無効な場合は、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_h_pos_error

プロトタイプ
int intel_vvp_scaler_set_h_pos_error(intel_vvp_scaler_instance *instance, uint32_t h_pos_error)
説明

新しい水平位置の誤差を選択します。インスタンスは、完全に初期化され、分割水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_h_scalingを使用して分割水平スケーリング用のスケーラーを設定することを検討してください。

引数

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

h_pos_error – 新しい水平位置エラー

戻り値

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

インスタンスが無効であるか、分割水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

intel_vvp_scaler_set_v_pos_error

プロトタイプ

int intel_vvp_scaler_set_v_pos_error(intel_vvp_scaler_instance *instance, uint32_t v_pos_error)

説明

新しい垂直位置の誤差を選択します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_v_scalingを使用して分割垂直スケーリング用のスケーラーを設定することを検討してください。

引数

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

v_pos_error – 新しい垂直位置エラー

戻り値

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

インスタンスが無効であるか、分割垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

intel_vvp_scaler_set_h_extended_fill

プロトタイプ
int intel_vvp_scaler_set_h_extended_fill(intel_vvp_scaler_instance *instance, bool extended_fill)
説明

分割スケーリングの水平拡張をイネーブルします。インスタンスは、分割水平スケーリング用に完全に初期化され、コンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。

intel_vvp_scaler_set_split_h_scalingを使用すると、個々のレジスターを手動で変更するのではなく、分割水平スケーリング用にスケーラーをセットアップできます。

引数

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

extended_fill – 水平分割拡張がイネーブルの場合

戻り値

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

インスタンスが無効であるか、分割水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

intel_vvp_scaler_set_v_extended_fill

プロトタイプ
int intel_vvp_scaler_set_v_extended_fill(intel_vvp_scaler_instance *instance, bool extended_fill)
説明

分割スケーリングの垂直方向の拡張をイネーブルします。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_v_scalingを使用して分割垂直スケーリング用のスケーラーを設定することを検討してください。

引数

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

extended_fill – 垂直分割拡張がイネーブルの場合

戻り値

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

インスタンスが無効であるか、分割垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

intel_vvp_scaler_set_h_phase_offset_error

プロトタイプ
int intel_vvp_scaler_set_h_phase_offset_error(intel_vvp_scaler_instance *instance, uint32_t phase_offset, uint32_t phase_error);
説明

分割水平スケーリングの位相オフセットと位相オフセット誤差を設定します。インスタンスは、完全に初期化され、分割水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_h_scalingを使用して分割水平スケーリング用のスケーラーを設定することを検討してください。

引数

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

phase_offset – 新しい位相オフセット

phase_error – 新しい位相オフセットエラー

戻り値

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

インスタンスが無効であるか、分割水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

intel_vvp_scaler_set_v_phase_offset_error

プロトタイプ
int intel_vvp_scaler_set_v_phase_offset_error(intel_vvp_scaler_instance *instance, uint32_t phase_offset, uint32_t phase_error);
説明

分割垂直スケーリングの位相オフセットと位相オフセット誤差を設定します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。個別のレジスターを手動で変更するのではなく、intel_vvp_scaler_set_split_v_scalingを使用して分割垂直スケーリング用のスケーラーを設定することを検討してください。

引数

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

phase_offset – 新しい位相オフセット

phase_error – 新しい位相オフセットエラー

戻り値

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

インスタンスが無効であるか、分割垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

intel_vvp_scaler_set_split_h_scaling

プロトタイプ
int intel_vvp_scaler_set_split_h_scaling(intel_vvp_scaler_instance *instance, uint32_t total_input_width, uint32_t total_output_width, uint32_t split_output_width, uint32_t split_output_left_offset, bool extended_fill, uint32_t *split_input_width, uint32_t *split_input_left_offset);
説明

この関数は、分割水平スケーリングのスケーラーを設定します。入力画像の全幅、目的の出力画像の全幅、および出力分割の必要なオフセット/幅を指定して、指定された出力バンドを生成するためのスケーラーを設定します。オプションで、関数は入力画像内の対応するバンドのオフセットと幅を返します。これは、上流のビデオ処理パイプラインをコンフィグレーションし、正しいビデオ部分をスケーラーにストリームするために使用する必要があります。この呼び出しは、Liteモードでは入力幅画像情報レジスターを更新しません。intel_vvp_core_set_img_info_widthは、ここで返される split_input_width値をパラメーターとして使用して、引き続き呼び出される必要があります。

引数

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

total_input_width – 入力画像全体の新しい幅

total_output_width – 出力画像全体の新しい幅

split_output_width – スケーリングされた分割の幅 (出力時)

split_output_left_offset – スケーリングされた分割の左オフセット (出力時

extended_fill – 出力分割が目立たない継ぎ目でステッチできるように、入力分割の左側および/または右側にピクセルの余分な列を含める必要がある場合

split_input_width – 入力分割の推奨幅。この値はこの呼び出しによって計算され返されます (オプション、NULLの場合もあります)

split_input_left_offset – 入力画像全体に対する入力分割の推奨左オフセット。この値はこの呼び出しによって計算され返されます (オプション、NULLの場合もあります)

戻り値

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

インスタンスが無効であるか、分割水平スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

いずれかの次元が無効であるか、分割出力の幅がコンフィグレーションで許可されている幅より大きい場合、kIntelVvpScalerParameterErr

出力分割の幅と左オフセットが合計出力幅と比較して範囲外になった場合、kIntelVvpScalerParameterErr

呼び出し中に計算されたsplit_input_width値がコンフィグレーションで許可されている値より大きい場合、kIntelVvpScalerParameterErr。この値は最後に計算され、この場合でもスケーラーは再プログラムされることに注意してください。

intel_vvp_scaler_set_split_v_scaling

プロトタイプ
int intel_vvp_scaler_set_split_v_scaling(intel_vvp_scaler_instance *instance, uint32_t total_input_height, uint32_t total_output_height, uint32_t split_output_height, uint32_t split_output_top_offset, bool extended_fill, uint32_t *split_input_height, uint32_t *split_input_top_offset);
説明

この関数は、分割垂直スケーリングのスケーラーを設定します。入力画像の全高、目的の出力画像の全高、および出力分割の必要なオフセット/高さを指定して、指定された出力バンドを生成するようにスケーラーを設定します。オプションで、この関数は入力画像内の対応するバンドのオフセットと高さを返します。これは、上流のビデオ処理パイプラインをコンフィグレーションし、正しいビデオ部分をスケーラーにストリーミングするために使用する必要があります。この呼び出しは、Liteモードでは入力高さの画像情報レジスターを更新しません。intel_vvp_core_set_img_info_heightは、推定上ここで返されたsplit_input_height値をパラメーターとして使用して呼び出される必要があります。

引数

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

total_input_height – 入力画像全体の新しい高さ

total_output_height – 出力画像全体の新しい高さ

split_output_height – スケーリングされた分割の高さ (出力時)

split_output_top_offset – スケーリングされた分割の上部オフセット (出力時)

extend_fill – 出力分割を目立たないジョイントでステッチできるようにするために、入力分割の上部および/または下部に余分なラインを含める必要がある場合

split_input_height – 入力分割の推奨される高さ。この呼び出しによって値が計算されて返されます (オプション、NULLの場合もあります)

split_input_top_offset – 完全な入力画像に対する入力分割の推奨される上部オフセット。この呼び出しによって値が計算されて返されます (オプション、NULLの場合もあります)

戻り値

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

インスタンスが無効であるか、分割垂直スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

寸法の1つが無効な場合、kIntelVvpScalerParameterErr

出力分割の高さと上部オフセットが出力の合計高さと比較して範囲外になる場合、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_v_bank

プロトタイプ
int intel_vvp_scaler_set_v_bank(intel_vvp_scaler_instance *instance, uint8_t bank);
説明

使用する垂直スケーラー係数のバンクを選択します。インスタンスは有効なintel_vvp_scaler_instanceで、完全に初期化され、垂直ポリフェーズ・スケーリング用にコンフィグレーションされている必要があります。また、垂直係数のバンクは有効である必要があります。

引数

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

bank – 水平バンクの識別子。範囲は [0..num_v_banks-1] です。v_num_banksは、intel_vvp_scaler_get_num_vertical_banksによって返される値です。

戻り値

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

インスタンスが無効であるか、垂直ポリフェーズ・スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

垂直バンクが無効な場合、kIntelVvpScalerParameterErr

intel_vvp_scaler_set_h_bank

プロトタイプ
int intel_vvp_scaler_set_h_bank(intel_vvp_scaler_instance *instance, uint8_t bank);
説明

使用する水平スケーラー係数のバンクを選択します。インスタンスは有効なintel_vvp_scaler_instanceで、完全に初期化され、水平ポリフェーズ・スケーリング用にコンフィグレーションされている必要があります。また、水平係数のバンクは有効である必要があります。

引数

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

bank – 範囲 [0..num_h_banks-1] の水平バンクの識別子。ここでのh_num_banksは、intel_vvp_scaler_get_num_horizontal_banksによって返される値です。

戻り値

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

インスタンスが無効であるか、水平ポリフェーズ・スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

水平バンクが無効な場合、kIntelVvpScalerParameterErr

intel_vvp_scaler_get_output_width

プロトタイプ
uint32_t intel_vvp_scaler_get_output_width(intel_vvp_scaler_instance *instance)
説明

選択された出力幅を返します。インスタンスは、完全に初期化され、水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

選択した出力幅

intel_vvp_scaler_get_total_input_width

プロトタイプ
uint32_t intel_vvp_scaler_get_total_input_width(intel_vvp_scaler_instance *instance)
説明

選択された合計入力幅を返します。インスタンスは、完全に初期化され、分割水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

フル画像の選択された合計入力幅

intel_vvp_scaler_get_total_output_width

プロトタイプ
uint32_t intel_vvp_scaler_get_total_output_width(intel_vvp_scaler_instance *instance)
説明

選択された合計出力幅を返します。インスタンスは、完全に初期化され、分割水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

フル画像の選択された合計出力幅

intel_vvp_scaler_get_output_height

プロトタイプ
uint32_t intel_vvp_scaler_get_output_height(intel_vvp_scaler_instance *instance)
説明

選択された出力の高さを返します。インスタンスは、完全に初期化され、垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

選択した出力の高さ

intel_vvp_scaler_get_total_input_height

プロトタイプ
uint32_t intel_vvp_scaler_get_total_input_height(intel_vvp_scaler_instance *instance)
説明

選択された入力の合計の高さを返します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

フル画像の選択された合計入力の高さ

intel_vvp_scaler_get_total_output_height

プロトタイプ
uint32_t intel_vvp_scaler_get_total_output_height (intel_vvp_scaler_instance *instance)
説明

選択された出力の合計の高さを返します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

フル画像の選択された合計出力の高さ

intel_vvp_scaler_get_h_pos_error

プロトタイプ
uint32_t intel_vvp_scaler_get_h_pos_error(intel_vvp_scaler_instance *instance)
説明

選択された水平位置誤差を返します。インスタンスは、完全に初期化され、分割水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

画像全体の選択された水平位置エラー

intel_vvp_scaler_get_v_pos_error

プロトタイプ
uint32_t intel_vvp_scaler_get_v_pos_error(intel_vvp_scaler_instance *instance)
説明

選択された垂直位置誤差を返します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

画像全体の選択された垂直位置エラー

intel_vvp_scaler_get_h_extended_fill

プロトタイプ
bool intel_vvp_scaler_get_h_extended_fill(intel_vvp_scaler_instance *instance)
説明

水平拡張フィルがイネーブルかどうかを返します。インスタンスは、完全に初期化され、分割水平スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

水平方向の拡張フィルが想定される場合

intel_vvp_scaler_get_v_extended_fill

プロトタイプ
bool intel_vvp_scaler_get_v_extended_fill(intel_vvp_scaler_instance *instance)
説明

垂直拡張フィルがイネーブルかどうかを返します。インスタンスは、完全に初期化され、分割垂直スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

垂直方向の拡張フィルが想定される場合

intel_vvp_scaler_get_h_phase_offset_error

プロトタイプ
int intel_vvp_scaler_get_h_phase_offset_error(intel_vvp_scaler_instance *instance, uint32_t *phase_offset, uint32_t *phase_error)
説明

選択された水平位相オフセットと位相オフセット誤差を返します。インスタンスは、完全に初期化され、分割水平ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

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

インスタンスが無効であるか、多相スケーリング・アルゴリズムによる水平分割スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

Phase_offsetまたはPhase_errorがNULLポインターの場合、kIntelVvpCoreNullPtrErr

intel_vvp_scaler_get_ v_phase_offset_error

プロトタイプ
int intel_vvp_scaler_get_v_phase_offset_error(intel_vvp_scaler_instance *instance, uint32_t *phase_offset, uint32_t *phase_error)
説明

選択された垂直位相オフセットと位相オフセット誤差を返します。インスタンスは、完全に初期化され、分割水平ポリフェーズ・スケーリング用にコンフィグレーションされた有効なintel_vvp_scaler_instanceである必要があります。また、適切な値を読み戻すためにデバッグをイネーブルする必要があります。

引数

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

戻り値

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

インスタンスが無効であるか、多相スケーリング・アルゴリズムによる垂直分割スケーリング用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

Phase_offsetまたはPhase_errorがNULLポインターの場合、kIntelVvpCoreNullPtrErr

intel_vvp_scaler_get_v_bank

プロトタイプ
uint8_t intel_vvp_scaler_get_v_bank(intel_vvp_scaler_instance *instance);
説明

選択された垂直スケーリング係数のバンクを返します。インスタンスは有効なintel_vvp_scaler_instanceであり、完全に初期化され、垂直ポリフェーズ・スケーリング用にコンフィグレーションされている必要があります。また、適切な値を読み戻すには、デバッグをイネーブルする必要があります。

引数

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

戻り値

選択された垂直バンク

intel_vvp_scaler_get_h_bank

プロトタイプ
uint8_t intel_vvp_scaler_get_h_bank(intel_vvp_scaler_instance *instance);
説明

選択された水平スケーリング係数のバンクを返します。インスタンスは有効なintel_vvp_scaler_instanceであり、完全に初期化され、水平ポリフェーズ・スケーリング用にコンフィグレーションされている必要があります。また、適切な値を読み戻すには、デバッグをイネーブルする必要があります。

引数

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

戻り値

選択された水平バンク

intel_vvp_scaler_set_quantized_coeffs

プロトタイプ
int intel_vvp_scaler_set_quantized_coeffs(intel_vvp_scaler_instance* instance, bool h_coeffs, const int32_t* quantized_coeffs, uint8_t num_coeffs, uint8_t bank, uint8_t phase);
説明

指定された係数バンク内の指定された水平位相または垂直位相に対するnum_coeffs係数の新しいセットを使用して、IPをプログラムします。IPがこれらの係数を使用するように適切にコンフィグレーションされていない場合、エラーが返されます。num_coeffsパラメーターは、quantized_coeffs配列の保証された最小サイズを示し、必要に応じて水平または垂直タップの数と一致する必要があります。また、呼び出しでは量子化値が正しいかどうかがチェックされ、無効なビットが設定されている場合はエラーが返されます。32ビット範囲全体への符号拡張が受け入れられます。量子化エラーによって係数が更新されることはありません。

引数

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

h_coeffs – 水平係数のセットをコミットする場合はTrue、垂直係数のセットの場合はFalse

quantized_coeffs – 量子化された係数を含む構造体へのポインター

num_coeffs – h_coeffsが真の場合、水平タップの数、そうでない場合は垂直タップの数。呼び出し側は、quantized_coeffs配列が指定された値の数よりも大きいことを保証します。

bank – 新しいセットをコミットするために使用される係数のバンク

phase – 新しい係数の集合の位相

戻り値

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

インスタンスが無効であるか、水平/垂直ポリフェーズ・スケーリングおよび係数のランタイム時ロード用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

位相、バンク、または係数の数がIPコンフィグレーションに対して無効な場合、kIntelVvpScalerParameterErr

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

量子化された係数が範囲外の場合、kIntelVvpScalerQuantizationErr (これによる係数の更新への妨げはなし)

intel_vvp_scaler_set_coeffs

プロトタイプ
int intel_vvp_scaler_set_coeffs(intel_vvp_scaler_instance* instance, bool h_coeffs, const float* quantized_coeffs, uint8_t num_coeffs, uint8_t bank, uint8_t phase);
説明

指定された係数バンク内の指定された水平位相または垂直位相に対するnum_coeffs係数の新しいセットを使用して、IPをプログラムします。係数は、IPによって報告される固定小数点コンフィグレーションを使用して量子化されます。IPがこれらの係数を使用するように適切にコンフィグレーションされていない場合、エラーが返されます。num_coeffsパラメーターは、coeffs配列の保証された最小サイズを示し、必要に応じて水平または垂直タップの数と一致する必要があります。量子化が正常に完了できなかった場合は、エラーが返されます。

引数

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

h_coeffs – 水平係数のセットをコミットする場合はTrue、垂直係数のセットの場合はFalse

coeffs – 浮動小数点係数のセットを含む構造体へのポインター

num_coeffs – h_coeffsが真の場合、水平タップの数、そうでない場合は垂直タップの数。呼び出し側は、quantized_coeffs配列が指定された値の数よりも大きいことを保証します。

bank – 新しいセットをコミットするために使用される係数のバンク

phase – 新しい係数の集合の位相

戻り値

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

インスタンスが無効であるか、水平/垂直ポリフェーズ・スケーリングおよび係数のランタイム時ロード用にコンフィグレーションされていない場合、kIntelVvpCoreInstanceErr

位相、バンク、または係数の数がIPコンフィグレーションに対して無効な場合、kIntelVvpScalerParameterErr

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

量子化された係数が量子化制約の範囲外の場合、kIntelVvpScalerQuantizationErr (係数の更新への妨げはなし)

intel_vvp_scaler_commit_writes

プロトタイプ
int intel_vvp_scaler_commit_writes(intel_vvp_scaler_instance* instance)
説明

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

引数

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

戻り値

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