dvenc: do not call dsputil functions with stride not a multiple of 16
Allowing dsputil functions to assume the stride is a multiple of 16 even for smaller block sizes can simplify their implementation. This appears to be the only place this guarantee is not met. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
f7ff099997
commit
c75eca9d37
@ -662,7 +662,7 @@ static int dv_encode_video_segment(AVCodecContext *avctx, void *arg)
|
||||
int mb_x, mb_y, c_offset, linesize, y_stride;
|
||||
uint8_t* y_ptr;
|
||||
uint8_t* dif;
|
||||
LOCAL_ALIGNED_8(uint8_t, scratch, [64]);
|
||||
LOCAL_ALIGNED_8(uint8_t, scratch, [128]);
|
||||
EncBlockInfo enc_blks[5*DV_MAX_BPM];
|
||||
PutBitContext pbs[5*DV_MAX_BPM];
|
||||
PutBitContext* pb;
|
||||
@ -717,10 +717,10 @@ static int dv_encode_video_segment(AVCodecContext *avctx, void *arg)
|
||||
b[0] = c_ptr[0]; b[1] = c_ptr[1]; b[2] = c_ptr[2]; b[3] = c_ptr[3];
|
||||
b[4] = d[0]; b[5] = d[1]; b[6] = d[2]; b[7] = d[3];
|
||||
c_ptr += linesize;
|
||||
b += 8;
|
||||
b += 16;
|
||||
}
|
||||
c_ptr = scratch;
|
||||
linesize = 8;
|
||||
linesize = 16;
|
||||
}
|
||||
|
||||
vs_bit_size += dv_init_enc_block( enc_blk++, c_ptr , linesize, s, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user