写真シーケンス モード
フォトシーケンスモードでは、カメラの 1 回のクリックに対して連続したの写真を撮影することができます。 このモードでは、キャプチャ システムは連続してカメラ ドライバーにバッファーを送信し、連続して写真をキャプチャします。 このモードでは、写真撮影前の時間帯の写真を撮影することもできます。
写真シーケンス操作
カメラ ドライバーは、 写真の シーケンス処理が可能な場合、KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE コントロールをサポートします。 キャプチャ パイプラインは、KS_VideoControlFlag_StartPhotoSequenceCapture トリガーをフォト ストリームに送信することで、写真シーケンスを開始します。 この時点で、ドライバーはキャプチャ バッファーの送信を開始する必要があります。 キャプチャ パイプラインは、KS_VideoControlFlag_StopPhotoSequenceCapture を送信して写真ストリームをオフにすることで写真シーケンスを停止します。 完了した写真ごとに、フレームをキャプチャするための新しいバッファーがドライバーに送信されます。
キャプチャ パイプラインには、特定のフォト シーケンス セッションに必要な過去のフレームの数を構成するフォト シーケンス モードの構成フェーズがあります。 構成フェーズ中に、ドライバーは、サポートされている過去のフォト フレームの最大数を指定する必要があります。 また、ドライバーは、過去のフレームの必要数をサポートするために必要なバッファーの数を指定します。
拡張コントロール KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIMEは、ユーザーがカメラ アプリケーションで写真トリガーをクリックして写真シーケンスを取得した実際の時間を渡します。 この時間がないと、ドライバーは、KS_VideoControlFlag_StartPhotoSequenceCapture トリガーが来たときに、どのフォト キャプチャからフレームを返し始めればよいかわかりません。 このコントロールでは、ドライバーは、指定された写真トリガー時間に最も近い写真を返す必要があります。
フレーム数ネゴシエーション
次の一連の操作は、カメラ ドライバーの写真モードとフレーム数を設定します。
アプリケーションは API を呼び出して、写真シーケンス キャプチャ用のキャプチャ システムとドライバーを準備します。
キャプチャ システムは、ドライバーのフォト シーケンス モードへの切り替えを開始するために、KSCAMERA_EXTENDEDPROP_PHOTOMODE_Standard Edition QUENCE がフラグに設定された KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE、フォト モード拡張プロパティ要求をドライバーに送信します。
ドライバーには、アプリケーションから要求された履歴フレーム数が指定されます。 ドライバーは、履歴フレームを保持するために必要なバッファーの数と共にサポートできる履歴フレーム数を返す必要があります。
ドライバーは、KsEdit を使用してフォト シーケンス モードの遷移呼び出しによるバッファーの数で、ピンのアロケーター要件の構造を更新する必要があります。
ドライバーは、内部状態を写真シーケンス モードに変更します。
キャプチャ システムは、ピンをKSSTATE_RUNに移行し、写真シーケンス モードに要求されたバッファーの数をドライバーに提供します。
サポート要件を制御する
カメラ ドライバーで写真シーケンス モードをサポートするには、次の拡張制御のサポートが必要です。
フォトモード
写真のフレーム レート
写真の最大フレーム レート
写真のトリガー時間
写真のサムネイル
最大ビデオ フレーム レート
コントロール: KSPROPERTY_CAMERACONTROL_EXTENDED_MAXVIDFPS_PHOTORES
フラッシュ モード (KSCAMERA_EXTENDEDPROP_FLASH_SINGLEFLASH機能をサポート)