# Linear 与 SHDR 模式自动切换

Source: [https://docs.qualcomm.com/doc/80-70015-17SC/topic/auto_linear_vs_shdr_mode_switch_public.html](https://docs.qualcomm.com/doc/80-70015-17SC/topic/auto_linear_vs_shdr_mode_switch_public.html)

此功能支持在无需停止和启动摄像头会话的情况下，进行 Linear 和 SHDR v2 模式 Pipeline 之间的动态切换。

此功能有助于防止在需要基于 Lux 值的 SHDR 与 Linear 模式切换时中断视频会话。其还有助于减少 pipeline 切换延迟，因为 Pipeline（Linear 和 SHDR）在会话创建期间已预先初始化。在模式切换期间，它将释放 Pipeline 的硬件资源（传感器、IFE、IPE），然后为新 Pipeline 获取并重新配置资源。

Note: 此功能仅适用于 SHDR v2 和 Linear 模式的 Pipeline。未来的版本将可用于 SHDR v3 和 Linear 模式。

Note: 使用 SSH 连接到设备控制台。相关说明，请参见 [如何使用 SSH？](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/how_to.html#use-ssh)确保在 Permissive 模式下启用 SSH。

要收集日志，请在设备中运行以下命令：

    # journalctl -f > /opt/log.txtCopy to clipboard

在 GST 命令中使用 `vhdr=3` 以启用此功能。要启用该功能并在 Linear 和 SHDR 模式之间切换，请执行以下操作：
1. 运行 `gst-camera-metadata-example` 应用程序，该应用程序可以支持设置供应商标记以在运行时切换用例。例如：

        gst-camera-metadata-example -p "qtiqmmfsrc name=camsrc camera=0 vhdr=3 ! \
        video/x-raw(memory:GBM),format=NV12,width=3840,height=2160,framerate=30/1,compression=ubwc,\
        interlace-mode=progressive,colorimetry=bt601 ! queue ! v4l2h264enc capture-io-mode=5 \
        output-io-mode=5 ! queue ! h264parse ! mp4mux ! queue ! filesink location=/opt/mux4k.mp4"
        Copy to clipboard
2. 在应用程序中，选择 (1) READY。
3. 选择 (3) PLAYING。摄像头将以 Linear 模式启动。
4. 选择 (4) META。将显示以下菜单：

        ------------------------- MENU -------------------------
           (1) video-metadata
           (2) image-metadata
           (3) static-metadata
           (4) session-metadata
        --------------------------------------------------------
        Copy to clipboard
5. 选择 (1) video-metadata。将显示以下菜单：

        ------------------------- video-metadata -------------------------
           (1) List all available tags
           (2) Dump all tags values in a file
           (3) Dump custom tags values in a file
           (4) Get a tag
           (5) Set a tag
        ------------------------------------------------------------------
        Copy to clipboard
6. 选择 (5) Set a tag。
7. 此时将显示一个提示，提示用户输入以空格分隔的节名和标签名，不带引号。输入 `org.quic.camera.videoHDRmode modeType`。
8. 此时将显示设置该值的提示。输入 1 切换到 SHDR 模式。

要在 Linear 和 SHDR 模式之间切换，则重复此过程并根据需要输入 1（SHDR 模式）和 0（Linear 模式）。

要关闭摄像头，选择 (q) QUIT 或按下 CTRL + C。

使用以下日志验证此功能：
- Linear 模式

        cam-server[1693]: CamX: [REQMAP]1693 2652 [CORE   ] camxsession.cpp:4811 ProcessRequest() chiFrameNum: 0  <==>  requestId: 1  <==>  sequenceId: 0  <==> CSLSyncId: 1 -- RealTimeFeatureZSLPreviewRawYUV_0Copy to clipboard

- SHDR 模式：

        cam-server[1693]: CamX: [REQMAP]1693 2652 [CORE   ] camxsession.cpp:4811 ProcessRequest() chiFrameNum: 296  <==>  requestId: 297  <==>  sequenceId: 296  <==> CSLSyncId: 297 -- RealTimeSHDR_0Copy to clipboard

**Parent Topic:** [高级摄像头功能](https://docs.qualcomm.com/doc/80-70015-17SC/topic/advanced_camera_features.html)

Last Published: Dec 06, 2024

[Previous Topic
来自单摄像头输入流的多个 ROI 流](https://docs.qualcomm.com/bundle/publicresource/80-70015-17SC/topics/multiple_roi_streams_from_single_camera_input_stream_public.md) [Next Topic
故障排除](https://docs.qualcomm.com/bundle/publicresource/80-70015-17SC/topics/troubleshooting.md)