次の方法で共有


写真シーケンス モード

フォトシーケンスモードでは、カメラの 1 回のクリックに対して連続したの写真を撮影することができます。 このモードでは、キャプチャ システムは連続してカメラ ドライバーにバッファーを送信し、連続して写真をキャプチャします。 このモードでは、写真撮影前の時間帯の写真を撮影することもできます。

写真シーケンス操作

カメラ ドライバーは、 写真の シーケンス処理が可能な場合、KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE コントロールをサポートします。 キャプチャ パイプラインは、KS_VideoControlFlag_StartPhotoSequenceCapture トリガーをフォト ストリームに送信することで、写真シーケンスを開始します。 この時点で、ドライバーはキャプチャ バッファーの送信を開始する必要があります。 キャプチャ パイプラインは、KS_VideoControlFlag_StopPhotoSequenceCapture を送信して写真ストリームをオフにすることで写真シーケンスを停止します。 完了した写真ごとに、フレームをキャプチャするための新しいバッファーがドライバーに送信されます。

キャプチャ パイプラインには、特定のフォト シーケンス セッションに必要な過去のフレームの数を構成するフォト シーケンス モードの構成フェーズがあります。 構成フェーズ中に、ドライバーは、サポートされている過去のフォト フレームの最大数を指定する必要があります。 また、ドライバーは、過去のフレームの必要数をサポートするために必要なバッファーの数を指定します。

拡張コントロール KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIMEは、ユーザーがカメラ アプリケーションで写真トリガーをクリックして写真シーケンスを取得した実際の時間を渡します。 この時間がないと、ドライバーは、KS_VideoControlFlag_StartPhotoSequenceCapture トリガーが来たときに、どのフォト キャプチャからフレームを返し始めればよいかわかりません。 このコントロールでは、ドライバーは、指定された写真トリガー時間に最も近い写真を返す必要があります。

フレーム数ネゴシエーション

次の一連の操作は、カメラ ドライバーの写真モードとフレーム数を設定します。

  1. アプリケーションは API を呼び出して、写真シーケンス キャプチャ用のキャプチャ システムとドライバーを準備します。

  2. キャプチャ システムは、ドライバーのフォト シーケンス モードへの切り替えを開始するために、KSCAMERA_EXTENDEDPROP_PHOTOMODE_Standard Edition QUENCE がフラグに設定された KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE、フォト モード拡張プロパティ要求をドライバーに送信します。

    1. ドライバーには、アプリケーションから要求された履歴フレーム数が指定されます。 ドライバーは、履歴フレームを保持するために必要なバッファーの数と共にサポートできる履歴フレーム数を返す必要があります。

    2. ドライバーは、KsEdit を使用してフォト シーケンス モードの遷移呼び出しによるバッファーの数で、ピンのアロケーター要件の構造を更新する必要があります。

    3. ドライバーは、内部状態を写真シーケンス モードに変更します。

  3. キャプチャ システムは、ピンをKSSTATE_RUNに移行し、写真シーケンス モードに要求されたバッファーの数をドライバーに提供します。

サポート要件を制御する

カメラ ドライバーで写真シーケンス モードをサポートするには、次の拡張制御のサポートが必要です。