| /****************************************************************************** |
| * |
| * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| ******************************************************************************/ |
| /** |
| ******************************************************************************* |
| * @file |
| * ihevcd_version.c |
| * |
| * @brief |
| * Contains version info for HEVC decoder |
| * |
| * @author |
| * Harish |
| * |
| * @par List of Functions: |
| * - ihevcd_get_version() |
| * |
| * @remarks |
| * None |
| * |
| ******************************************************************************* |
| */ |
| /*****************************************************************************/ |
| /* File Includes */ |
| /*****************************************************************************/ |
| #include <stdio.h> |
| #include <stddef.h> |
| #include <stdlib.h> |
| #include <string.h> |
| |
| #include "ihevc_typedefs.h" |
| #include "iv.h" |
| #include "ivd.h" |
| #include "ihevcd_cxa.h" |
| |
| #include "ihevc_defs.h" |
| #include "ihevc_debug.h" |
| #include "ihevc_structs.h" |
| /** |
| * Name of the codec |
| */ |
| #define CODEC_NAME "HEVCDEC" |
| /** |
| * Codec release type, production or evaluation |
| */ |
| #define CODEC_RELEASE_TYPE "production" |
| /** |
| * Version string. First two digits signify major version and last two minor |
| * Increment major version for API change or major feature update |
| */ |
| #define CODEC_RELEASE_VER "05.00" |
| /** |
| * Vendor name |
| */ |
| #define CODEC_VENDOR "ITTIAM" |
| |
| /** |
| ******************************************************************************* |
| * Concatenates various strings to form a version string |
| ******************************************************************************* |
| */ |
| #define MAXVERSION_STRLEN 511 |
| #ifdef __ANDROID__ |
| #define VERSION(version_string, codec_name, codec_release_type, codec_release_ver, codec_vendor) \ |
| snprintf(version_string, MAXVERSION_STRLEN, \ |
| "@(#)Id:%s_%s Ver:%s Released by %s", \ |
| codec_name, codec_release_type, codec_release_ver, codec_vendor) |
| #else |
| #define VERSION(version_string, codec_name, codec_release_type, codec_release_ver, codec_vendor) \ |
| snprintf(version_string, MAXVERSION_STRLEN, \ |
| "@(#)Id:%s_%s Ver:%s Released by %s Build: %s @ %s", \ |
| codec_name, codec_release_type, codec_release_ver, codec_vendor, __DATE__, __TIME__) |
| #endif |
| |
| /** |
| ******************************************************************************* |
| * |
| * @brief |
| * Fills the version info in the given string |
| * |
| * @par Description: |
| * |
| * |
| * @param[in] pc_version_string |
| * Pointer to hold version info |
| * |
| * @param[in] u4_version_buffer_size |
| * Size of the buffer passed |
| * |
| * @returns Status |
| * |
| * @remarks |
| * |
| * |
| ******************************************************************************* |
| */ |
| IV_API_CALL_STATUS_T ihevcd_get_version(CHAR *pc_version_string, |
| UWORD32 u4_version_buffer_size) |
| { |
| CHAR ac_version_tmp[MAXVERSION_STRLEN + 1]; |
| UWORD32 u4_len; |
| VERSION(ac_version_tmp, CODEC_NAME, CODEC_RELEASE_TYPE, CODEC_RELEASE_VER, CODEC_VENDOR); |
| u4_len = strnlen(ac_version_tmp, MAXVERSION_STRLEN) + 1; |
| if(u4_version_buffer_size >= u4_len) |
| { |
| memcpy(pc_version_string, ac_version_tmp, u4_len); |
| return IV_SUCCESS; |
| } |
| else |
| { |
| return IV_FAIL; |
| } |
| |
| } |
| |
| |