27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
camera3_capture_request Yapı Referansı
#include <
camera3.h
>
camera3_capture_request_t:
process_capture_request() işlevinde çerçeve tarafından Camera HAL cihazına gönderilen tek bir görüntü yakalama/arabellek yeniden işleme isteği.
İstek, bu yakalama için kullanılacak ayarları ve elde edilen resim verilerinin yazılacağı çıkış arabelleklerinin kümesini içerir. İsteğe bağlı olarak bir giriş arabelleği içerebilir. Bu durumda istek, kamera sensörüyle yeni bir görüntü yakalamak yerine bu giriş arabelleğinin yeniden işlenmesi içindir. Kayıt, frame_number ile tanımlanır.
Yanıt olarak kamera HAL cihazı, process_capture_result() geri çağırma işlevini kullanarak
camera3_capture_result
yapısını çerçeveye asenkron olarak göndermelidir.
Tanımı,
camera3.h
dosyasının
2135
satırındadır.
Çerçeve numarası, bu yakalamayı benzersiz şekilde tanımlamak için çerçeve tarafından ayarlanan artan bir tam sayıdır. Sonuç çağrısında döndürülmesi gerekir ve
camera3_callback_ops_t.notify()
adresine gönderilen asenkron bildirimlerde isteği tanımlamak için de kullanılır.
Tanımı,
camera3.h
dosyasının
2142
satırı
Varsa bu istek için kullanılacak giriş akışı arabelleği.
input_buffer NULL ise istek, görüntüleyiciden yeni bir yakalama içindir. input_buffer geçerliyse istek, input_buffer'da bulunan resmin yeniden işlenmesi içindir.
İkinci durumda, HAL, process_capture_request() işlevi dönmeden önce input_buffer'ın release_fence değerini geçerli bir senkronizasyon çitine veya HAL senkronizasyonu desteklemiyorsa -1 değerine ayarlamalıdır.
HAL'in, giriş arabelleğine erişmeden önce giriş arabelleğinin senkronizasyon çitini alması gerekir.
<= CAMERA_DEVICE_API_VERSION_3_1:
Buradaki tüm giriş arabellekleri, bir isteğe dahil edilmeden önce register_stream_buffers() aracılığıyla HAL'e kaydedilir.
>= CAMERA_DEVICE_API_VERSION_3_2:
Arabellekler HAL'e önceden kaydedilmemiş olmalıdır. Sonraki istekler, arabellekleri yeniden kullanabilir veya tamamen yeni arabellekler sağlayabilir.
Tanımı,
camera3.h
dosyasının
2177
satırı
uint32_t num_output_buffers
|
Bu yakalama isteği için çıkış arabelleklerinin sayısı. En az 1 olmalıdır.
Tanımı,
camera3.h
dosyasının
2183
satırı
Bu yakalama/yeniden işleme işleminden elde edilen görüntü verileriyle doldurulacak num_output_buffers akış arabelleklerinin bir dizisi. HAL, her bir akış arabelleğine yazmadan önce bu arabelleklerin edinme çitlerini beklemelidir.
HAL, output_buffers içindeki gerçek buffer_handle_t girişlerinin sahipliğini alır; çerçeve, camera3_capture_result_t içinde döndürülene kadar bunlara erişmez.
<= CAMERA_DEVICE_API_VERSION_3_1:
Buradaki tüm arabellekler, bir isteğe dahil edilmeden önce register_stream_buffers() aracılığıyla HAL'e kaydedilir.
>= CAMERA_DEVICE_API_VERSION_3_2:
Buradaki arabelleklerin herhangi biri veya tümü bu istekte yepyeni olabilir (HAL tarafından daha önce hiç görülmemiş).
Tanımı,
camera3.h
dosyasının
2204
satırı
Ayarlar arabelleği, istek için yakalama ve işleme parametrelerini içerir. Özel bir durum olarak, NULL ayarlar arabelleği, ayarların en son gönderilen yakalama isteğiyle aynı olduğunu gösterir. configure_streams() çağrısından sonra gönderilen ilk istek olarak NULL arabelleği kullanılamaz.
Tanımı,
camera3.h
dosyasının
2151
satırı
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
-
hardware/libhardware/include/hardware/
camera3.h
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Android Hardware Abstraction Layer: camera3_capture_request Struct Reference\n\ncamera3_capture_request Struct Reference\n========================================\n\n[Data Fields](#pub-attribs) \ncamera3_capture_request Struct Reference \n\n`\n#include \u003c\n`[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)`\n\u003e\n`\n\n|----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|\n| Data Fields ----------- ||\n| uint32_t | [frame_number](/reference/hal/structcamera3__capture__request#a57cc7f4d579276167efca6cf047839b2) |\n| ||\n| const [camera_metadata_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera_common.h) \\* | [settings](/reference/hal/structcamera3__capture__request#adccd8702a549b9f5fb98afa0c4b44a62) |\n| ||\n| [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* | [input_buffer](/reference/hal/structcamera3__capture__request#ac1c94bbde71f06911c6abe85f3a44593) |\n| ||\n| uint32_t | [num_output_buffers](/reference/hal/structcamera3__capture__request#a70d2093ddb1078b68c6688b6cf923380) |\n| ||\n| const [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* | [output_buffers](/reference/hal/structcamera3__capture__request#ab1d50229b27a7cf28ff1374be6650fb6) |\n| ||\n\n\nDetailed Description\n--------------------\n\n\ncamera3_capture_request_t:\n\n\nA single request for image capture/buffer reprocessing, sent to the Camera HAL device by the framework in process_capture_request().\n\n\nThe request contains the settings to be used for this capture, and the set of output buffers to write the resulting image data in. It may optionally contain an input buffer, in which case the request is for reprocessing that input buffer instead of capturing a new image with the camera sensor. The capture is identified by the frame_number.\n\n\nIn response, the camera HAL device must send a\n[camera3_capture_result](/reference/hal/structcamera3__capture__result)\nstructure asynchronously to the framework, using the process_capture_result() callback.\n\n\nDefinition at line\n[2135](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\nField Documentation\n-------------------\n\n\n|-----------------------|\n| uint32_t frame_number |\n\n\nThe frame number is an incrementing integer set by the framework to uniquely identify this capture. It needs to be returned in the result call, and is also used to identify the request in asynchronous notifications sent to\n[camera3_callback_ops_t.notify()](/reference/hal/structcamera3__callback__ops#a6d702d6e962f95105b984b17462619b3)\n.\n\n\nDefinition at line\n[2142](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* input_buffer |\n\n\nThe input stream buffer to use for this request, if any.\n\n\nIf input_buffer is NULL, then the request is for a new capture from the imager. If input_buffer is valid, the request is for reprocessing the image contained in input_buffer.\n\n\nIn the latter case, the HAL must set the release_fence of the input_buffer to a valid sync fence, or to -1 if the HAL does not support sync, before process_capture_request() returns.\n\n\nThe HAL is required to wait on the acquire sync fence of the input buffer before accessing it.\n\n\n\\\u003c= CAMERA_DEVICE_API_VERSION_3_1:\n\n\nAny input buffer included here will have been registered with the HAL through register_stream_buffers() before its inclusion in a request.\n\n\n\\\u003e= CAMERA_DEVICE_API_VERSION_3_2:\n\n\nThe buffers will not have been pre-registered with the HAL. Subsequent requests may reuse buffers, or provide entirely new buffers.\n\n\nDefinition at line\n[2177](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-----------------------------|\n| uint32_t num_output_buffers |\n\n\nThe number of output buffers for this capture request. Must be at least 1.\n\n\nDefinition at line\n[2183](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------------|\n| const [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* output_buffers |\n\n\nAn array of num_output_buffers stream buffers, to be filled with image data from this capture/reprocess. The HAL must wait on the acquire fences of each stream buffer before writing to them.\n\n\nThe HAL takes ownership of the actual buffer_handle_t entries in output_buffers; the framework does not access them until they are returned in a camera3_capture_result_t.\n\n\n\\\u003c= CAMERA_DEVICE_API_VERSION_3_1:\n\n\nAll the buffers included here will have been registered with the HAL through register_stream_buffers() before their inclusion in a request.\n\n\n\\\u003e= CAMERA_DEVICE_API_VERSION_3_2:\n\n\nAny or all of the buffers included here may be brand new in this request (having never before seen by the HAL).\n\n\nDefinition at line\n[2204](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------|\n| const [camera_metadata_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera_common.h) \\* settings |\n\n\nThe settings buffer contains the capture and processing parameters for the request. As a special case, a NULL settings buffer indicates that the settings are identical to the most-recently submitted capture request. A NULL buffer cannot be used as the first submitted request after a configure_streams() call.\n\n\nDefinition at line\n[2151](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n*** ** * ** ***\n\nThe documentation for this struct was generated from the following file:\n\n- hardware/libhardware/include/hardware/ [camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)"]]