| /****************************************************************************** |
| * |
| * Copyright (C) 2015 The Android Open Source Project |
| * |
| * 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. |
| * |
| ***************************************************************************** |
| * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore |
| */ |
| /** |
| ******************************************************************************* |
| * @file |
| * ihevc_typedefs.h |
| * |
| * @brief |
| * Type definitions used in the code |
| * |
| * |
| * @remarks |
| * None |
| * |
| ******************************************************************************* |
| */ |
| #ifndef _IME_STATISTICS_H_ |
| #define _IME_STATISTICS_H_ |
| #define DEBUG_HISTOGRAM_ENABLE 0 |
| #define SAD_EXIT_STATS 0 |
| |
| |
| #if SAD_EXIT_STATS |
| |
| /** |
| ****************************************************************************** |
| * @brief While computing sad, if we want to do a early exit, how often we |
| * should check if the sad computed till now has exceeded min sad param is |
| * chosen statistically. |
| * ****************************************************************************** |
| */ |
| extern UWORD32 gu4_16x16_sad_ee_stats[16+1]; |
| extern UWORD32 gu4_16x8_sad_ee_stats[8+1]; |
| |
| /** |
| ****************************************************************************** |
| * @brief print sad early exit stats |
| ****************************************************************************** |
| */ |
| extern void print_sad_ee_stats(void); |
| |
| #define GATHER_16x16_SAD_EE_STATS(gu4_16x16_sad_ee_stats, i) \ |
| gu4_16x16_sad_ee_stats[i]++; |
| #define GATHER_16x8_SAD_EE_STATS(gu4_16x8_sad_ee_stats, i) \ |
| gu4_16x8_sad_ee_stats[i]++; |
| |
| #else |
| |
| #define GATHER_16x16_SAD_EE_STATS(gu4_16x16_sad_ee_stats, i) |
| #define GATHER_16x8_SAD_EE_STATS(gu4_16x8_sad_ee_stats, i) |
| |
| #endif |
| |
| |
| #if DEBUG_HISTOGRAM_ENABLE |
| #define DEBUG_HISTOGRAM_INIT() debug_histogram_init() |
| #define DEBUG_HISTOGRAM_DUMP(condition) if(condition) debug_histogram_dump() |
| #define DEBUG_MV_HISTOGRAM_ADD(mv_x, mv_y) debug_mv_histogram_add(mv_x, mv_y) |
| #define DEBUG_SAD_HISTOGRAM_ADD(sad, level) debug_sad_histogram_add(sad, level) |
| #else |
| #define DEBUG_HISTOGRAM_INIT() |
| #define DEBUG_HISTOGRAM_DUMP(condition) |
| #define DEBUG_MV_HISTOGRAM_ADD(mv_x, mv_y) |
| #define DEBUG_SAD_HISTOGRAM_ADD(sad, level) |
| #endif |
| |
| |
| |
| #endif /*_IME_STATISTICS_H_*/ |