// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file.
"vld1.16 {d20, d21}, [%[acc_r], :128]\n"/* q10 - initialize accumulator for red */ "vsubw.u8 q10, q10, d4\n"/* red acc -= (V >> 1) */ "vmlsl.u8 q10, d2, d28\n"/* red acc -= V * 204 */ "vld1.16 {d22, d23}, [%[acc_g], :128]\n"/* q11 - initialize accumulator for green */ "vmlsl.u8 q11, d2, d30\n"/* green acc -= V * 104 */ "vmlsl.u8 q11, d0, d29\n"/* green acc -= U * 50 */ "vld1.16 {d24, d25}, [%[acc_b], :128]\n"/* q12 - initialize accumulator for blue */ "vmlsl.u8 q12, d0, d30\n"/* blue acc -= U * 104 */ "vmlsl.u8 q12, d0, d31\n"/* blue acc -= U * 154 */
"vhsub.s16 q3, q8, q10\n"/* calculate even red components */ "vhsub.s16 q10, q9, q10\n"/* calculate odd red components */ "vqshrun.s16 d0, q3, #6\n"/* right shift, narrow and saturate even red components */ "vqshrun.s16 d3, q10, #6\n"/* right shift, narrow and saturate odd red components */
"vhadd.s16 q3, q8, q11\n"/* calculate even green components */ "vhadd.s16 q11, q9, q11\n"/* calculate odd green components */ "vqshrun.s16 d1, q3, #6\n"/* right shift, narrow and saturate even green components */ "vqshrun.s16 d4, q11, #6\n"/* right shift, narrow and saturate odd green components */
"vhsub.s16 q3, q8, q12\n"/* calculate even blue components */ "vhsub.s16 q12, q9, q12\n"/* calculate odd blue components */ "vqshrun.s16 d2, q3, #6\n"/* right shift, narrow and saturate even blue components */ "vqshrun.s16 d5, q12, #6\n"/* right shift, narrow and saturate odd blue components */
"vzip.8 d0, d3\n"/* join even and odd red components */ "vzip.8 d1, d4\n"/* join even and odd green components */ "vzip.8 d2, d5\n"/* join even and odd blue components */
"vmov.u8 d8, #15\n"/* add this to U/V to saturate upper boundary */ "vmov.u8 d9, #20\n"/* add this to Y to saturate upper boundary */ "vmov.u8 d10, #31\n"/* sub this from U/V to saturate lower boundary */ "vmov.u8 d11, #36\n"/* sub this from Y to saturate lower boundary */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.