[FFmpeg-devel] [PATCH 05/18] avcodec/vp8: Inline inner_filter for VP7
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat Sep 10 04:07:16 EEST 2022
It is always true for VP7.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/vp8.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 635e45f87e..35d75170f1 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -2223,7 +2223,7 @@ void filter_mb(VP8Context *s, uint8_t *dst[3], VP8FilterStrength *f,
}
#define H_LOOP_FILTER_16Y_INNER(cond) \
- if (cond && inner_filter) { \
+ if (cond && (is_vp7 || inner_filter)) { \
s->vp8dsp.vp8_h_loop_filter16y_inner(dst[0] + 4, linesize, \
bedge_lim_y, inner_limit, \
hev_thresh); \
@@ -2247,7 +2247,7 @@ void filter_mb(VP8Context *s, uint8_t *dst[3], VP8FilterStrength *f,
mbedge_lim, inner_limit, hev_thresh);
}
- if (inner_filter) {
+ if (is_vp7 || inner_filter) {
s->vp8dsp.vp8_v_loop_filter16y_inner(dst[0] + 4 * linesize,
linesize, bedge_lim_y,
inner_limit, hev_thresh);
@@ -2268,7 +2268,7 @@ void filter_mb(VP8Context *s, uint8_t *dst[3], VP8FilterStrength *f,
static av_always_inline
void filter_mb_simple(VP8Context *s, uint8_t *dst, VP8FilterStrength *f,
- int mb_x, int mb_y)
+ int mb_x, int mb_y, int is_vp7)
{
int mbedge_lim, bedge_lim;
int filter_level = f->filter_level;
@@ -2284,7 +2284,7 @@ void filter_mb_simple(VP8Context *s, uint8_t *dst, VP8FilterStrength *f,
if (mb_x)
s->vp8dsp.vp8_h_loop_filter_simple(dst, linesize, mbedge_lim);
- if (inner_filter) {
+ if (is_vp7 || inner_filter) {
s->vp8dsp.vp8_h_loop_filter_simple(dst + 4, linesize, bedge_lim);
s->vp8dsp.vp8_h_loop_filter_simple(dst + 8, linesize, bedge_lim);
s->vp8dsp.vp8_h_loop_filter_simple(dst + 12, linesize, bedge_lim);
@@ -2292,7 +2292,7 @@ void filter_mb_simple(VP8Context *s, uint8_t *dst, VP8FilterStrength *f,
if (mb_y)
s->vp8dsp.vp8_v_loop_filter_simple(dst, linesize, mbedge_lim);
- if (inner_filter) {
+ if (is_vp7 || inner_filter) {
s->vp8dsp.vp8_v_loop_filter_simple(dst + 4 * linesize, linesize, bedge_lim);
s->vp8dsp.vp8_v_loop_filter_simple(dst + 8 * linesize, linesize, bedge_lim);
s->vp8dsp.vp8_v_loop_filter_simple(dst + 12 * linesize, linesize, bedge_lim);
@@ -2577,7 +2577,7 @@ static av_always_inline void filter_mb_row(AVCodecContext *avctx, void *tdata,
}
if (s->filter.simple)
- filter_mb_simple(s, dst[0], f, mb_x, mb_y);
+ filter_mb_simple(s, dst[0], f, mb_x, mb_y, is_vp7);
else
filter_mb(s, dst, f, mb_x, mb_y, is_vp7);
dst[0] += 16;
--
2.34.1
More information about the ffmpeg-devel
mailing list