summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-09-21 07:32:12 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-09-21 07:32:12 +0000
commitdd82064a8a149504909eeec68b8e24b0db9df37a (patch)
tree14f1cbacd8305d630e40311628c7178094bbdfb0
parent902abc5ba313a7fe254834b14f743e14d982663c (diff)
parenteade08a0a8e1e13d14d5d3f36d94419d3741cfd6 (diff)
downloadbullhead-dd82064a8a149504909eeec68b8e24b0db9df37a.tar.gz
release-request-bbc747ae-190b-4d38-8704-432aa6396c16-for-git_oc-mr1-release-4351869 snap-temp-L93800000104806132
Change-Id: I9b5f459a84937429c907f59a103f320b8153bd63
-rw-r--r--camera/QCamera2/HAL3/QCamera3Channel.cpp10
-rw-r--r--media_codecs_performance.xml91
2 files changed, 56 insertions, 45 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.cpp b/camera/QCamera2/HAL3/QCamera3Channel.cpp
index cb31953..bfeb46a 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Channel.cpp
@@ -1974,6 +1974,8 @@ void QCamera3RawChannel::convertMipiToRaw16(mm_camera_buf_def_t *frame)
uint32_t raw16_stride = ((uint32_t)dim.width + 15U) & ~15U;
uint16_t* raw16_buffer = (uint16_t *)frame->buffer;
+ uint8_t first_quintuple[5];
+ memcpy(first_quintuple, raw16_buffer, sizeof(first_quintuple));
// Some raw processing may be needed prior to conversion.
static bool raw_proc_lib_load_attempted = false;
@@ -2007,13 +2009,19 @@ void QCamera3RawChannel::convertMipiToRaw16(mm_camera_buf_def_t *frame)
for (int32_t xs = dim.width - 1; xs >= 0; xs--) {
uint32_t x = (uint32_t)xs;
uint8_t upper_8bit = row_start[5*(x/4)+x%4];
- uint8_t lower_2bit = ((row_start[5*(x/4)+4] >> (x%4)) & 0x3);
+ uint8_t lower_2bit = ((row_start[5*(x/4)+4] >> ((x%4) << 1)) & 0x3);
uint16_t raw16_pixel =
(uint16_t)(((uint16_t)upper_8bit)<<2 |
(uint16_t)lower_2bit);
raw16_buffer[y*raw16_stride+x] = raw16_pixel;
}
}
+
+ // Re-convert the first 2 pixels of the buffer because the loop above messes
+ // them up by reading the first quintuple while modifying it.
+ raw16_buffer[0] = ((uint16_t)first_quintuple[0]<<2) | (first_quintuple[4] & 0x3);
+ raw16_buffer[1] = ((uint16_t)first_quintuple[1]<<2) | ((first_quintuple[4] >> 2) & 0x3);
+
} else {
ALOGE("%s: Could not find stream", __func__);
}
diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml
index 8712039..72abe44 100644
--- a/media_codecs_performance.xml
+++ b/media_codecs_performance.xml
@@ -14,8 +14,9 @@
limitations under the License.
-->
-<!-- Generated file for bullhead using measurements between OPR1.170623.009/OPR1.170623.010 and OPM1.170908.002 -->
+<!-- Generated file for bullhead using measurements between OPR1.170623.011 and OPM1.170912.002 -->
<MediaCodecs>
+ <!-- Measurements between OPR1.170623.010 and OPM1.170908.002 -->
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true">
<!-- measured 98%:101-511 med:187/183 variance:2.2 -->
@@ -24,16 +25,18 @@
<Limit name="measured-frame-rate-352x288" range="235-248" /> <!-- TWEAKED N=118 v98%=1.7 -->
<Limit name="measured-frame-rate-704x576" range="128-128" /> <!-- N=114 v98%=1.4 -->
</MediaCodec>
+ <!-- Measurements between OPR1.170623.011 and OPM1.170908.002 -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="212-255" /> <!-- N=118 v98%=1.9 -->
- <Limit name="measured-frame-rate-720x480" range="143-143" /> <!-- N=116 v98%=1.5 (OPR1.170623.011-) -->
- <Limit name="measured-frame-rate-1280x720" range="72-72" /> <!-- N=118 v98%=1.4 -->
- <Limit name="measured-frame-rate-1920x1080" range="37-37" /> <!-- N=116 v98%=1.3 (OPR1.170623.011-) -->
+ <Limit name="measured-frame-rate-320x240" range="212-255" /> <!-- N=118 v98%=1.9 (OPR1.170623.010-) -->
+ <Limit name="measured-frame-rate-720x480" range="143-143" /> <!-- N=116 v98%=1.5 -->
+ <Limit name="measured-frame-rate-1280x720" range="72-72" /> <!-- N=118 v98%=1.4 (OPR1.170623.010-) -->
+ <Limit name="measured-frame-rate-1920x1080" range="37-37" /> <!-- N=116 v98%=1.3 -->
</MediaCodec>
+ <!-- Measurements between OPR1.170623.011 and OPM1.170908.002 -->
<MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="178-198" /> <!-- N=118 v98%=1.8 -->
- <Limit name="measured-frame-rate-352x288" range="199-199" /> <!-- N=116 v98%=1.2 (OPR1.170623.011-) -->
- <Limit name="measured-frame-rate-640x480" range="77-77" /> <!-- N=116 v98%=1.0 (OPR1.170623.011-) -->
+ <Limit name="measured-frame-rate-176x144" range="178-198" /> <!-- N=118 v98%=1.8 (OPR1.170623.010-) -->
+ <Limit name="measured-frame-rate-352x288" range="199-199" /> <!-- N=116 v98%=1.2 -->
+ <Limit name="measured-frame-rate-640x480" range="77-77" /> <!-- N=116 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="112-112" /> <!-- N=118 v98%=1.1 -->
@@ -44,59 +47,59 @@
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="230-230" /> <!-- N=118 v98%=1.3 -->
</MediaCodec>
+ <!-- Measurements between OPR1.170623.011 and OPM1.170908.002 -->
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="234-234" /> <!-- N=116 v98%=1.4 (OPR1.170623.011-) -->
- <Limit name="measured-frame-rate-720x480" range="99-99" /> <!-- N=116 v98%=1.3 (OPR1.170623.011-) -->
- <Limit name="measured-frame-rate-1280x720" range="50-50" /> <!-- N=118 v98%=1.5 -->
- <Limit name="measured-frame-rate-1920x1080" range="19-20" /> <!-- N=116 v98%=1.3 (OPR1.170623.011-) -->
+ <Limit name="measured-frame-rate-320x240" range="234-234" /> <!-- N=116 v98%=1.4 -->
+ <Limit name="measured-frame-rate-720x480" range="99-99" /> <!-- N=116 v98%=1.3 -->
+ <Limit name="measured-frame-rate-1280x720" range="50-50" /> <!-- N=118 v98%=1.5 (OPR1.170623.010-) -->
+ <Limit name="measured-frame-rate-1920x1080" range="19-20" /> <!-- N=116 v98%=1.3 -->
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="256-257" /> <!-- N=118 v98%=1.3 -->
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="99-99" /> <!-- N=116 v98%=1.0 (OPR1.170623.011-) -->
- <Limit name="measured-frame-rate-640x360" range="37-37" /> <!-- N=114 v98%=1.0 -->
+ <Limit name="measured-frame-rate-640x360" range="37-37" /> <!-- N=114 v98%=1.0 (OPR1.170623.009-) -->
<Limit name="measured-frame-rate-1280x720" range="31-31" /> <!-- N=116 v98%=1.2 -->
<Limit name="measured-frame-rate-1920x1080" range="14-14" /> <!-- N=118 v98%=1.3 -->
</MediaCodec>
+ <!-- Measurements between OPR1.170208.003 and OPM1.170908.002 -->
<MediaCodec name="OMX.google.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 98%:86-119 med:107/107 N=76 FLAKY(mn=45.9 < 54 - 214) -->
- <Limit name="measured-frame-rate-320x180" range="107-107" /> <!-- v98%=1.2 (OPR1.170208.003-) -->
+ <Limit name="measured-frame-rate-320x180" range="107-107" /> <!-- v98%=1.2 -->
<!-- measured 98%:14-45 med:43/41 N=74 -->
- <Limit name="measured-frame-rate-640x360" range="24-41" /> <!-- v98%=1.8 (OPR1.170208.003-) -->
+ <Limit name="measured-frame-rate-640x360" range="24-41" /> <!-- v98%=1.8 -->
<!-- measured 98%:4-12 med:10/9 N=78 -->
- <Limit name="measured-frame-rate-1280x720" range="5-9" /> <!-- v98%=1.7 (OPR1.170208.003-) -->
- <!-- measured 98%:1-6 med:5/4 N=64 -->
- <Limit name="measured-frame-rate-1920x1080" range="2-4" /> <!-- v98%=1.9 (OPR1.170208.003-OPM1.170814.001) -->
+ <Limit name="measured-frame-rate-1280x720" range="5-9" /> <!-- v98%=1.7 -->
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true">
- <!-- measured 98%:522-741 med:675/676 N=98 -->
- <Limit name="measured-frame-rate-176x144" range="675-676" /> <!-- v98%=1.2 -->
- <Limit name="measured-frame-rate-352x288" range="643-643" /> <!-- N=100 v98%=1.2 -->
+ <!-- measured 98%:500-737 med:673/673 N=98 -->
+ <Limit name="measured-frame-rate-176x144" range="673-673" /> <!-- v98%=1.2 -->
+ <Limit name="measured-frame-rate-352x288" range="640-640" /> <!-- N=100 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="382-382" /> <!-- N=100 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="211-211" /> <!-- N=102 v98%=1.1 -->
- <Limit name="measured-frame-rate-1280x720" range="285-285" /> <!-- N=100 v98%=1.1 -->
+ <Limit name="measured-frame-rate-1280x720" range="284-285" /> <!-- N=100 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="141-141" /> <!-- N=100 v98%=1.1 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-352x288" range="408-409" /> <!-- N=100 v98%=1.2 -->
+ <Limit name="measured-frame-rate-352x288" range="410-411" /> <!-- N=100 v98%=1.2 -->
<Limit name="measured-frame-rate-640x360" range="367-368" /> <!-- N=102 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="331-331" /> <!-- N=102 v98%=1.1 -->
- <Limit name="measured-frame-rate-1280x720" range="371-372" /> <!-- N=100 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1280x720" range="374-374" /> <!-- N=100 v98%=1.2 -->
<Limit name="measured-frame-rate-1920x1080" range="253-253" /> <!-- N=100 v98%=1.1 -->
<Limit name="measured-frame-rate-3840x2160" range="43-43" /> <!-- N=102 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="664-664" /> <!-- N=102 v98%=1.1 -->
- <Limit name="measured-frame-rate-480x360" range="568-568" /> <!-- N=102 v98%=1.1 -->
+ <Limit name="measured-frame-rate-176x144" range="663-663" /> <!-- N=102 v98%=1.2 -->
+ <Limit name="measured-frame-rate-480x360" range="567-567" /> <!-- N=102 v98%=1.1 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="382-382" /> <!-- N=102 v98%=1.0 -->
- <!-- measured 98%:336-376 med:357/357 FLAKY(mn=0.5 < 179 - 714) -->
+ <!-- measured 98%:333-376 med:357/357 FLAKY(mn=0.5 < 179 - 714) -->
<Limit name="measured-frame-rate-640x360" range="357-357" /> <!-- N=102 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="387-387" /> <!-- N=102 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="248-248" /> <!-- N=102 v98%=1.0 -->
@@ -106,35 +109,35 @@
<Limit name="measured-frame-rate-176x144" range="101-124" /> <!-- TWEAKED N=100 v98%=1.7 -->
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="329-329" /> <!-- N=100 v98%=1.1 -->
- <Limit name="measured-frame-rate-720x480" range="106-107" /> <!-- N=100 v98%=1.1 -->
+ <Limit name="measured-frame-rate-320x240" range="327-327" /> <!-- N=100 v98%=1.1 -->
+ <Limit name="measured-frame-rate-720x480" range="106-106" /> <!-- N=100 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="44-44" /> <!-- N=102 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="18-18" /> <!-- N=102 v98%=1.3 -->
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-352x288" range="271-271" /> <!-- N=100 v98%=1.4 -->
- <Limit name="measured-frame-rate-640x360" range="174-174" /> <!-- N=100 v98%=1.3 -->
+ <Limit name="measured-frame-rate-352x288" range="270-270" /> <!-- N=100 v98%=1.4 -->
+ <Limit name="measured-frame-rate-640x360" range="173-174" /> <!-- N=100 v98%=1.3 -->
<Limit name="measured-frame-rate-720x480" range="165-165" /> <!-- N=102 v98%=1.2 -->
- <Limit name="measured-frame-rate-1280x720" range="63-64" /> <!-- N=104 v98%=1.2 -->
- <Limit name="measured-frame-rate-1920x1080" range="37-37" /> <!-- N=100 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1280x720" range="63-63" /> <!-- N=102 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="36-36" /> <!-- N=100 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="121-154" /> <!-- N=102 v98%=1.8 -->
+ <Limit name="measured-frame-rate-176x144" range="119-154" /> <!-- N=102 v98%=1.8 -->
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
- <!-- measured 98%:317-939 med:333/333 FLAKY(167 - 940 < mx=956.9) -->
- <Limit name="measured-frame-rate-320x180" range="333-470" /> <!-- N=102 v98%=1.7 -->
- <!-- measured 95%:191-299 med:258/258 FLAKY(mn=105.9 < 129 - 516) -->
- <Limit name="measured-frame-rate-640x360" range="211-258" /> <!-- TWEAKED N=102 v95%=1.2 -->
+ <!-- measured 98%:305-939 med:332/333 FLAKY(166 - 940 < mx=956.9) -->
+ <Limit name="measured-frame-rate-320x180" range="332-470" /> <!-- N=102 v98%=1.8 -->
+ <!-- measured 90%:191-298 med:258/258 FLAKY(mn=105.9 < 129 - 516) -->
+ <Limit name="measured-frame-rate-640x360" range="211-258" /> <!-- TWEAKED N=102 v90%=1.2 -->
<!-- measured 98%:26-61 med:59/59 FLAKY(mn=25.3 < 26 - 118) -->
- <Limit name="measured-frame-rate-1280x720" range="50-59" /> <!-- TWEAKED N=132 v98%=1.5 (OPR1.170619.001-) -->
- <Limit name="measured-frame-rate-1920x1080" range="18-23" /> <!-- N=120 v98%=1.5 -->
+ <Limit name="measured-frame-rate-1280x720" range="50-59" /> <!-- TWEAKED N=122 v98%=1.5 (OPR1.170623.005-) -->
+ <Limit name="measured-frame-rate-1920x1080" range="17-23" /> <!-- N=114 v98%=1.5 -->
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
- <Limit name="measured-frame-rate-320x180" range="283-345" /> <!-- N=100 v98%=1.6 -->
- <!-- measured 98%:104-305 med:122/122 FLAKY(61 - 306 < mx=317.3) -->
- <Limit name="measured-frame-rate-640x360" range="122-153" /> <!-- N=100 v98%=1.7 -->
- <Limit name="measured-frame-rate-1280x720" range="54-54" /> <!-- N=100 v98%=1.1 -->
+ <Limit name="measured-frame-rate-320x180" range="281-322" /> <!-- N=100 v98%=1.6 -->
+ <!-- measured 98%:104-305 med:121/121 FLAKY(61 - 306 < mx=317.3) -->
+ <Limit name="measured-frame-rate-640x360" range="121-153" /> <!-- N=100 v98%=1.7 -->
+ <Limit name="measured-frame-rate-1280x720" range="53-53" /> <!-- N=100 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="33-33" /> <!-- N=100 v98%=1.1 -->
</MediaCodec>
</Decoders>