mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
fix block corruption caused by clear_blocks() optimization
Originally committed as revision 4202 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
6b51185c63
commit
1c02a9732a
@ -587,11 +587,10 @@ static inline int wmv2_decode_inter_block(Wmv2Context *w, DCTELEM *block, int n,
|
|||||||
static void wmv2_add_block(Wmv2Context *w, DCTELEM *block1, uint8_t *dst, int stride, int n){
|
static void wmv2_add_block(Wmv2Context *w, DCTELEM *block1, uint8_t *dst, int stride, int n){
|
||||||
MpegEncContext * const s= &w->s;
|
MpegEncContext * const s= &w->s;
|
||||||
|
|
||||||
|
if (s->block_last_index[n] >= 0) {
|
||||||
switch(w->abt_type_table[n]){
|
switch(w->abt_type_table[n]){
|
||||||
case 0:
|
case 0:
|
||||||
if (s->block_last_index[n] >= 0) {
|
|
||||||
s->dsp.idct_add (dst, stride, block1);
|
s->dsp.idct_add (dst, stride, block1);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
simple_idct84_add(dst , stride, block1);
|
simple_idct84_add(dst , stride, block1);
|
||||||
@ -606,6 +605,7 @@ static void wmv2_add_block(Wmv2Context *w, DCTELEM *block1, uint8_t *dst, int st
|
|||||||
default:
|
default:
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\n");
|
av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\n");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_wmv2_add_mb(MpegEncContext *s, DCTELEM block1[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr){
|
void ff_wmv2_add_mb(MpegEncContext *s, DCTELEM block1[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr){
|
||||||
|
Loading…
Reference in New Issue
Block a user