/*!\brief Parameters related to CDEF Block */ typedefstruct {
uint16_t *src; /*!< CDEF intermediate buffer */
uint16_t *top_linebuf[MAX_MB_PLANE]; /*!< CDEF top line buffer */
uint16_t *bot_linebuf[MAX_MB_PLANE]; /*!< CDEF bottom line buffer */
uint8_t *dst; /*!< CDEF destination buffer */
cdef_list
dlist[MI_SIZE_64X64 * MI_SIZE_64X64]; /*!< CDEF 8x8 block positions */
int xdec; /*!< Sub-sampling X */
int ydec; /*!< Sub-sampling X */
int mi_wide_l2; /*!< Pixels per mi unit in width */
int mi_high_l2; /*!< Pixels per mi unit in height */
int frame_boundary[BOUNDARIES]; /*!< frame boundaries */
int damping; /*!< CDEF damping factor */
int coeff_shift; /*!< Bit-depth based shift for calculating filter strength */
int level; /*!< CDEF filtering level */
int sec_strength; /*!< CDEF secondary strength */
int cdef_count; /*!< Number of CDEF sub-blocks in superblock */
int dir[CDEF_NBLOCKS]
[CDEF_NBLOCKS]; /*!< CDEF filter direction for all 8x8 sub-blocks*/
int var[CDEF_NBLOCKS][CDEF_NBLOCKS]; /*!< variance for all 8x8 sub-blocks */
int dst_stride; /*!< CDEF destination buffer stride */
int coffset; /*!< current superblock offset in a row */
int roffset; /*!< current row offset */
} CdefBlockInfo;
static inline int sign(int i) { return i < 0 ? -1 : 1; }
static inline int constrain(int diff, int threshold, int damping) {
if (!threshold) return0;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.