Vietnamese (machine translation)

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:

ioctl VIDIOC_SUBDEV_G_CROP, VIDIOC_SUBDEV_S_CROP

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.59. ioctl VIDIOC_SUBDEV_G_CROP, VIDIOC_SUBDEV_S_CROP

7.59.1. Tên

VIDIOC_SUBDEV_G_CROP - VIDIOC_SUBDEV_S_CROP - Nhận hoặc đặt hình chữ nhật cắt trên bảng điều khiển phụ

7.59.2. Tóm tắt

VIDIOC_SUBDEV_G_CROP

ZZ0000ZZ

VIDIOC_SUBDEV_S_CROP

ZZ0000ZZ

7.59.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.59.4. Sự miêu tả

Lưu ý

This is an Obsolete API Elements interface and may be removed in the future. It is superseded by the selection API. No new extensions to the v4l2_subdev_crop structure will be accepted.

Để truy xuất các ứng dụng hình chữ nhật cắt xén hiện tại, hãy đặt ZZ0001ZZ trường của cấu trúc ZZ0000ZZ tới số pad mong muốn được báo cáo bởi phương tiện truyền thông API và trường ZZ0002ZZ tới ZZ0003ZZ. Sau đó họ gọi ZZ0004ZZ ioctl với một con trỏ tới cấu trúc này. các trình điều khiển điền các thành viên của trường ZZ0005ZZ hoặc trả về lỗi ZZ0006ZZ mã nếu đối số đầu vào không hợp lệ hoặc nếu việc cắt xén không được hỗ trợ trên pad nhất định.

Để thay đổi các ứng dụng cắt hình chữ nhật hiện tại, hãy đặt cả ZZ0001ZZ và các trường ZZ0002ZZ cũng như tất cả các thành viên của trường ZZ0003ZZ. Sau đó họ gọi ZZ0004ZZ ioctl bằng một con trỏ tới đây cấu trúc. Trình điều khiển xác minh hình chữ nhật cắt được yêu cầu, điều chỉnh nó dựa trên khả năng phần cứng và cấu hình thiết bị. Khi trả về cấu trúc ZZ0000ZZ chứa định dạng hiện tại sẽ được trả về bởi một Cuộc gọi ZZ0005ZZ.

Các ứng dụng có thể truy vấn khả năng của thiết bị bằng cách đặt ZZ0000ZZ tới ZZ0001ZZ. Khi được đặt, ‘thử’ cắt hình chữ nhật không được trình điều khiển áp dụng cho thiết bị nhưng được đọc sai chính xác là hoạt động cắt hình chữ nhật và lưu trữ trong phần xử lý tệp của thiết bị phụ. Hai do đó các ứng dụng truy vấn cùng một thiết bị phụ sẽ không tương tác với lẫn nhau.

Nếu nút thiết bị subdev đã được đăng ký ở chế độ chỉ đọc, hãy gọi tới ZZ0000ZZ chỉ hợp lệ nếu trường ZZ0001ZZ được đặt thành ZZ0002ZZ, nếu không sẽ trả về lỗi và lỗi sẽ xảy ra. biến được đặt thành ZZ0003ZZ.

Trình điều khiển không được trả về lỗi chỉ vì phần cắt được yêu cầu hình chữ nhật không phù hợp với khả năng của thiết bị. Thay vào đó họ phải sửa đổi hình chữ nhật để phù hợp với những gì phần cứng có thể cung cấp. các định dạng đã sửa đổi phải càng giống với yêu cầu ban đầu càng tốt.

type v4l2_subdev_crop
struct v4l2_subdev_crop

__u32

pad

Pad number as reported by the media framework.

__u32

which

Crop rectangle to get or set, from enum v4l2_subdev_format_whence.

struct v4l2_rect

rect

Crop rectangle boundaries, in pixels.

__u32

stream

Stream identifier.

__u32

reserved[7]

Reserved for future extensions. Applications and drivers must set the array to zero.

7.59.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.

EBUSY

Không thể thay đổi hình chữ nhật cắt vì phần đệm hiện đang được bận rộn. Ví dụ: điều này có thể xảy ra do luồng video đang hoạt động trên cái đệm. Không được thử lại ioctl mà không thực hiện thao tác khác hành động để khắc phục vấn đề đầu tiên. Chỉ được trả lại bởi ZZ0000ZZ

EINVAL

Cấu trúc ZZ0000ZZ ZZ0001ZZ tham chiếu đến một phần đệm không tồn tại, trường ZZ0002ZZ có giá trị không được hỗ trợ hoặc việc cắt xén không được hỗ trợ trên bảng subdev nhất định.

EPERM

ZZ0000ZZ ioctl đã được gọi trên một thiết bị con chỉ đọc và trường ZZ0001ZZ được đặt thành ZZ0002ZZ.