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.4. ioctl VIDIOC_CROPCAP¶
7.4.1. Tên¶
VIDIOC_CROPCAP - Thông tin về khả năng cắt xén và chia tỷ lệ video
7.4.2. Tóm tắt¶
-
VIDIOC_CROPCAP¶
ZZ0000ZZ
7.4.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.4.4. Sự miêu tả¶
Các ứng dụng sử dụng chức năng này để truy vấn giới hạn cắt xén, kích thước pixel khía cạnh của hình ảnh và để tính toán các hệ số tỷ lệ. Họ đặt ZZ0001ZZ trường của cấu trúc v4l2_cropcap vào bộ đệm (luồng) tương ứng gõ và gọi ZZ0000ZZ ioctl bằng một con trỏ tới đây cấu trúc. Trình điều khiển lấp đầy phần còn lại của cấu trúc. Kết quả là không đổi ngoại trừ khi chuyển đổi tiêu chuẩn video. Hãy nhớ công tắc này có thể xảy ra ngầm khi chuyển đổi đầu vào hoặc đầu ra video.
Ioctl này phải được triển khai cho các thiết bị quay video hoặc đầu ra hỗ trợ cắt xén và/hoặc chia tỷ lệ và/hoặc có các pixel không vuông và cho thiết bị lớp phủ.
-
type v4l2_cropcap¶
__u32 |
|
Type of the data stream, set by the application. Only these types
are valid here: |
struct v4l2_rect |
|
Defines the window within capturing or output is possible, this may exclude for example the horizontal and vertical blanking areas. The cropping rectangle cannot exceed these limits. Width and height are defined in pixels, the driver writer is free to choose origin and units of the coordinate system in the analog domain. |
struct v4l2_rect |
|
Default cropping rectangle, it shall cover the “whole picture”.
Assuming pixel aspect 1/1 this could be for example a 640 × 480
rectangle for NTSC, a 768 × 576 rectangle for PAL and SECAM
centered over the active picture area. The same coordinate system
as for |
struct |
|
This is the pixel aspect (y / x) when no scaling is applied, the ratio of the actual sampling frequency and the frequency required to get square pixels. When cropping coordinates refer to square pixels, the driver sets
|
Lưu ý
Unfortunately in the case of multiplanar buffer types
(V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE and V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
this API was messed up with regards to how the v4l2_cropcap type field
should be filled in. Some drivers only accepted the _MPLANE buffer type while
other drivers only accepted a non-multiplanar buffer type (i.e. without the
_MPLANE at the end).
Starting with kernel 4.13 both variations are allowed.
__s32 |
|
Horizontal offset of the top, left corner of the rectangle, in pixels. |
__s32 |
|
Vertical offset of the top, left corner of the rectangle, in pixels. |
__u32 |
|
Width of the rectangle, in pixels. |
__u32 |
|
Height of the rectangle, in pixels. |
7.4.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 là không hợp lệ.
- ENODATA
Việc cắt xén không được hỗ trợ cho đầu vào hoặc đầu ra này.