Coverage Report

Created: 2025-07-12 06:58

/src/libmpeg2/common/x86/ideint_function_selector.c
Line
Count
Source (jump to first uncovered line)
1
/******************************************************************************
2
 *
3
 * Copyright (C) 2015 The Android Open Source Project
4
 *
5
 * Licensed under the Apache License, Version 2.0 (the "License");
6
 * you may not use this file except in compliance with the License.
7
 * You may obtain a copy of the License at:
8
 *
9
 * http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 * Unless required by applicable law or agreed to in writing, software
12
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * See the License for the specific language governing permissions and
15
 * limitations under the License.
16
 *
17
 *****************************************************************************
18
 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19
*/
20
/**
21
*******************************************************************************
22
* @file
23
*  ideint_function_selector.c
24
*
25
* @brief
26
*  This file contains the function selector related code
27
*
28
* @author
29
*  Ittiam
30
*
31
* @par List of Functions:
32
* ih264e_init_function_ptr
33
*
34
* @remarks
35
*  None
36
*
37
*******************************************************************************
38
*/
39
/*****************************************************************************/
40
/* File Includes                                                             */
41
/*****************************************************************************/
42
/* System include files */
43
#include <stdio.h>
44
#include <stdint.h>
45
#include <string.h>
46
#include <stdlib.h>
47
#include <assert.h>
48
49
50
/* User include files */
51
#include "icv_datatypes.h"
52
#include "icv_macros.h"
53
#include "icv_platform_macros.h"
54
#include "icv.h"
55
#include "icv_variance.h"
56
#include "icv_sad.h"
57
#include "ideint.h"
58
59
#include "ideint_defs.h"
60
#include "ideint_structs.h"
61
#include "ideint_utils.h"
62
#include "ideint_cac.h"
63
#include "ideint_debug.h"
64
#include "ideint_function_selector.h"
65
66
67
/**
68
*******************************************************************************
69
*
70
* @brief
71
*  Call corresponding function pointer initialization function
72
*
73
* @par Description
74
*  Call corresponding function pointer initialization function
75
*
76
* @param[in] ps_ctxt
77
*  Context
78
*
79
* @returns  none
80
*
81
* @remarks none
82
*
83
*******************************************************************************
84
*/
85
void ideint_init_function_ptr(ctxt_t *ps_ctxt)
86
88.0k
{
87
88
88.0k
    ideint_init_function_ptr_generic(ps_ctxt);
89
90
88.0k
    switch(ps_ctxt->s_params.e_arch)
91
88.0k
    {
92
15.3k
        case ICV_X86_GENERIC:
93
15.3k
            break;
94
2.29k
        case ICV_X86_SSSE3:
95
2.29k
            ideint_init_function_ptr_ssse3(ps_ctxt);
96
2.29k
            break;
97
754
        case ICV_X86_SSE42:
98
70.4k
        default:
99
70.4k
            ideint_init_function_ptr_ssse3(ps_ctxt);
100
70.4k
            ideint_init_function_ptr_sse42(ps_ctxt);
101
70.4k
            break;
102
88.0k
    }
103
104
88.0k
}
105
106
/**
107
*******************************************************************************
108
*
109
* @brief Determine the architecture of the encoder executing environment
110
*
111
* @par Description: This routine returns the architecture of the enviro-
112
* ment in which the current encoder is being tested
113
*
114
* @param[in] void
115
*
116
* @returns  IV_ARCH_T
117
*  architecture
118
*
119
* @remarks none
120
*
121
*******************************************************************************
122
*/
123
ICV_ARCH_T ideint_default_arch(void)
124
0
{
125
0
    return ICV_X86_SSE42;
126
0
}