[FFmpeg-cvslog] Merge commit '0c6a70873fc6e43194b471d112c30823b6c8d0b4'

Derek Buitenhuis git at videolan.org
Sun Apr 17 20:12:01 CEST 2016


ffmpeg | branch: master | Derek Buitenhuis <derek.buitenhuis at gmail.com> | Sun Apr 17 19:09:12 2016 +0100| [909f5e71001f77a22fb76c440c9f73643b0c943b] | committer: Derek Buitenhuis

Merge commit '0c6a70873fc6e43194b471d112c30823b6c8d0b4'

* commit '0c6a70873fc6e43194b471d112c30823b6c8d0b4':
  intrax8: Move error resilience out of intrax8

Merged-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=909f5e71001f77a22fb76c440c9f73643b0c943b
---

 configure              |    3 +--
 libavcodec/intrax8.c   |   10 ++--------
 libavcodec/vc1_block.c |    4 ++++
 libavcodec/wmv2dec.c   |    4 ++++
 4 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index 993f352..f167e3b 100755
--- a/configure
+++ b/configure
@@ -2258,7 +2258,6 @@ faandct_deps="faan fdctdsp"
 faanidct_deps="faan idctdsp"
 h264dsp_select="startcode"
 frame_thread_encoder_deps="encoders threads"
-intrax8_select="error_resilience"
 mdct_select="fft"
 me_cmp_select="fdctdsp idctdsp pixblockdsp"
 mpeg_er_select="error_resilience"
@@ -2494,7 +2493,7 @@ wmav2_encoder_select="mdct sinewin wma_freqs"
 wmavoice_decoder_select="lsp rdft dct mdct sinewin"
 wmv1_decoder_select="h263_decoder"
 wmv1_encoder_select="h263_encoder"
-wmv2_decoder_select="blockdsp h263_decoder idctdsp intrax8 videodsp wmv2dsp"
+wmv2_decoder_select="blockdsp error_resilience h263_decoder idctdsp intrax8 videodsp wmv2dsp"
 wmv2_encoder_select="h263_encoder wmv2dsp"
 wmv3_decoder_select="vc1_decoder"
 wmv3image_decoder_select="wmv3_decoder"
diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c
index cf01289..1a820c3 100644
--- a/libavcodec/intrax8.c
+++ b/libavcodec/intrax8.c
@@ -23,7 +23,6 @@
 
 #include "libavutil/avassert.h"
 #include "avcodec.h"
-#include "error_resilience.h"
 #include "get_bits.h"
 #include "idctdsp.h"
 #include "mpegvideo.h"
@@ -719,8 +718,8 @@ av_cold void ff_intrax8_common_end(IntraX8Context * w)
 /**
  * Decode single IntraX8 frame.
  * The parent codec must fill s->loopfilter and s->gb (bitstream).
- * The parent codec must call ff_mpv_frame_start(), ff_er_frame_start() before calling this function.
- * The parent codec must call ff_er_frame_end(), ff_mpv_frame_end() after calling this function.
+ * The parent codec must call ff_mpv_frame_start() before calling this function.
+ * The parent codec must call ff_mpv_frame_end() after calling this function.
  * This function does not use ff_mpv_decode_mb().
  * lowres decoding is theoretically impossible.
  * @param w pointer to IntraX8Context
@@ -746,8 +745,6 @@ int ff_intrax8_decode_picture(IntraX8Context * const w, int dquant, int quant_of
     }
     x8_reset_vlc_tables(w);
 
-    s->resync_mb_x=0;
-    s->resync_mb_y=0;
 
     for(s->mb_y=0; s->mb_y < s->mb_height*2; s->mb_y++){
         x8_init_block_index(s);
@@ -786,8 +783,5 @@ int ff_intrax8_decode_picture(IntraX8Context * const w, int dquant, int quant_of
     }
 
 error:
-    ff_er_add_slice(&s->er, s->resync_mb_x, s->resync_mb_y,
-                        (s->mb_x>>1)-1, (s->mb_y>>1)-1,
-                        ER_MB_END );
     return 0;
 }
diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c
index 255ba1d..c74788b 100644
--- a/libavcodec/vc1_block.c
+++ b/libavcodec/vc1_block.c
@@ -2932,6 +2932,10 @@ void ff_vc1_decode_blocks(VC1Context *v)
     v->s.esc3_level_length = 0;
     if (v->x8_type) {
         ff_intrax8_decode_picture(&v->x8, 2*v->pq + v->halfpq, v->pq * !v->pquantizer);
+
+        ff_er_add_slice(&v->s.er, 0, 0,
+                        (v->s.mb_x >> 1) - 1, (v->s.mb_y >> 1) - 1,
+                        ER_MB_END);
     } else {
         v->cur_blk_idx     =  0;
         v->left_blk_idx    = -1;
diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c
index 99c95d3..0c2f14d 100644
--- a/libavcodec/wmv2dec.c
+++ b/libavcodec/wmv2dec.c
@@ -220,6 +220,10 @@ int ff_wmv2_decode_secondary_picture_header(MpegEncContext *s)
 
     if (w->j_type) {
         ff_intrax8_decode_picture(&w->x8, 2 * s->qscale, (s->qscale - 1) | 1);
+
+        ff_er_add_slice(&w->s.er, 0, 0,
+                        (w->s.mb_x >> 1) - 1, (w->s.mb_y >> 1) - 1,
+                        ER_MB_END);
         return 1;
     }
 


======================================================================

diff --cc configure
index 993f352,578a48d..f167e3b
--- a/configure
+++ b/configure
@@@ -2257,9 -1860,8 +2257,8 @@@ error_resilience_select="me_cmp
  faandct_deps="faan fdctdsp"
  faanidct_deps="faan idctdsp"
  h264dsp_select="startcode"
 +frame_thread_encoder_deps="encoders threads"
- intrax8_select="error_resilience"
  mdct_select="fft"
 -rdft_select="fft"
  me_cmp_select="fdctdsp idctdsp pixblockdsp"
  mpeg_er_select="error_resilience"
  mpegaudio_select="mpegaudiodsp"
diff --cc libavcodec/intrax8.c
index cf01289,45fff96..1a820c3
--- a/libavcodec/intrax8.c
+++ b/libavcodec/intrax8.c
@@@ -21,9 -21,7 +21,8 @@@
   * @brief IntraX8 (J-Frame) subdecoder, used by WMV2 and VC-1
   */
  
 +#include "libavutil/avassert.h"
  #include "avcodec.h"
- #include "error_resilience.h"
  #include "get_bits.h"
  #include "idctdsp.h"
  #include "mpegvideo.h"
@@@ -719,10 -717,9 +718,10 @@@ av_cold void ff_intrax8_common_end(Intr
  /**
   * Decode single IntraX8 frame.
   * The parent codec must fill s->loopfilter and s->gb (bitstream).
-  * The parent codec must call ff_mpv_frame_start(), ff_er_frame_start() before calling this function.
-  * The parent codec must call ff_er_frame_end(), ff_mpv_frame_end() after calling this function.
+  * The parent codec must call ff_mpv_frame_start() before calling this function.
+  * The parent codec must call ff_mpv_frame_end() after calling this function.
   * This function does not use ff_mpv_decode_mb().
 + * lowres decoding is theoretically impossible.
   * @param w pointer to IntraX8Context
   * @param dquant doubled quantizer, it would be odd in case of VC-1 halfpq==1.
   * @param quant_offset offset away from zero



More information about the ffmpeg-cvslog mailing list