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() কলব্যাক ব্যবহার করে।
ফিল্ড ডকুমেন্টেশন
uint32_t ফ্রেম_সংখ্যা |
ফ্রেম নম্বর হল একটি ক্রমবর্ধমান পূর্ণসংখ্যা যা এই ক্যাপচারটিকে অনন্যভাবে সনাক্ত করতে ফ্রেমওয়ার্ক দ্বারা সেট করা হয়। ফলাফল কলে এটি ফেরত দিতে হবে, এবং ক্যামেরা3_callback_ops_t.notify() এ পাঠানো অ্যাসিঙ্ক্রোনাস বিজ্ঞপ্তিতে অনুরোধ শনাক্ত করতেও ব্যবহার করা হয়।
camera3_stream_buffer_t * input_buffer |
এই অনুরোধের জন্য ব্যবহার করার জন্য ইনপুট স্ট্রিম বাফার, যদি থাকে।
যদি 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-এর সাথে প্রাক-নিবন্ধিত করা হবে না। পরবর্তী অনুরোধগুলি বাফারগুলি পুনরায় ব্যবহার করতে পারে, বা সম্পূর্ণ নতুন বাফার প্রদান করতে পারে।
uint32_t num_output_buffers |
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:
এখানে অন্তর্ভুক্ত যেকোন বা সমস্ত বাফার এই অনুরোধে একেবারে নতুন হতে পারে (এইচএএল এর আগে কখনও দেখেনি)।
const camera_metadata_t * সেটিংস |
সেটিংস বাফারে অনুরোধের জন্য ক্যাপচার এবং প্রক্রিয়াকরণ পরামিতি রয়েছে। একটি বিশেষ ক্ষেত্রে, একটি NULL সেটিংস বাফার নির্দেশ করে যে সেটিংসগুলি সাম্প্রতিক জমা দেওয়া ক্যাপচার অনুরোধের সাথে অভিন্ন৷ configure_streams() কলের পরে প্রথম জমা দেওয়া অনুরোধ হিসাবে একটি NULL বাফার ব্যবহার করা যাবে না।
এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
- hardware/libhardware/include/hardware/ camera3.h