]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/error_resilience.c
Fix typo in v410 decoder.
[ffmpeg] / libavcodec / error_resilience.c
index 2691109e49ace507f77de729d3045c459b4d097b..58e3754b7ca65a81590f0b9ca9f7dd2ad3892c80 100644 (file)
@@ -48,6 +48,8 @@ static void decode_mb(MpegEncContext *s, int ref)
 
     ff_init_block_index(s);
     ff_update_block_index(s);
+    s->dest[1] += (16 >> s->chroma_x_shift) - 8;
+    s->dest[2] += (16 >> s->chroma_x_shift) - 8;
 
     if (CONFIG_H264_DECODER && s->codec_id == CODEC_ID_H264) {
         H264Context *h = (void*)s;
@@ -406,7 +408,7 @@ static void v_block_filter(MpegEncContext *s, uint8_t *dst, int w, int h,
 
 static void guess_mv(MpegEncContext *s)
 {
-    uint8_t *fixed = av_malloc(s->mb_stride * s->mb_height);
+    uint8_t *fixed = s->er_temp_buffer;
 #define MV_FROZEN    3
 #define MV_CHANGED   2
 #define MV_UNCHANGED 1
@@ -468,7 +470,7 @@ static void guess_mv(MpegEncContext *s)
                 decode_mb(s, 0);
             }
         }
-        goto end;
+        return;
     }
 
     for (depth = 0; ; depth++) {
@@ -720,7 +722,7 @@ skip_last_mv:
         }
 
         if (none_left)
-            goto end;
+            return;
 
         for (i = 0; i < s->mb_num; i++) {
             int mb_xy = s->mb_index2xy[i];
@@ -729,8 +731,6 @@ skip_last_mv:
         }
         // printf(":"); fflush(stdout);
     }
-end:
-    av_free(fixed);
 }
 
 static int is_intra_more_likely(MpegEncContext *s)