مرجع هيكل الكاميرا3_stream

مرجع هيكل الكاميرا3_stream

#include < camera3.h >

حقول البيانات

كثافة العمليات Stream_type
uint32_t عرض
uint32_t ارتفاع
كثافة العمليات شكل
uint32_t الاستخدام
uint32_t max_buffers
فارغ * خاص
android_dataspace_t data_space
كثافة العمليات دوران
فارغ * محفوظة [7]

وصف تفصيلي

كاميرا3_ستريم_ت:

مقبض لإدخال أو إخراج كاميرا واحدة. يتم تعريف التدفق بواسطة إطار العمل من خلال دقة المخزن المؤقت وتنسيقه، بالإضافة إلى ذلك بواسطة HAL مع إشارات استخدام gralloc والحد الأقصى لعدد المخزن المؤقت أثناء الطيران.

بنيات الدفق مملوكة لإطار العمل، لكن المؤشرات إلى Camera3_stream التي تم تمريرها إلى HAL بواسطةconfig_streams() تكون صالحة حتى نهاية أول استدعاء لاحق لconfig_streams() الذي لا يتضمن هذا Camera3_stream كوسيطة، أو حتى نهاية المكالمة القريبة ().

جميع الأعضاء الذين يتحكم فيهم إطار عمل Camera3_stream غير قابلين للتغيير بمجرد تمرير Camera3_stream إلىconfig_streams(). يجوز لـ HAL فقط تغيير معلمات التحكم في HAL أثناء استدعاءconfig_streams()، باستثناء محتويات المؤشر الخاص.

إذا أدى استدعاءconfig_streams() إلى إرجاع خطأ غير فادح، فستظل جميع التدفقات النشطة صالحة كما لو لم يتم استدعاء config_streams().

نقطة نهاية الدفق غير مرئية لجهاز الكاميرا HAL. في DEVICE_API_VERSION_3_1، تم تغيير هذا لمشاركة علامات استخدام المستهلك على التدفقات التي تكون فيها الكاميرا منتجة (أنواع البث OUTPUT وBIDIRECTIONAL) راجع حقل الاستخدام أدناه.

التعريف في السطر 1523 من ملف Camera3.h .

التوثيق الميداني

android_dataspace_t data_space

حقل يصف محتويات المخزن المؤقت. تحدد أبعاد التنسيق والمخزن المؤقت تخطيط الذاكرة وبنية المخازن المؤقتة للتيار، بينما تحدد dataSpace معنى البيانات داخل المخزن المؤقت.

بالنسبة لمعظم التنسيقات، يحدد dataSpace مساحة اللون لبيانات الصورة. بالإضافة إلى ذلك، بالنسبة لبعض التنسيقات، يشير dataSpace إلى ما إذا كانت البيانات المستندة إلى الصورة أو العمق مطلوبة. راجع system/core/include/system/graphics.h للحصول على تفاصيل التنسيقات وقيم dataSpace الصالحة لكل تنسيق.

معلومات الإصدار:

< CAMERA_DEVICE_API_VERSION_3_3:

غير محدد ولا ينبغي الوصول إليه. يجب افتراض أن مساحة البيانات هي HAL_DATASPACE_UNKNOWN، ويجب تحديد مساحة اللون المناسبة وما إلى ذلك من إشارات الاستخدام والتنسيق.

= CAMERA_DEVICE_API_VERSION_3_3:

يتم ضبطه دائمًا بواسطة خدمة الكاميرا. يجب أن يستخدم HAL مساحة البيانات هذه لتكوين الدفق إلى مساحة الألوان الصحيحة، أو للاختيار بين مخرجات اللون والعمق إذا كانت مدعومة. قيم مساحة البيانات هي التعريفات القديمة في graphics.h

>= CAMERA_DEVICE_API_VERSION_3_4:

يتم ضبطه دائمًا بواسطة خدمة الكاميرا. يجب أن يستخدم HAL مساحة البيانات هذه لتكوين الدفق إلى مساحة الألوان الصحيحة، أو للاختيار بين مخرجات اللون والعمق إذا كانت مدعومة. يتم تعيين قيم مساحة البيانات باستخدام تعريفات مساحة البيانات V0 في graphics.h

التعريف في السطر 1648 من ملف Camera3.h .

تنسيق كثافة العمليات

تنسيق البكسل للمخازن المؤقتة في هذا الدفق. التنسيق هو قيمة من قائمة HAL_PIXEL_FORMAT_* في system/core/include/system/graphics.h، أو من الرؤوس الخاصة بالجهاز.

إذا تم استخدام HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED، فستحدد وحدة النظام الأساسي gralloc تنسيقًا بناءً على إشارات الاستخدام التي يوفرها جهاز الكاميرا ونقطة النهاية الأخرى للبث.

<= CAMERA_DEVICE_API_VERSION_3_1:

يجب أن يقوم جهاز HAL الخاص بالكاميرا بفحص المخازن المؤقتة التي تم تسليمها إليه في استدعاء Register_stream_buffers() اللاحق للحصول على تفاصيل التنسيق الخاصة بالتنفيذ، إذا لزم الأمر.

>= CAMERA_DEVICE_API_VERSION_3_2:

لن يتم استدعاء Register_stream_buffers() بواسطة إطار العمل، لذلك يجب على HAL تكوين موفر خدمة الإنترنت وخط أنابيب المستشعر استنادًا فقط إلى الأحجام وإشارات الاستخدام والتنسيقات الخاصة بالتدفقات التي تم تكوينها.

التعريف في السطر 1565 من ملف Camera3.h .

ارتفاع uint32_t

الارتفاع بالبكسل للمخازن المؤقتة في هذا الدفق

التعريف في السطر 1542 من ملف Camera3.h .

uint32_t max_buffers

الحد الأقصى لعدد المخازن المؤقتة التي قد يحتاجها جهاز HAL إلى وضعها في قائمة الانتظار في نفس الوقت. قد لا يحتوي جهاز HAL على مخازن مؤقتة أثناء الطيران من هذا الدفق أكثر من هذه القيمة.

التعريف في السطر 1608 من ملف Camera3.h .

باطلة * خاصة

مؤشر لمعلومات HAL الخاصة للتيار. لن يتم فحصها بواسطة رمز الإطار.

التعريف في السطر 1614 من ملف Camera3.h .

باطلة* محفوظة[7]

التعريف في السطر 1677 من ملف Camera3.h .

دوران كثافة العمليات

دوران الإخراج المطلوب للتيار، إحدى قيم Camera3_stream_rotation_t. يجب أن يتم فحص ذلك بواسطة HAL مع عرض الدفق وارتفاعه. على سبيل المثال، إذا كان التدوير 90 درجة وعرض الدفق وارتفاعه 720 و1280 على التوالي، فستوفر خدمة الكاميرا مخازن مؤقتة بحجم 720x1280، ويجب على HAL التقاط صورة بحجم 1280x720 وتدوير الصورة بمقدار 90 درجة عكس اتجاه عقارب الساعة. يكون حقل التدوير محظورًا عند إدخال نوع الدفق. يجب أن يتجاهل Camera HAL مجال التدوير لتدفق الإدخال.

<= CAMERA_DEVICE_API_VERSION_3_2:

غير محدد ويجب عدم الوصول إليه. يجب ألا يطبق HAL أي تدوير على الصور الناتجة.

>= CAMERA_DEVICE_API_VERSION_3_3:

يتم ضبطه دائمًا بواسطة خدمة الكاميرا. يجب أن يقوم HAL بفحص هذا الحقل أثناء تكوين الدفق وإرجاع -EINVAL إذا لم يتمكن HAL من إجراء هذا التدوير. يجب أن يدعم HAL دائمًا CAMERA3_STREAM_ROTATION_0، لذلك يجب ألا يفشل استدعاء config_streams() للتدوير غير المدعوم إذا كان مجال التدوير لجميع التدفقات هو CAMERA3_STREAM_ROTATION_0.

التعريف في السطر 1674 من ملف Camera3.h .

intstream_type

نوع الدفق، إحدى قيم Camera3_stream_type_t.

التعريف في السطر 1532 من ملف Camera3.h .

استخدام uint32_t

إشارات استخدام غرالوك لهذا الدفق، حسب حاجة HAL. يتم تعريف إشارات الاستخدام في gralloc.h (GRALLOC_USAGE_*)، أو في الرؤوس الخاصة بالجهاز.

بالنسبة لتدفقات الإخراج، هذه هي علامات استخدام منتج HAL. بالنسبة لتدفقات الإدخال، هذه هي علامات استخدام المستهلك الخاصة بـ HAL. سيتم دمج إشارات الاستخدام من المنتج والمستهلك معًا ثم تمريرها إلى وحدة HAL للنظام الأساسي gralloc لتخصيص المخازن المؤقتة لـ gralloc لكل تدفق.

معلومات الإصدار:

== CAMERA_DEVICE_API_VERSION_3_0:

لا توجد قيمة أولية مضمونة عند تمريرها عبرconfig_streams() . لا يجوز لـ HAL استخدام هذا الحقل كمدخل، ويجب الكتابة فوق هذا الحقل بإشارات الاستخدام الخاصة به.

>= CAMERA_DEVICE_API_VERSION_3_1:

بالنسبة لـstream_type OUTPUT وBIDIRECTIONAL، عند تمريرها عبرconfig_streams()، فإن القيمة الأولية لذلك هي إشارات الاستخدام الخاصة بالمستهلك. قد تستخدم HAL إشارات المستهلك هذه لتحديد تكوين الدفق. بالنسبة لـstream_type INPUT، عند تمريرها عبرconfig_streams()، تكون القيمة الأولية لذلك هي 0. بالنسبة لجميع التدفقات التي تم تمريرها عبرconfig_streams()، يجب أن تكتب طبقة تجريد سطح الأرض فوق هذا الحقل مع إشارات الاستخدام الخاصة بها.

التعريف في السطر 1601 من ملف Camera3.h .

عرض uint32_t

العرض بالبكسل للمخازن المؤقتة في هذا الدفق

التعريف في السطر 1537 من ملف Camera3.h .


تم إنشاء وثائق هذه البنية من الملف التالي: