diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-21 07:32:12 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-21 07:32:12 +0000 |
commit | dd82064a8a149504909eeec68b8e24b0db9df37a (patch) | |
tree | 14f1cbacd8305d630e40311628c7178094bbdfb0 | |
parent | 902abc5ba313a7fe254834b14f743e14d982663c (diff) | |
parent | eade08a0a8e1e13d14d5d3f36d94419d3741cfd6 (diff) | |
download | bullhead-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.cpp | 10 | ||||
-rw-r--r-- | media_codecs_performance.xml | 91 |
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> |