Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
92c536b4
Commit
92c536b4
authored
May 01, 2014
by
Dmitry Kovalev
Browse files
Adding vp9_temporal_filter_init() function.
Change-Id: I0d50354111df79b74aafcd3bb7dc14df3c14733a
parent
528a5c28
Changes
4
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_encoder.c
View file @
92c536b4
...
...
@@ -162,6 +162,7 @@ void vp9_initialize_enc() {
vp9_rc_init_minq_luts
();
vp9_entropy_mv_init
();
vp9_entropy_mode_init
();
vp9_temporal_filter_init
();
init_done
=
1
;
}
}
...
...
@@ -536,7 +537,6 @@ static void set_tile_limits(VP9_COMP *cpi) {
static
void
init_config
(
struct
VP9_COMP
*
cpi
,
VP9EncoderConfig
*
oxcf
)
{
VP9_COMMON
*
const
cm
=
&
cpi
->
common
;
int
i
;
cpi
->
oxcf
=
*
oxcf
;
...
...
@@ -571,10 +571,6 @@ static void init_config(struct VP9_COMP *cpi, VP9EncoderConfig *oxcf) {
cpi
->
alt_fb_idx
=
2
;
set_tile_limits
(
cpi
);
cpi
->
fixed_divide
[
0
]
=
0
;
for
(
i
=
1
;
i
<
512
;
i
++
)
cpi
->
fixed_divide
[
i
]
=
0x80000
/
i
;
}
static
int
get_pass
(
MODE
mode
)
{
...
...
vp9/encoder/vp9_encoder.h
View file @
92c536b4
...
...
@@ -443,7 +443,6 @@ typedef struct VP9_COMP {
YV12_BUFFER_CONFIG
alt_ref_buffer
;
YV12_BUFFER_CONFIG
*
frames
[
MAX_LAG_BUFFERS
];
int
fixed_divide
[
512
];
#if CONFIG_INTERNAL_STATS
unsigned
int
mode_chosen_counts
[
MAX_MODES
];
...
...
vp9/encoder/vp9_temporal_filter.c
View file @
92c536b4
...
...
@@ -27,6 +27,8 @@
#include
"vpx_ports/vpx_timer.h"
#include
"vpx_scale/vpx_scale.h"
static
int
fixed_divide
[
512
];
static
void
temporal_filter_predictors_mb_c
(
MACROBLOCKD
*
xd
,
uint8_t
*
y_mb_ptr
,
uint8_t
*
u_mb_ptr
,
...
...
@@ -78,6 +80,14 @@ static void temporal_filter_predictors_mb_c(MACROBLOCKD *xd,
kernel
,
mv_precision_uv
,
x
,
y
);
}
void
vp9_temporal_filter_init
()
{
int
i
;
fixed_divide
[
0
]
=
0
;
for
(
i
=
1
;
i
<
512
;
++
i
)
fixed_divide
[
i
]
=
0x80000
/
i
;
}
void
vp9_temporal_filter_apply_c
(
uint8_t
*
frame1
,
unsigned
int
stride
,
uint8_t
*
frame2
,
...
...
@@ -294,7 +304,7 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi,
for
(
i
=
0
,
k
=
0
;
i
<
16
;
i
++
)
{
for
(
j
=
0
;
j
<
16
;
j
++
,
k
++
)
{
unsigned
int
pval
=
accumulator
[
k
]
+
(
count
[
k
]
>>
1
);
pval
*=
cpi
->
fixed_divide
[
count
[
k
]];
pval
*=
fixed_divide
[
count
[
k
]];
pval
>>=
19
;
dst1
[
byte
]
=
(
uint8_t
)
pval
;
...
...
@@ -315,13 +325,13 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi,
// U
unsigned
int
pval
=
accumulator
[
k
]
+
(
count
[
k
]
>>
1
);
pval
*=
cpi
->
fixed_divide
[
count
[
k
]];
pval
*=
fixed_divide
[
count
[
k
]];
pval
>>=
19
;
dst1
[
byte
]
=
(
uint8_t
)
pval
;
// V
pval
=
accumulator
[
m
]
+
(
count
[
m
]
>>
1
);
pval
*=
cpi
->
fixed_divide
[
count
[
m
]];
pval
*=
fixed_divide
[
count
[
m
]];
pval
>>=
19
;
dst2
[
byte
]
=
(
uint8_t
)
pval
;
...
...
vp9/encoder/vp9_temporal_filter.h
View file @
92c536b4
...
...
@@ -15,6 +15,7 @@
extern
"C"
{
#endif
void
vp9_temporal_filter_init
();
void
vp9_temporal_filter_prepare
(
VP9_COMP
*
cpi
,
int
distance
);
void
vp9_configure_arnr_filter
(
VP9_COMP
*
cpi
,
const
unsigned
int
frames_to_arnr
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment