camera3_capture_request স্ট্রাকট রেফারেন্স

camera3_capture_request স্ট্রাকট রেফারেন্স

#include < camera3.h >

ডেটা ক্ষেত্র

uint32_t ফ্রেম_সংখ্যা
const camera_metadata_t * সেটিংস
camera3_stream_buffer_t * ইনপুট_বাফার
uint32_t সংখ্যা_আউটপুট_বাফার
const camera3_stream_buffer_t * আউটপুট_বাফার

বিস্তারিত বিবরণ

camera3_capture_request_t:

ইমেজ ক্যাপচার/বাফার রিপ্রসেসিংয়ের জন্য একটি একক অনুরোধ, প্রসেস_ক্যাপচার_রিকোয়েস্ট() এর ফ্রেমওয়ার্ক দ্বারা ক্যামেরা HAL ডিভাইসে পাঠানো হয়েছে।

অনুরোধটিতে এই ক্যাপচারের জন্য ব্যবহার করা সেটিংস এবং ফলাফল চিত্র ডেটা লেখার জন্য আউটপুট বাফারগুলির সেট রয়েছে৷ এতে ঐচ্ছিকভাবে একটি ইনপুট বাফার থাকতে পারে, এই ক্ষেত্রে অনুরোধটি একটি নতুন ক্যাপচার করার পরিবর্তে সেই ইনপুট বাফারটিকে পুনরায় প্রক্রিয়া করার জন্য অনুরোধ করা হয়। ক্যামেরা সেন্সর সহ চিত্র। ফ্রেম_নম্বর দ্বারা ক্যাপচার শনাক্ত করা হয়।

প্রতিক্রিয়া হিসাবে, ক্যামেরা HAL ডিভাইসটিকে অবশ্যই একটি camera3_capture_result কাঠামোকে ফ্রেমওয়ার্কে অ্যাসিঙ্ক্রোনাস পাঠাতে হবে, process_capture_result() কলব্যাক ব্যবহার করে।

ফাইল camera3.h এর 2135 লাইনে সংজ্ঞা।

ফিল্ড ডকুমেন্টেশন

uint32_t ফ্রেম_সংখ্যা

ফ্রেম নম্বর হল একটি ক্রমবর্ধমান পূর্ণসংখ্যা যা এই ক্যাপচারটিকে অনন্যভাবে সনাক্ত করতে ফ্রেমওয়ার্ক দ্বারা সেট করা হয়। ফলাফল কলে এটি ফেরত দিতে হবে, এবং ক্যামেরা3_callback_ops_t.notify() এ পাঠানো অ্যাসিঙ্ক্রোনাস বিজ্ঞপ্তিতে অনুরোধ শনাক্ত করতেও ব্যবহার করা হয়।

ফাইল camera3.h এর 2142 লাইনে সংজ্ঞা।

এই অনুরোধের জন্য ব্যবহার করার জন্য ইনপুট স্ট্রিম বাফার, যদি থাকে।

যদি input_buffer NULL হয়, তাহলে ইমেজার থেকে একটি নতুন ক্যাপচারের জন্য অনুরোধ করা হবে। যদি input_buffer বৈধ হয়, অনুরোধটি হল input_buffer-এ থাকা চিত্রটিকে পুনরায় প্রক্রিয়া করার জন্য৷

পরবর্তী ক্ষেত্রে, HAL-কে অবশ্যই input_buffer-এর release_fence একটি বৈধ সিঙ্ক বেড়াতে সেট করতে হবে, অথবা যদি HAL সিঙ্ক সমর্থন না করে, তাহলে process_capture_request() রিটার্ন করার আগে।

এইচএএলকে ইনপুট বাফারের অ্যাকোয়ায়ার সিঙ্ক বেড়াতে এটি অ্যাক্সেস করার আগে অপেক্ষা করতে হবে।

<= CAMERA_DEVICE_API_VERSION_3_1:

এখানে অন্তর্ভুক্ত যেকোনো ইনপুট বাফার একটি অনুরোধে অন্তর্ভুক্ত করার আগে register_stream_buffers() এর মাধ্যমে HAL এর সাথে নিবন্ধিত হবে।

>= CAMERA_DEVICE_API_VERSION_3_2:

বাফারগুলি HAL-এর সাথে প্রাক-নিবন্ধিত করা হবে না। পরবর্তী অনুরোধগুলি বাফারগুলি পুনরায় ব্যবহার করতে পারে, বা সম্পূর্ণ নতুন বাফার প্রদান করতে পারে।

ফাইল camera3.h এর 2177 লাইনে সংজ্ঞা।

uint32_t num_output_buffers

এই ক্যাপচার অনুরোধের জন্য আউটপুট বাফারের সংখ্যা। কমপক্ষে 1 হতে হবে।

ফাইল camera3.h এর 2183 লাইনে সংজ্ঞা।

const camera3_stream_buffer_t * output_buffers

num_output_buffers স্ট্রিম বাফারের একটি অ্যারে, এই ক্যাপচার/পুনঃপ্রক্রিয়া থেকে ইমেজ ডেটা দিয়ে পূর্ণ করা হবে। HAL তাদের লেখার আগে প্রতিটি স্ট্রিম বাফারের অধিগ্রহণের বেড়ার জন্য অপেক্ষা করতে হবে।

HAL আউটপুট_বাফারে প্রকৃত বাফার_হ্যান্ডেল_টি এন্ট্রিগুলির মালিকানা নেয়; ফ্রেমওয়ার্ক তাদের অ্যাক্সেস করে না যতক্ষণ না সেগুলি ক্যামেরা3_ক্যাপচার_রেজাল্ট_টি এ ফিরে আসে।

<= CAMERA_DEVICE_API_VERSION_3_1:

এখানে অন্তর্ভুক্ত সমস্ত বাফার একটি অনুরোধে অন্তর্ভুক্ত করার আগে register_stream_buffers() এর মাধ্যমে HAL-এর সাথে নিবন্ধিত হবে।

>= CAMERA_DEVICE_API_VERSION_3_2:

এখানে অন্তর্ভুক্ত যেকোন বা সমস্ত বাফার এই অনুরোধে একেবারে নতুন হতে পারে (এইচএএল এর আগে কখনও দেখেনি)।

ফাইল camera3.h এর 2204 লাইনে সংজ্ঞা।

const camera_metadata_t * সেটিংস

সেটিংস বাফারে অনুরোধের জন্য ক্যাপচার এবং প্রক্রিয়াকরণ পরামিতি রয়েছে। একটি বিশেষ ক্ষেত্রে, একটি NULL সেটিংস বাফার নির্দেশ করে যে সেটিংসগুলি সাম্প্রতিক জমা দেওয়া ক্যাপচার অনুরোধের সাথে অভিন্ন৷ configure_streams() কলের পরে প্রথম জমা দেওয়া অনুরোধ হিসাবে একটি NULL বাফার ব্যবহার করা যাবে না।

ফাইল camera3.h এর 2151 লাইনে সংজ্ঞা।


এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
  • hardware/libhardware/include/hardware/ camera3.h