diff mbox series

[FFmpeg-devel,10/18] avcodec/vp8: Inline num_jobs for VP7

Message ID AS8P250MB074437AB93D55168CC7234708F429@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM
State New
Headers show
Series [FFmpeg-devel,01/18] avcodec/vp8: Disable segmentation for VP7 | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Andreas Rheinhardt Sept. 10, 2022, 1:07 a.m. UTC
Always one.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/vp8.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index dd3d38d342..ce824cec81 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -2395,7 +2395,7 @@  static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void
     VP8Context *s = avctx->priv_data;
     VP8ThreadData *prev_td, *next_td, *td = &s->thread_data[threadnr];
     int mb_x, mb_xy = mb_y * s->mb_width;
-    int num_jobs = s->num_jobs;
+    int num_jobs = is_vp7 ? 1 : s->num_jobs;
     const VP8Frame *prev_frame = s->prev_frame;
     VP8Frame *curframe = s->curframe;
     VPXRangeCoder *c  = &s->coeff_partition[is_vp7 ? 0 : mb_y & (s->num_coeff_partitions - 1)];
@@ -2491,7 +2491,7 @@  static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void
         if (s->deblock_filter)
             filter_level_for_mb(s, mb, &td->filter_strength[mb_x], is_vp7);
 
-        if (s->deblock_filter && num_jobs != 1 && threadnr == num_jobs - 1) {
+        if (s->deblock_filter && !is_vp7 && num_jobs != 1 && threadnr == num_jobs - 1) {
             if (s->filter.simple)
                 backup_mb_border(s->top_border[mb_x + 1], dst[0],
                                  NULL, NULL, s->linesize, 0, 1);
@@ -2533,7 +2533,7 @@  static av_always_inline void filter_mb_row(AVCodecContext *avctx, void *tdata,
 {
     VP8Context *s = avctx->priv_data;
     VP8ThreadData *td = &s->thread_data[threadnr];
-    int mb_x, num_jobs = s->num_jobs;
+    int mb_x, num_jobs = is_vp7 ? 1 : s->num_jobs;
     AVFrame *curframe = s->curframe->tf.f;
     VP8Macroblock *mb;
     VP8ThreadData *prev_td, *next_td;
@@ -2566,7 +2566,7 @@  static av_always_inline void filter_mb_row(AVCodecContext *avctx, void *tdata,
             if (next_td != &s->thread_data[0])
                 check_thread_pos(td, next_td, mb_x + 1, mb_y + 1);
 
-        if (num_jobs == 1) {
+        if (is_vp7 || num_jobs == 1) {
             if (s->filter.simple)
                 backup_mb_border(s->top_border[mb_x + 1], dst[0],
                                  NULL, NULL, s->linesize, 0, 1);
@@ -2608,7 +2608,7 @@  int vp78_decode_mb_row_sliced(AVCodecContext *avctx, void *tdata, int jobnr,
     VP8ThreadData *td = &s->thread_data[jobnr];
     VP8ThreadData *next_td = NULL, *prev_td = NULL;
     VP8Frame *curframe = s->curframe;
-    int mb_y, num_jobs = s->num_jobs;
+    int mb_y, num_jobs = is_vp7 ? 1 : s->num_jobs;
     int ret;
 
     td->thread_nr = threadnr;