7.34. ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP

7.34.1. 名稱

VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP

7.34.2. 概要

VIDIOC_G_JPEGCOMP

int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)

VIDIOC_S_JPEGCOMP

int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)

7.34.3. 引數

fd

open() 返回的檔案描述符。

argp

指向 struct v4l2_jpegcompression 的指標。

7.34.4. 描述

這些 ioctl 已棄用。 新的驅動程式和應用程式應使用 JPEG 類控制元件 來控制影像質量和 JPEG 標記。

[待辦]

Ronald Bultje 詳細說明

APP 是某些特定於應用程式的資訊。 應用程式可以自行設定它,它將儲存在 JPEG 編碼的欄位中(例如,AVI 中的交錯資訊)。 COM 相同,但它是註釋,例如“由我編碼”等等。

jpeg_markers 描述了霍夫曼表、量化表和重新啟動間隔資訊(所有 JPEG 特定內容)是否應儲存在 JPEG 編碼的欄位中。 這些定義了 JPEG 欄位的編碼方式。 如果省略它們,應用程式會假定您使用了標準編碼。 您通常確實想新增它們。

type v4l2_jpegcompression
struct v4l2_jpegcompression

int

質量

已棄用。 如果驅動程式公開了 V4L2_CID_JPEG_COMPRESSION_QUALITY 控制元件,則應用程式應使用它來代替並忽略此欄位。

int

APPn

int

APP_len

char

APP_data[60]

int

COM_len

char

COM_data[60]

__u32

jpeg_markers

請參見 JPEG 標記標誌。 已棄用。 如果驅動程式公開了 V4L2_CID_JPEG_ACTIVE_MARKER 控制元件,則應用程式應使用它來代替並忽略此欄位。

JPEG 標記標誌

V4L2_JPEG_MARKER_DHT

(1<<3)

定義霍夫曼表

V4L2_JPEG_MARKER_DQT

(1<<4)

定義量化表

V4L2_JPEG_MARKER_DRI

(1<<5)

定義重新啟動間隔

V4L2_JPEG_MARKER_COM

(1<<6)

註釋段

V4L2_JPEG_MARKER_APP

(1<<7)

App 段,驅動程式將始終使用 APP0

7.34.5. 返回值

成功時返回 0,出錯時返回 -1,並相應地設定 errno 變數。 常見錯誤程式碼在 通用錯誤程式碼 一章中描述。