Revision 3732c483

View differences:

libavcodec/error_resilience.c
381 381
        fixed[mb_xy]= f;
382 382
        if(f==MV_FROZEN)
383 383
            num_avail++;
384
        else if(s->last_picture.data[0]){
385
            const int mb_y= mb_xy / s->mb_stride;
386
            const int mb_x= mb_xy % s->mb_stride;
387
            const int mot_index= (mb_x + mb_y*mot_stride) * mot_step;
388
            s->current_picture.motion_val[0][mot_index][0]= s->last_picture.motion_val[0][mot_index][0];
389
            s->current_picture.motion_val[0][mot_index][1]= s->last_picture.motion_val[0][mot_index][1];
390
            s->current_picture.ref_index[0][4*mb_xy]      = s->last_picture.ref_index[0][4*mb_xy];
391
        }
384 392
    }
385 393

  
386 394
    if((!(s->avctx->error_concealment&FF_EC_GUESS_MVS)) || num_avail <= mb_width/2){
tests/ref/vsynth1/error
1 1
7416dfd319f04044d4575dc9d1b406e1 *./tests/data/vsynth1/error-mpeg4-adv.avi
2 2
756836 ./tests/data/vsynth1/error-mpeg4-adv.avi
3
ef8bfcd6e0883daba95d0f32486ebe2d *./tests/data/error.vsynth1.out.yuv
4
stddev:   18.05 PSNR: 23.00 MAXDIFF:  245 bytes:  7603200/  7603200
3
79e94ba32b37759397362cbcb479d4d3 *./tests/data/error.vsynth1.out.yuv
4
stddev:   18.36 PSNR: 22.85 MAXDIFF:  243 bytes:  7603200/  7603200
tests/ref/vsynth2/error
1 1
90e65096aa9ebafa3fe3f44a5a47cdc4 *./tests/data/vsynth2/error-mpeg4-adv.avi
2 2
176588 ./tests/data/vsynth2/error-mpeg4-adv.avi
3
9fe1082179f80179439953c7397a46ef *./tests/data/error.vsynth2.out.yuv
4
stddev:    9.00 PSNR: 29.04 MAXDIFF:  168 bytes:  7603200/  7603200
3
96baa9e4c24c837a3ba5abd8dd2cdd30 *./tests/data/error.vsynth2.out.yuv
4
stddev:    8.98 PSNR: 29.06 MAXDIFF:  184 bytes:  7603200/  7603200

Also available in: Unified diff