|
|
|
@@ -556,8 +556,8 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx) |
|
|
|
s->y_block_height * sizeof(int32_t)); |
|
|
|
s->ssd_int8_vs_int16 = ssd_int8_vs_int16_c; |
|
|
|
|
|
|
|
if (!s->m.me.scratchpad || !s->m.me.map || !s->m.me.score_map || |
|
|
|
!s->mb_type || !s->dummy) { |
|
|
|
if (!s->m.me.temp || !s->m.me.scratchpad || !s->m.me.map || |
|
|
|
!s->m.me.score_map || !s->mb_type || !s->dummy) { |
|
|
|
svq1_encode_end(avctx); |
|
|
|
return AVERROR(ENOMEM); |
|
|
|
} |
|
|
|
@@ -622,8 +622,15 @@ static int svq1_encode_frame(AVCodecContext *avctx, AVPacket *pkt, |
|
|
|
s->frame_width / (i ? 4 : 1), |
|
|
|
s->frame_height / (i ? 4 : 1), |
|
|
|
pict->linesize[i], |
|
|
|
s->current_picture->linesize[i]) < 0) |
|
|
|
s->current_picture->linesize[i]) < 0) { |
|
|
|
int j; |
|
|
|
for (j = 0; j < i; j++) { |
|
|
|
av_freep(&s->motion_val8[j]); |
|
|
|
av_freep(&s->motion_val16[j]); |
|
|
|
} |
|
|
|
av_freep(&s->scratchbuf); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
// avpriv_align_put_bits(&s->pb); |
|
|
|
while (put_bits_count(&s->pb) & 31) |
|
|
|
|