diff options
author | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2016-04-17 19:09:12 +0100 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2016-04-17 19:09:12 +0100 |
commit | 909f5e71001f77a22fb76c440c9f73643b0c943b (patch) | |
tree | aa1136ea78be3d5940dda6779c99c97cb9c2dd12 | |
parent | dff9894acdf83121b32aa8233d03c9e5dcd547c0 (diff) | |
parent | 0c6a70873fc6e43194b471d112c30823b6c8d0b4 (diff) | |
download | ffmpeg-909f5e71001f77a22fb76c440c9f73643b0c943b.tar.gz |
Merge commit '0c6a70873fc6e43194b471d112c30823b6c8d0b4'
* commit '0c6a70873fc6e43194b471d112c30823b6c8d0b4':
intrax8: Move error resilience out of intrax8
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | libavcodec/intrax8.c | 10 | ||||
-rw-r--r-- | libavcodec/vc1_block.c | 4 | ||||
-rw-r--r-- | libavcodec/wmv2dec.c | 4 |
4 files changed, 11 insertions, 10 deletions
@@ -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 cf01289fdf..1a820c372c 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 255ba1da70..c74788b99c 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 99c95d397a..0c2f14d55a 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; } |