Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
7.14. ioctl VIDIOC_ENUM_FMT¶
7.14.1. Tên¶
VIDIOC_ENUM_FMT - Liệt kê các định dạng hình ảnh
7.14.2. Tóm tắt¶
-
VIDIOC_ENUM_FMT¶
ZZ0000ZZ
7.14.3. Đối số¶
- ZZ0001ZZ
Bộ mô tả tệp được trả về bởi ZZ0000ZZ.
- ZZ0001ZZ
Con trỏ tới cấu trúc ZZ0000ZZ.
7.14.4. Sự miêu tả¶
Để liệt kê các ứng dụng định dạng hình ảnh, hãy khởi tạo ZZ0002ZZ, ZZ0003ZZ và các trường ZZ0004ZZ của cấu trúc ZZ0000ZZ và gọi ZZ0001ZZ ioctl với một con trỏ tới cấu trúc này. Trình điều khiển điền vào phần còn lại của cấu trúc hoặc trả về mã lỗi ZZ0005ZZ. Tất cả các định dạng có thể đếm được bằng cách bắt đầu từ chỉ số 0 và tăng dần theo một cho đến khi ZZ0006ZZ được trả lại. Nếu có, tài xế sẽ quay lại các định dạng theo thứ tự ưu tiên, trong đó các định dạng ưa thích được trả về trước (nghĩa là với giá trị ZZ0007ZZ thấp hơn) các định dạng ít được ưa thích hơn.
Tùy thuộc vào ZZ0001ZZ ZZ0000ZZ, trường ZZ0002ZZ được xử lý khác nhau:
ZZ0000ZZ chưa được đặt (còn được gọi là trình điều khiển ‘tập trung vào nút video’)
- Các ứng dụng sẽ khởi tạo trường ZZ0000ZZ về 0 và trình điều khiển
sẽ bỏ qua giá trị của trường.
Trình điều khiển sẽ liệt kê tất cả các định dạng hình ảnh.
Lưu ý
After switching the input or output the list of enumerated image formats may be different.
ZZ0000ZZ được thiết lập (còn được gọi là trình điều khiển ‘MC lấy trung tâm’)
- Nếu trường ZZ0000ZZ bằng 0 thì tất cả các định dạng hình ảnh
sẽ được liệt kê.
- Nếu trường ZZ0001ZZ được khởi tạo thành giá trị hợp lệ (khác 0)
ZZ0000ZZ, sau đó là trình điều khiển sẽ hạn chế việc liệt kê chỉ các định dạng hình ảnh có thể tạo ra (đối với thiết bị đầu ra video) hoặc được sản xuất từ (đối với thiết bị quay video thiết bị) mã bus phương tiện đó. Nếu ZZ0002ZZ không được hỗ trợ bởi trình điều khiển thì ZZ0003ZZ sẽ được trả lại.
- Bất kể giá trị của trường ZZ0000ZZ, hình ảnh được liệt kê
các định dạng sẽ không phụ thuộc vào cấu hình hoạt động của thiết bị video hoặc đường dẫn thiết bị.
-
type v4l2_fmtdesc¶
__u32 |
|
Number of the format in the enumeration, set by the application.
This is in no way related to the |
__u32 |
|
Type of the data stream, set by the application. Only these types
are valid here: |
__u32 |
|
|
__u8 |
|
Description of the format, a NUL-terminated ASCII string. This information is intended for the user, for example: “YUV 4:2:2”. |
__u32 |
|
The image format identifier. This is a four character code as
computed by the |
|
Several image formats are already defined by this specification in Image Formats. Chú ý These codes are not the same as those used in the Windows world. |
||
__u32 |
|
Media bus code restricting the enumerated formats, set by the
application. Only applicable to drivers that advertise the
|
__u32 |
|
Reserved for future extensions. Drivers must set the array to zero. |
|
0x0001 |
This is a compressed format. |
|
0x0002 |
This format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance. |
|
0x0004 |
The hardware decoder for this compressed bytestream format (aka coded format) is capable of parsing a continuous bytestream. Applications do not need to parse the bytestream themselves to find the boundaries between frames/fields. This flag can only be used in combination with the
|
|
0x0008 |
Dynamic resolution switching is supported by the device for this
compressed bytestream format (aka coded format). It will notify the user
via the event This flag can only be used in combination with the
|
|
0x0010 |
The hardware encoder supports setting the This flag can only be used in combination with the
|
|
0x0020 |
The driver allows the application to try to change the default colorspace. This flag is relevant only for capture devices. The application can ask to configure the colorspace of the capture device when calling the VIDIOC_S_FMT ioctl with V4L2_PIX_FMT_FLAG_SET_CSC set. |
|
0x0040 |
The driver allows the application to try to change the default transfer function. This flag is relevant only for capture devices. The application can ask to configure the transfer function of the capture device when calling the VIDIOC_S_FMT ioctl with V4L2_PIX_FMT_FLAG_SET_CSC set. |
|
0x0080 |
The driver allows the application to try to change the default Y’CbCr encoding. This flag is relevant only for capture devices. The application can ask to configure the Y’CbCr encoding of the capture device when calling the VIDIOC_S_FMT ioctl with V4L2_PIX_FMT_FLAG_SET_CSC set. |
|
0x0080 |
The driver allows the application to try to change the default HSV encoding. This flag is relevant only for capture devices. The application can ask to configure the HSV encoding of the capture device when calling the VIDIOC_S_FMT ioctl with V4L2_PIX_FMT_FLAG_SET_CSC set. |
|
0x0100 |
The driver allows the application to try to change the default quantization. This flag is relevant only for capture devices. The application can ask to configure the quantization of the capture device when calling the VIDIOC_S_FMT ioctl with V4L2_PIX_FMT_FLAG_SET_CSC set. |
|
0x0200 |
The metadata format is line-based. In this case the |
|
0x80000000 |
When the applications ORs |
7.14.5. Giá trị trả về¶
Khi thành công, trả về 0, lỗi -1 và biến ZZ0001ZZ được đặt một cách thích hợp. Các mã lỗi chung được mô tả tại Chương ZZ0000ZZ.
- EINVAL
Cấu trúc ZZ0000ZZ ZZ0001ZZ thì không được hỗ trợ hoặc ZZ0002ZZ nằm ngoài giới hạn.
- Nếu ZZ0000ZZ được đặt và ZZ0001ZZ được chỉ định
không được hỗ trợ thì cũng trả về mã lỗi này.