camera_metadata: Update available formats and sizes
Below tag specs are updated:
- android.scaler.availableFormats
- android.scaler.availableJpegSizes
- android.scaler.availableProcessedSizes
Change-Id: Icbb25f64d0b19685db1ea024db44d54b197fab0b
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 3afe73d..4de5b9d 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -9250,7 +9250,7 @@
<tr class="entry" id="static_android.scaler.availableFormats">
- <td class="entry_name" rowspan="1">
+ <td class="entry_name" rowspan="5">
android.<wbr/>scaler.<wbr/>available<wbr/>Formats
</td>
<td class="entry_type">
@@ -9261,27 +9261,29 @@
n
</span>
<span class="entry_type_visibility"> [public as imageFormat]</span>
- <div class="entry_type_notes">values from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in /<wbr/>system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h</div>
<ul class="entry_type_enum">
<li>
<span class="entry_type_enum_name">RAW_SENSOR</span>
+ <span class="entry_type_enum_optional">optional</span>
<span class="entry_type_enum_value">0x20</span>
</li>
<li>
<span class="entry_type_enum_name">YV12</span>
+ <span class="entry_type_enum_optional">optional</span>
<span class="entry_type_enum_value">0x32315659</span>
<span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
</li>
<li>
<span class="entry_type_enum_name">YCrCb_420_SP</span>
+ <span class="entry_type_enum_optional">optional</span>
<span class="entry_type_enum_value">0x11</span>
<span class="entry_type_enum_notes"><p>NV21</p></span>
</li>
<li>
<span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
<span class="entry_type_enum_value">0x22</span>
- <span class="entry_type_enum_notes"><p>Hal Implementation Defined</p></span>
+ <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
</li>
<li>
<span class="entry_type_enum_name">YCbCr_420_888</span>
@@ -9291,14 +9293,15 @@
<li>
<span class="entry_type_enum_name">BLOB</span>
<span class="entry_type_enum_value">0x21</span>
- <span class="entry_type_enum_notes"><p>JPEG</p></span>
+ <span class="entry_type_enum_notes"><p>JPEG format</p></span>
</li>
</ul>
</td> <!-- entry_type -->
<td class="entry_description">
- <p>List of app-visible formats</p>
+ <p>The list of image formats that are supported by this
+camera device.<wbr/></p>
</td>
<td class="entry_units">
@@ -9314,7 +9317,33 @@
</td>
</tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>All camera devices will support JPEG and YUV_<wbr/>420_<wbr/>888 formats.<wbr/></p>
+<p>When set to YUV_<wbr/>420_<wbr/>888,<wbr/> application can access the YUV420 data directly.<wbr/></p>
+ </td>
+ </tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">HAL Implementation Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>These format values are from HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>* in
+system/<wbr/>core/<wbr/>include/<wbr/>system/<wbr/>graphics.<wbr/>h.<wbr/></p>
+<p>When IMPLEMENTATION_<wbr/>DEFINED is used,<wbr/> the platform
+gralloc module will select a format based on the usage flags provided
+by the camera HAL device and the other endpoint of the stream.<wbr/> It is
+usually used by preview and recording streams,<wbr/> where the application doesn't
+need access the image data.<wbr/></p>
+<p>YCb<wbr/>Cr_<wbr/>420_<wbr/>888 format must be supported by the HAL.<wbr/> When an image stream
+needs CPU/<wbr/>application direct access,<wbr/> this format will be used.<wbr/></p>
+<p>The BLOB format must be supported by the HAL.<wbr/> This is used for the JPEG stream.<wbr/></p>
+ </td>
+ </tr>
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
<!-- end of entry -->
@@ -9374,7 +9403,7 @@
<tr class="entry" id="static_android.scaler.availableJpegSizes">
- <td class="entry_name" rowspan="1">
+ <td class="entry_name" rowspan="5">
android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
</td>
<td class="entry_type">
@@ -9390,16 +9419,13 @@
</td> <!-- entry_type -->
<td class="entry_description">
- <p>The resolutions available for output from
-the JPEG block.<wbr/> Listed as width x height</p>
+ <p>The JPEG resolutions that are supported by this camera device.<wbr/></p>
</td>
<td class="entry_units">
</td>
<td class="entry_range">
- <p>Must include: - sensor maximum resolution Should
-include: - half/<wbr/>quarter max resolution</p>
</td>
<td class="entry_tags">
@@ -9409,7 +9435,26 @@
</td>
</tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/> All camera devices will support
+sensor maximum resolution (defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>).<wbr/></p>
+ </td>
+ </tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">HAL Implementation Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>The HAL must include sensor maximum resolution
+(defined by <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>),<wbr/>
+and should include half/<wbr/>quarter of sensor maximum resolution.<wbr/></p>
+ </td>
+ </tr>
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
<!-- end of entry -->
@@ -9508,7 +9553,7 @@
<tr class="entry" id="static_android.scaler.availableProcessedSizes">
- <td class="entry_name" rowspan="3">
+ <td class="entry_name" rowspan="5">
android.<wbr/>scaler.<wbr/>available<wbr/>Processed<wbr/>Sizes
</td>
<td class="entry_type">
@@ -9527,16 +9572,13 @@
<p>The resolutions available for use with
processed output streams,<wbr/> such as YV12,<wbr/> NV12,<wbr/> and
platform opaque YUV/<wbr/>RGB streams to the GPU or video
-encoders.<wbr/> Listed as width,<wbr/> height</p>
+encoders.<wbr/></p>
</td>
<td class="entry_units">
</td>
<td class="entry_range">
- <p>Must include: - sensor maximum resolution -
-standard QCIF,<wbr/> 240p,<wbr/> 480p,<wbr/> 720p,<wbr/> and 1080p
-resolutions</p>
</td>
<td class="entry_tags">
@@ -9551,15 +9593,37 @@
</tr>
<tr class="entry_cont">
<td class="entry_details" colspan="5">
- <p>The actual supported resolution list may be limited by
-consumer end points for different use cases.<wbr/> For example,<wbr/> for
-recording use case,<wbr/> the largest supported resolution may be
-limited by max supported size from encoder,<wbr/> for preview use
-case,<wbr/> the largest supported resolution may be limited by max
-resolution SurfaceTexture/<wbr/>SurfaceView can support.<wbr/></p>
+ <p>The resolutions are listed as <code>(width,<wbr/> height)</code> pairs.<wbr/></p>
+<p>For a given use case,<wbr/> the actual maximum supported resolution
+may be lower than what is listed here,<wbr/> depending on the destination
+Surface for the image data.<wbr/> For example,<wbr/> for recording video,<wbr/>
+the video encoder chosen may have a maximum size limit (e.<wbr/>g.<wbr/> 1080p)
+smaller than what the camera (e.<wbr/>g.<wbr/> maximum resolution is 3264x2448)
+can provide.<wbr/></p>
+<p>Please reference the documentation for the image data destination to
+check if it limits the maximum size for image data.<wbr/></p>
</td>
</tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">HAL Implementation Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>For FULL capability devices (<code><a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> == FULL</code>),<wbr/>
+the HAL must include all JPEG sizes listed in android.<wbr/>scaler.<wbr/>available<wbr/>Jpeg<wbr/>Sizes
+and each below resolution if it is smaller than or equal to the sensor
+maximum resolution (if they are not listed in JPEG sizes already):</p>
+<ul>
+<li>240p (320 x 240)</li>
+<li>480p (640 x 480)</li>
+<li>720p (1280 x 720)</li>
+<li>1080p (1920 x 1080)</li>
+</ul>
+<p>For LIMITED capability devices (<code><a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> == LIMITED</code>),<wbr/>
+the HAL only has to list up to the maximum video size supported by the devices.<wbr/></p>
+ </td>
+ </tr>
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
<!-- end of entry -->