xref: /aosp_15_r20/external/libavc/encoder/ih264e_version.c (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1*495ae853SAndroid Build Coastguard Worker /******************************************************************************
2*495ae853SAndroid Build Coastguard Worker  *
3*495ae853SAndroid Build Coastguard Worker  * Copyright (C) 2015 The Android Open Source Project
4*495ae853SAndroid Build Coastguard Worker  *
5*495ae853SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*495ae853SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*495ae853SAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*495ae853SAndroid Build Coastguard Worker  *
9*495ae853SAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*495ae853SAndroid Build Coastguard Worker  *
11*495ae853SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*495ae853SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*495ae853SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*495ae853SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*495ae853SAndroid Build Coastguard Worker  * limitations under the License.
16*495ae853SAndroid Build Coastguard Worker  *
17*495ae853SAndroid Build Coastguard Worker  *****************************************************************************
18*495ae853SAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*495ae853SAndroid Build Coastguard Worker */
20*495ae853SAndroid Build Coastguard Worker 
21*495ae853SAndroid Build Coastguard Worker /**
22*495ae853SAndroid Build Coastguard Worker *******************************************************************************
23*495ae853SAndroid Build Coastguard Worker * @file
24*495ae853SAndroid Build Coastguard Worker *  ih264e_version.c
25*495ae853SAndroid Build Coastguard Worker *
26*495ae853SAndroid Build Coastguard Worker * @brief
27*495ae853SAndroid Build Coastguard Worker *  Contains version info of h264 encoder
28*495ae853SAndroid Build Coastguard Worker *
29*495ae853SAndroid Build Coastguard Worker * @author
30*495ae853SAndroid Build Coastguard Worker *  ittiam
31*495ae853SAndroid Build Coastguard Worker *
32*495ae853SAndroid Build Coastguard Worker * @par List of Functions:
33*495ae853SAndroid Build Coastguard Worker * - ih264e_get_version
34*495ae853SAndroid Build Coastguard Worker *
35*495ae853SAndroid Build Coastguard Worker * @remarks
36*495ae853SAndroid Build Coastguard Worker *  none
37*495ae853SAndroid Build Coastguard Worker *
38*495ae853SAndroid Build Coastguard Worker *******************************************************************************
39*495ae853SAndroid Build Coastguard Worker */
40*495ae853SAndroid Build Coastguard Worker 
41*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
42*495ae853SAndroid Build Coastguard Worker /* File Includes                                                             */
43*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
44*495ae853SAndroid Build Coastguard Worker 
45*495ae853SAndroid Build Coastguard Worker /* System Include Files */
46*495ae853SAndroid Build Coastguard Worker #include <stdio.h>
47*495ae853SAndroid Build Coastguard Worker #include <stddef.h>
48*495ae853SAndroid Build Coastguard Worker #include <stdlib.h>
49*495ae853SAndroid Build Coastguard Worker #include <string.h>
50*495ae853SAndroid Build Coastguard Worker 
51*495ae853SAndroid Build Coastguard Worker /* User Include Files */
52*495ae853SAndroid Build Coastguard Worker #include "ih264_typedefs.h"
53*495ae853SAndroid Build Coastguard Worker #include "iv2.h"
54*495ae853SAndroid Build Coastguard Worker #include "ih264e_version.h"
55*495ae853SAndroid Build Coastguard Worker 
56*495ae853SAndroid Build Coastguard Worker 
57*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
58*495ae853SAndroid Build Coastguard Worker /* Constant Macros                                                           */
59*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
60*495ae853SAndroid Build Coastguard Worker 
61*495ae853SAndroid Build Coastguard Worker /**
62*495ae853SAndroid Build Coastguard Worker  * Name of the codec and target platform (All Cortex A processors in this case)
63*495ae853SAndroid Build Coastguard Worker  */
64*495ae853SAndroid Build Coastguard Worker #define CODEC_NAME              "H264ENC"
65*495ae853SAndroid Build Coastguard Worker /**
66*495ae853SAndroid Build Coastguard Worker  * Codec release type, production or evaluation
67*495ae853SAndroid Build Coastguard Worker  */
68*495ae853SAndroid Build Coastguard Worker #define CODEC_RELEASE_TYPE      "production"
69*495ae853SAndroid Build Coastguard Worker /**
70*495ae853SAndroid Build Coastguard Worker  * Version string. First two digits signify major version and last two minor
71*495ae853SAndroid Build Coastguard Worker  */
72*495ae853SAndroid Build Coastguard Worker #define CODEC_RELEASE_VER       "01.02"
73*495ae853SAndroid Build Coastguard Worker /**
74*495ae853SAndroid Build Coastguard Worker  * Vendor name
75*495ae853SAndroid Build Coastguard Worker  */
76*495ae853SAndroid Build Coastguard Worker #define CODEC_VENDOR            "ITTIAM"
77*495ae853SAndroid Build Coastguard Worker 
78*495ae853SAndroid Build Coastguard Worker #define MAX_STRLEN              511
79*495ae853SAndroid Build Coastguard Worker /**
80*495ae853SAndroid Build Coastguard Worker *******************************************************************************
81*495ae853SAndroid Build Coastguard Worker * Concatenates various strings to form a version string
82*495ae853SAndroid Build Coastguard Worker *******************************************************************************
83*495ae853SAndroid Build Coastguard Worker */
84*495ae853SAndroid Build Coastguard Worker #ifdef ANDROID
85*495ae853SAndroid Build Coastguard Worker #define VERSION(version_string, codec_name, codec_release_type, codec_release_ver, codec_vendor)    \
86*495ae853SAndroid Build Coastguard Worker     snprintf(version_string, MAX_STRLEN,                                                            \
87*495ae853SAndroid Build Coastguard Worker              "@(#)Id:%s_%s Ver:%s Released by %s",                                                  \
88*495ae853SAndroid Build Coastguard Worker              codec_name, codec_release_type, codec_release_ver, codec_vendor)
89*495ae853SAndroid Build Coastguard Worker #else
90*495ae853SAndroid Build Coastguard Worker #define VERSION(version_string, codec_name, codec_release_type, codec_release_ver, codec_vendor)    \
91*495ae853SAndroid Build Coastguard Worker     snprintf(version_string, MAX_STRLEN,                                                            \
92*495ae853SAndroid Build Coastguard Worker              "@(#)Id:%s_%s Ver:%s Released by %s Build: %s @ %s",                                   \
93*495ae853SAndroid Build Coastguard Worker              codec_name, codec_release_type, codec_release_ver, codec_vendor, __DATE__, __TIME__)
94*495ae853SAndroid Build Coastguard Worker #endif
95*495ae853SAndroid Build Coastguard Worker 
96*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
97*495ae853SAndroid Build Coastguard Worker /* Function Definitions                                                      */
98*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
99*495ae853SAndroid Build Coastguard Worker 
100*495ae853SAndroid Build Coastguard Worker /**
101*495ae853SAndroid Build Coastguard Worker *******************************************************************************
102*495ae853SAndroid Build Coastguard Worker *
103*495ae853SAndroid Build Coastguard Worker * @brief
104*495ae853SAndroid Build Coastguard Worker *  Fills the version info in the given char pointer
105*495ae853SAndroid Build Coastguard Worker *
106*495ae853SAndroid Build Coastguard Worker * @par Description:
107*495ae853SAndroid Build Coastguard Worker *  Fills the version info in the given char pointer
108*495ae853SAndroid Build Coastguard Worker *
109*495ae853SAndroid Build Coastguard Worker * @param[in] pc_version
110*495ae853SAndroid Build Coastguard Worker *  Pointer to hold version info
111*495ae853SAndroid Build Coastguard Worker *
112*495ae853SAndroid Build Coastguard Worker * @param[in] u4_version_bufsize
113*495ae853SAndroid Build Coastguard Worker *  Size of the buffer passed
114*495ae853SAndroid Build Coastguard Worker *
115*495ae853SAndroid Build Coastguard Worker * @returns error status
116*495ae853SAndroid Build Coastguard Worker *
117*495ae853SAndroid Build Coastguard Worker * @remarks none
118*495ae853SAndroid Build Coastguard Worker *
119*495ae853SAndroid Build Coastguard Worker *******************************************************************************
120*495ae853SAndroid Build Coastguard Worker */
ih264e_get_version(CHAR * pc_version,UWORD32 u4_version_bufsize)121*495ae853SAndroid Build Coastguard Worker IV_STATUS_T ih264e_get_version(CHAR *pc_version, UWORD32 u4_version_bufsize)
122*495ae853SAndroid Build Coastguard Worker {
123*495ae853SAndroid Build Coastguard Worker     CHAR ac_version_tmp[MAX_STRLEN];
124*495ae853SAndroid Build Coastguard Worker 
125*495ae853SAndroid Build Coastguard Worker     VERSION(ac_version_tmp, CODEC_NAME, CODEC_RELEASE_TYPE, CODEC_RELEASE_VER,
126*495ae853SAndroid Build Coastguard Worker             CODEC_VENDOR);
127*495ae853SAndroid Build Coastguard Worker 
128*495ae853SAndroid Build Coastguard Worker     if (u4_version_bufsize >= (strlen(ac_version_tmp) + 1))
129*495ae853SAndroid Build Coastguard Worker     {
130*495ae853SAndroid Build Coastguard Worker         memcpy(pc_version, ac_version_tmp, (strlen(ac_version_tmp) + 1));
131*495ae853SAndroid Build Coastguard Worker         return IV_SUCCESS;
132*495ae853SAndroid Build Coastguard Worker     }
133*495ae853SAndroid Build Coastguard Worker     else
134*495ae853SAndroid Build Coastguard Worker     {
135*495ae853SAndroid Build Coastguard Worker         return IV_FAIL;
136*495ae853SAndroid Build Coastguard Worker     }
137*495ae853SAndroid Build Coastguard Worker }
138