KleidiCV Coverage Report


Directory: ./
File: kleidicv/src/conversions/yuv_p_to_rgb_api.cpp
Date: 2025-09-25 14:13:34
Exec Total Coverage
Lines: 16 16 100.0%
Functions: 8 8 100.0%
Branches: 16 16 100.0%

Line Branch Exec Source
1 // SPDX-FileCopyrightText: 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 #include "kleidicv/conversions/yuv_420_to_rgb.h"
6 #include "kleidicv/dispatch.h"
7 #include "kleidicv/kleidicv.h"
8
9 #define KLEIDICV_DEFINE_C_API(name, partialname) \
10 KLEIDICV_MULTIVERSION_C_API(name, &kleidicv::neon::partialname, \
11 &kleidicv::sve2::partialname, \
12 &kleidicv::sme::partialname, nullptr)
13
14
4/4
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 1 times.
8 KLEIDICV_DEFINE_C_API(kleidicv_yuv_p_to_rgb_stripe_u8, yuv_p_to_rgb_stripe_u8);
15
16
4/4
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 1 times.
8 KLEIDICV_DEFINE_C_API(kleidicv_yuv_p_to_bgr_stripe_u8, yuv_p_to_bgr_stripe_u8);
17
18
4/4
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 1 times.
8 KLEIDICV_DEFINE_C_API(kleidicv_yuv_p_to_rgba_stripe_u8,
19 yuv_p_to_rgba_stripe_u8);
20
21
4/4
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 1 times.
8 KLEIDICV_DEFINE_C_API(kleidicv_yuv_p_to_bgra_stripe_u8,
22 yuv_p_to_bgra_stripe_u8);
23
24 extern "C" {
25
26 216 kleidicv_error_t kleidicv_yuv_p_to_rgb_u8(const uint8_t *src, size_t src_stride,
27 uint8_t *dst, size_t dst_stride,
28 size_t width, size_t height,
29 bool v_first) {
30 432 return kleidicv_yuv_p_to_rgb_stripe_u8(src, src_stride, dst, dst_stride,
31 216 width, height, v_first, 0, height);
32 }
33
34 216 kleidicv_error_t kleidicv_yuv_p_to_bgr_u8(const uint8_t *src, size_t src_stride,
35 uint8_t *dst, size_t dst_stride,
36 size_t width, size_t height,
37 bool v_first) {
38 432 return kleidicv_yuv_p_to_bgr_stripe_u8(src, src_stride, dst, dst_stride,
39 216 width, height, v_first, 0, height);
40 }
41
42 216 kleidicv_error_t kleidicv_yuv_p_to_rgba_u8(const uint8_t *src,
43 size_t src_stride, uint8_t *dst,
44 size_t dst_stride, size_t width,
45 size_t height, bool v_first) {
46 432 return kleidicv_yuv_p_to_rgba_stripe_u8(src, src_stride, dst, dst_stride,
47 216 width, height, v_first, 0, height);
48 }
49
50 216 kleidicv_error_t kleidicv_yuv_p_to_bgra_u8(const uint8_t *src,
51 size_t src_stride, uint8_t *dst,
52 size_t dst_stride, size_t width,
53 size_t height, bool v_first) {
54 432 return kleidicv_yuv_p_to_bgra_stripe_u8(src, src_stride, dst, dst_stride,
55 216 width, height, v_first, 0, height);
56 }
57
58 } // extern "C"
59