Commit 36d732c2 authored by Johann's avatar Johann Committed by Johann Koenig
Browse files

vp9 temporal filter: add const to function prototype

The input frames are not modified.

Change-Id: Ideb810e3c5afeb4dbdc4c7d54024c43a8129ad39
parent 2fac50fa
...@@ -21,10 +21,11 @@ namespace { ...@@ -21,10 +21,11 @@ namespace {
using ::libvpx_test::ACMRandom; using ::libvpx_test::ACMRandom;
using ::libvpx_test::Buffer; using ::libvpx_test::Buffer;
typedef void (*TemporalFilterFunc)(uint8_t *a, unsigned int stride, uint8_t *b, typedef void (*TemporalFilterFunc)(const uint8_t *a, unsigned int stride,
unsigned int w, unsigned int h, const uint8_t *b, unsigned int w,
int filter_strength, int filter_weight, unsigned int h, int filter_strength,
unsigned int *accumulator, uint16_t *count); int filter_weight, unsigned int *accumulator,
uint16_t *count);
// Calculate the difference between 'a' and 'b', sum in blocks of 9, and apply // Calculate the difference between 'a' and 'b', sum in blocks of 9, and apply
// filter based on strength and weight. Store the resulting filter amount in // filter based on strength and weight. Store the resulting filter amount in
......
...@@ -197,7 +197,7 @@ $vp9_full_search_sad_sse4_1=vp9_full_search_sadx8; ...@@ -197,7 +197,7 @@ $vp9_full_search_sad_sse4_1=vp9_full_search_sadx8;
add_proto qw/int vp9_diamond_search_sad/, "const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv"; add_proto qw/int vp9_diamond_search_sad/, "const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv";
specialize qw/vp9_diamond_search_sad avx/; specialize qw/vp9_diamond_search_sad avx/;
add_proto qw/void vp9_temporal_filter_apply/, "uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count"; add_proto qw/void vp9_temporal_filter_apply/, "const uint8_t *frame1, unsigned int stride, const uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count";
specialize qw/vp9_temporal_filter_apply sse2 msa/; specialize qw/vp9_temporal_filter_apply sse2 msa/;
if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
...@@ -217,7 +217,7 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { ...@@ -217,7 +217,7 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
add_proto qw/void vp9_highbd_fwht4x4/, "const int16_t *input, tran_low_t *output, int stride"; add_proto qw/void vp9_highbd_fwht4x4/, "const int16_t *input, tran_low_t *output, int stride";
add_proto qw/void vp9_highbd_temporal_filter_apply/, "uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count"; add_proto qw/void vp9_highbd_temporal_filter_apply/, "const uint8_t *frame1, unsigned int stride, const uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count";
} }
# End vp9_high encoder functions # End vp9_high encoder functions
......
...@@ -11,10 +11,11 @@ ...@@ -11,10 +11,11 @@
#include "./vp9_rtcd.h" #include "./vp9_rtcd.h"
#include "vpx_dsp/mips/macros_msa.h" #include "vpx_dsp/mips/macros_msa.h"
static void temporal_filter_apply_8size_msa(uint8_t *frm1_ptr, uint32_t stride, static void temporal_filter_apply_8size_msa(const uint8_t *frm1_ptr,
uint8_t *frm2_ptr, int32_t filt_sth, uint32_t stride,
int32_t filt_wgt, uint32_t *acc, const uint8_t *frm2_ptr,
uint16_t *cnt) { int32_t filt_sth, int32_t filt_wgt,
uint32_t *acc, uint16_t *cnt) {
uint32_t row; uint32_t row;
uint64_t f0, f1, f2, f3; uint64_t f0, f1, f2, f3;
v16i8 frm2, frm1 = { 0 }; v16i8 frm2, frm1 = { 0 };
...@@ -138,8 +139,9 @@ static void temporal_filter_apply_8size_msa(uint8_t *frm1_ptr, uint32_t stride, ...@@ -138,8 +139,9 @@ static void temporal_filter_apply_8size_msa(uint8_t *frm1_ptr, uint32_t stride,
} }
} }
static void temporal_filter_apply_16size_msa(uint8_t *frm1_ptr, uint32_t stride, static void temporal_filter_apply_16size_msa(const uint8_t *frm1_ptr,
uint8_t *frm2_ptr, uint32_t stride,
const uint8_t *frm2_ptr,
int32_t filt_sth, int32_t filt_wgt, int32_t filt_sth, int32_t filt_wgt,
uint32_t *acc, uint16_t *cnt) { uint32_t *acc, uint16_t *cnt) {
uint32_t row; uint32_t row;
...@@ -265,8 +267,8 @@ static void temporal_filter_apply_16size_msa(uint8_t *frm1_ptr, uint32_t stride, ...@@ -265,8 +267,8 @@ static void temporal_filter_apply_16size_msa(uint8_t *frm1_ptr, uint32_t stride,
} }
} }
void vp9_temporal_filter_apply_msa(uint8_t *frame1_ptr, uint32_t stride, void vp9_temporal_filter_apply_msa(const uint8_t *frame1_ptr, uint32_t stride,
uint8_t *frame2_ptr, uint32_t blk_w, const uint8_t *frame2_ptr, uint32_t blk_w,
uint32_t blk_h, int32_t strength, uint32_t blk_h, int32_t strength,
int32_t filt_wgt, uint32_t *accu, int32_t filt_wgt, uint32_t *accu,
uint16_t *cnt) { uint16_t *cnt) {
......
...@@ -89,8 +89,9 @@ void vp9_temporal_filter_init(void) { ...@@ -89,8 +89,9 @@ void vp9_temporal_filter_init(void) {
for (i = 1; i < 512; ++i) fixed_divide[i] = 0x80000 / i; for (i = 1; i < 512; ++i) fixed_divide[i] = 0x80000 / i;
} }
void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, void vp9_temporal_filter_apply_c(const uint8_t *frame1, unsigned int stride,
uint8_t *frame2, unsigned int block_width, const uint8_t *frame2,
unsigned int block_width,
unsigned int block_height, int strength, unsigned int block_height, int strength,
int filter_weight, unsigned int *accumulator, int filter_weight, unsigned int *accumulator,
uint16_t *count) { uint16_t *count) {
...@@ -152,11 +153,11 @@ void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, ...@@ -152,11 +153,11 @@ void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride,
#if CONFIG_VP9_HIGHBITDEPTH #if CONFIG_VP9_HIGHBITDEPTH
void vp9_highbd_temporal_filter_apply_c( void vp9_highbd_temporal_filter_apply_c(
uint8_t *frame1_8, unsigned int stride, uint8_t *frame2_8, const uint8_t *frame1_8, unsigned int stride, const uint8_t *frame2_8,
unsigned int block_width, unsigned int block_height, int strength, unsigned int block_width, unsigned int block_height, int strength,
int filter_weight, unsigned int *accumulator, uint16_t *count) { int filter_weight, unsigned int *accumulator, uint16_t *count) {
uint16_t *frame1 = CONVERT_TO_SHORTPTR(frame1_8); const uint16_t *frame1 = CONVERT_TO_SHORTPTR(frame1_8);
uint16_t *frame2 = CONVERT_TO_SHORTPTR(frame2_8); const uint16_t *frame2 = CONVERT_TO_SHORTPTR(frame2_8);
unsigned int i, j, k; unsigned int i, j, k;
int modifier; int modifier;
int byte = 0; int byte = 0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment