chromium/third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c

/*
 *  Copyright (c) 2014 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.
 */

#include "./vpx_config.h"
#include "./vp9_rtcd.h"
#include "./vpx_dsp_rtcd.h"
#include "./vpx_scale_rtcd.h"

#include "vp9/common/vp9_onyxc_int.h"
#include "vp9/common/vp9_postproc.h"

// TODO(jackychen): Replace this function with SSE2 code. There is
// one SSE2 implementation in vp8, so will consider how to share it
// between vp8 and vp9.
static void filter_by_weight(const uint8_t *src, int src_stride, uint8_t *dst,
                             int dst_stride, int block_size, int src_weight) {}

void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst,
                               int dst_stride, int src_weight) {}

void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride,
                                 uint8_t *dst, int dst_stride, int src_weight) {}

static void filter_by_weight32x32(const uint8_t *src, int src_stride,
                                  uint8_t *dst, int dst_stride, int weight) {}

static void filter_by_weight64x64(const uint8_t *src, int src_stride,
                                  uint8_t *dst, int dst_stride, int weight) {}

static void apply_ifactor(const uint8_t *y, int y_stride, uint8_t *yd,
                          int yd_stride, const uint8_t *u, const uint8_t *v,
                          int uv_stride, uint8_t *ud, uint8_t *vd,
                          int uvd_stride, BLOCK_SIZE block_size, int weight) {}

// TODO(jackychen): Determine whether replace it with assembly code.
static void copy_mem8x8(const uint8_t *src, int src_stride, uint8_t *dst,
                        int dst_stride) {}

static void copy_mem16x16(const uint8_t *src, int src_stride, uint8_t *dst,
                          int dst_stride) {}

static void copy_mem32x32(const uint8_t *src, int src_stride, uint8_t *dst,
                          int dst_stride) {}

static void copy_mem64x64(const uint8_t *src, int src_stride, uint8_t *dst,
                          int dst_stride) {}

static void copy_block(const uint8_t *y, const uint8_t *u, const uint8_t *v,
                       int y_stride, int uv_stride, uint8_t *yd, uint8_t *ud,
                       uint8_t *vd, int yd_stride, int uvd_stride,
                       BLOCK_SIZE bs) {}

static void get_thr(BLOCK_SIZE bs, int qdiff, int *sad_thr, int *vdiff_thr) {}

static void mfqe_block(BLOCK_SIZE bs, const uint8_t *y, const uint8_t *u,
                       const uint8_t *v, int y_stride, int uv_stride,
                       uint8_t *yd, uint8_t *ud, uint8_t *vd, int yd_stride,
                       int uvd_stride, int qdiff) {}

static int mfqe_decision(MODE_INFO *mi, BLOCK_SIZE cur_bs) {}

// Process each partiton in a super block, recursively.
static void mfqe_partition(VP9_COMMON *cm, MODE_INFO *mi, BLOCK_SIZE bs,
                           const uint8_t *y, const uint8_t *u, const uint8_t *v,
                           int y_stride, int uv_stride, uint8_t *yd,
                           uint8_t *ud, uint8_t *vd, int yd_stride,
                           int uvd_stride) {}

void vp9_mfqe(VP9_COMMON *cm) {}