การอ้างอิง Struct camera2_frame_queue_dst_ops

การอ้างอิง Struct camera2_frame_queue_dst_ops

#include < camera2.h >

ฟิลด์ข้อมูล

int(*  dequeue_frame )(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer)
 
int(*  cancel_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
 
int(*  enqueue_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
 

คำอธิบายโดยละเอียด

โปรโตคอลคิวเอาต์พุตเฟรม

เฟรมเวิร์กจะเก็บคิวและเนื้อหาของคิวไว้ ในตอนเริ่มต้น คิวจะว่างเปล่า

  1. เมื่ออุปกรณ์พร้อมที่จะกรอกเฟรมข้อมูลเมตาเอาต์พุต อุปกรณ์จะต้องนำบัฟเฟอร์ข้อมูลเมตาขนาดที่ต้องการออกจากคิว
  2. จากนั้นควรกรอกบัฟเฟอร์ข้อมูลเมตาและวางไว้ในคิวเฟรมโดยใช้ enqueue_frame เฟรมเวิร์กจะเป็นเจ้าของเฟรม
  3. ในกรณีที่เกิดข้อผิดพลาด คำขอล้างไปป์ไลน์ หรือระบบปิดเครื่อง อุปกรณ์ต้องส่งเฟรมที่ดึงออกจากคิวซึ่งได้รับผลกระทบกลับไปยังเฟรมเวิร์กโดยเรียกใช้ cancel_frame

คําจํากัดความที่บรรทัด 263 ของไฟล์ camera2.h

เอกสารประกอบในสนาม

int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

คืนบัฟเฟอร์ข้อมูลเมตาที่ออกจากคิวไปยังเฟรมเวิร์กเพื่อใช้ซ้ำ อย่าทําเครื่องหมายว่าเต็ม ใช้เมื่อพบข้อผิดพลาดหรือล้างคิวคําขอภายใน

คําจํากัดความที่บรรทัด 278 ของไฟล์ camera2.h .

int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer)

รับบัฟเฟอร์ข้อมูลเมตาว่างเพื่อกรอกจากเฟรมเวิร์ก บัฟเฟอร์ข้อมูลเมตาใหม่จะมีพื้นที่สำหรับรายการข้อมูลเมตาจำนวน entries พร้อมพื้นที่เก็บข้อมูลเพิ่มเติมเท่ากับ data_bytes เฟรมที่ออกจากคิวที่นี่ต้องส่งกลับไปยังเฟรมเวิร์กด้วย cancel_frame หรือ enqueue_frame

คําจํากัดความที่บรรทัด 270 ของไฟล์ camera2.h .

int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

วางเฟรมข้อมูลเมตาที่เสร็จสมบูรณ์ไว้ในคิวเอาต์พุตเฟรม

คําจํากัดความที่บรรทัด 284 ของไฟล์ camera2.h .


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้