|
|
@ -281,7 +281,7 @@ void ff_xvmc_decode_mb(MpegEncContext *s) |
|
|
|
if (s->flags & CODEC_FLAG_GRAY) { |
|
|
|
if (s->flags & CODEC_FLAG_GRAY) { |
|
|
|
if (s->mb_intra) { // intra frames are always full chroma blocks
|
|
|
|
if (s->mb_intra) { // intra frames are always full chroma blocks
|
|
|
|
for (i = 4; i < blocks_per_mb; i++) { |
|
|
|
for (i = 4; i < blocks_per_mb; i++) { |
|
|
|
memset(s->pblocks[i], 0, sizeof(short)*64); // so we need to clear them
|
|
|
|
memset(s->pblocks[i], 0, sizeof(*s->pblocks[i])*64); // so we need to clear them
|
|
|
|
if (!render->unsigned_intra) |
|
|
|
if (!render->unsigned_intra) |
|
|
|
s->pblocks[i][0] = 1 << 10; |
|
|
|
s->pblocks[i][0] = 1 << 10; |
|
|
|
} |
|
|
|
} |
|
|
@ -309,7 +309,7 @@ void ff_xvmc_decode_mb(MpegEncContext *s) |
|
|
|
// copy blocks only if the codec doesn't support pblocks reordering
|
|
|
|
// copy blocks only if the codec doesn't support pblocks reordering
|
|
|
|
if (s->avctx->xvmc_acceleration == 1) { |
|
|
|
if (s->avctx->xvmc_acceleration == 1) { |
|
|
|
memcpy(&render->data_blocks[render->next_free_data_block_num*64], |
|
|
|
memcpy(&render->data_blocks[render->next_free_data_block_num*64], |
|
|
|
s->pblocks[i], sizeof(short)*64); |
|
|
|
s->pblocks[i], sizeof(*s->pblocks[i])*64); |
|
|
|
} |
|
|
|
} |
|
|
|
render->next_free_data_block_num++; |
|
|
|
render->next_free_data_block_num++; |
|
|
|
} |
|
|
|
} |
|
|
|