You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.9 KiB
126 lines
4.9 KiB
/******************************************************************************
|
|
*
|
|
* 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
|
|
* ideint_defs.h
|
|
*
|
|
* @brief
|
|
* Contains deinterlacer definitions
|
|
*
|
|
* @author
|
|
* Ittiam
|
|
*
|
|
* @par List of Functions:
|
|
*
|
|
* @remarks
|
|
* None
|
|
*
|
|
*******************************************************************************
|
|
*/
|
|
|
|
#ifndef __IDEINT_DEFS_H__
|
|
#define __IDEINT_DEFS_H__
|
|
|
|
#define ADJ_SAD_THRESH (6 * (FLD_BLK_SIZE * 2)) // *2 : 2 way collapsing (col+row)
|
|
|
|
#define RSUM_CSUM_THRESH_PER_PEL 5//0
|
|
|
|
/* Block dimensions. All the decisions (which method to be used) are */
|
|
/* made on block basis. The blk level decisions help us in */
|
|
/* reducing the time-complexity of the algorithm. */
|
|
#define BLK_WD_SHIFT 3
|
|
#define BLK_HT_SHIFT 3
|
|
|
|
#define BLK_WD (1 << BLK_WD_SHIFT )
|
|
#define BLK_HT (1 << BLK_HT_SHIFT)
|
|
|
|
#define FLD_BLK_SIZE (BLK_WD * (BLK_HT >> 1))
|
|
|
|
|
|
/* Inside the algorithm, the block itself is divided amongst further */
|
|
/* smaller blocks. */
|
|
#define SUB_BLK_WD (BLK_WD >> 1)
|
|
#define SUB_BLK_HT (BLK_HT >> 1) /* field dimensions. */
|
|
|
|
#define FLD_SUB_BLK_SIZE (SUB_BLK_WD * SUB_BLK_HT)
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* Stationarity check threshold, used in deciding when to weave. */
|
|
/*****************************************************************************/
|
|
#define ST_THRESH ((15 * FLD_BLK_SIZE) >> 1)
|
|
|
|
#define MOD_IDX_ST_NUM 3
|
|
#define MOD_IDX_ST_SHIFT 1
|
|
|
|
#define VAR_AVG_LUMA 735
|
|
#define VAR_AVG_CHROMA 38
|
|
|
|
/*****************************************************************************/
|
|
/* Threshold to choose the fallback method out of Bob and 3-field Kernel */
|
|
/* method. */
|
|
/*****************************************************************************/
|
|
#define FB_THRESH (32 * FLD_BLK_SIZE)
|
|
|
|
#define MOD_IDX_FB 4
|
|
|
|
|
|
#define EDGE_BIAS_0 5
|
|
#define EDGE_BIAS_1 7
|
|
|
|
/*****************************************************************************/
|
|
/* Adjacent correlation bias, used in biasing the adjacent correlation over */
|
|
/* the alternate one, while comparing the two; in the combing-artifact-check */
|
|
/* function. */
|
|
/*****************************************************************************/
|
|
#define SAD_BIAS_ADDITIVE (FLD_SUB_BLK_SIZE >> 1)
|
|
|
|
/*****************************************************************************/
|
|
/* Mult bias is 1.125 = 9/8. Multiplication by this number is done in two */
|
|
/* stpes, first multiplication by 9 and then shift by 3. */
|
|
/*****************************************************************************/
|
|
#define SAD_BIAS_MULT_SHIFT 3
|
|
|
|
/*****************************************************************************/
|
|
/* row_sum threshold, used for making the combing artifact check more robust */
|
|
/* against the noise (e.g. ringing) by rejecting insignificant pixel */
|
|
/* difference across two adjacent rows; in the combing artifact check */
|
|
/* function. */
|
|
/*****************************************************************************/
|
|
#define RSUM_CSUM_THRESH (RSUM_CSUM_THRESH_PER_PEL * SUB_BLK_WD)
|
|
|
|
/*****************************************************************************/
|
|
/* The 3-field filter is of type [-k 2k -k, 0.5 0.5, -k 2k -k], where k is */
|
|
/* the COEFF_THREE_FIELD defined below. */
|
|
/*****************************************************************************/
|
|
#define COEFF_THREE_FIELD 13
|
|
|
|
/*****************************************************************************/
|
|
/* Definitions used by the variance calculations module. */
|
|
/*****************************************************************************/
|
|
#define SQR_SUB_BLK_SZ (FLD_BLK_SIZE * FLD_BLK_SIZE)
|
|
#define SUB_BLK_SZ_SHIFT 5 /* 2^5 = 32 */
|
|
#define SQR_SUB_BLK_SZ_SHIFT (SUB_BLK_SZ_SHIFT << 1) /* 2^10 = 1024 = 32 * 32 */
|
|
|
|
|
|
|
|
#endif /* __IDEINT_DEFS_H__ */
|