chromium/third_party/libvpx/source/libvpx/vp8/common/mfqe.c

/*
 *  Copyright (c) 2012 The WebM project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

/* MFQE: Multiframe Quality Enhancement
 * In rate limited situations keyframes may cause significant visual artifacts
 * commonly referred to as "popping." This file implements a postproccesing
 * algorithm which blends data from the preceeding frame when there is no
 * motion and the q from the previous frame is lower which indicates that it is
 * higher quality.
 */

#include "./vp8_rtcd.h"
#include "./vpx_dsp_rtcd.h"
#include "vp8/common/common.h"
#include "vp8/common/postproc.h"
#include "vpx_dsp/variance.h"
#include "vpx_mem/vpx_mem.h"
#include "vpx_scale/yv12config.h"

#include <limits.h>
#include <stdlib.h>

static void filter_by_weight(unsigned char *src, int src_stride,
                             unsigned char *dst, int dst_stride, int block_size,
                             int src_weight) {}

void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride,
                                 unsigned char *dst, int dst_stride,
                                 int src_weight) {}

void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride,
                               unsigned char *dst, int dst_stride,
                               int src_weight) {}

void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride,
                               unsigned char *dst, int dst_stride,
                               int src_weight) {}

static void apply_ifactor(unsigned char *y_src, int y_src_stride,
                          unsigned char *y_dst, int y_dst_stride,
                          unsigned char *u_src, unsigned char *v_src,
                          int uv_src_stride, unsigned char *u_dst,
                          unsigned char *v_dst, int uv_dst_stride,
                          int block_size, int src_weight) {}

static unsigned int int_sqrt(unsigned int x) {}

#define USE_SSD
static void multiframe_quality_enhance_block(
    int blksize, /* Currently only values supported are 16, 8 */
    int qcurr, int qprev, unsigned char *y, unsigned char *u, unsigned char *v,
    int y_stride, int uv_stride, unsigned char *yd, unsigned char *ud,
    unsigned char *vd, int yd_stride, int uvd_stride) {}

static int qualify_inter_mb(const MODE_INFO *mode_info_context, int *map) {}

void vp8_multiframe_quality_enhance(VP8_COMMON *cm) {}