# HG changeset patch # User rik # Date 1076942502 0 # Node ID 487d1638d161286ddd20d241be01e1c38b8a22de # Parent 47d7ce1050a6ff0049a3b9abb748278b111d703d fixing segfault: libavcodec doesn't allocate some buffers if avctx->thread_count == 0 diff -r 47d7ce1050a6 -r 487d1638d161 libmpcodecs/vf_zrmjpeg.c --- a/libmpcodecs/vf_zrmjpeg.c Mon Feb 16 09:28:56 2004 +0000 +++ b/libmpcodecs/vf_zrmjpeg.c Mon Feb 16 14:41:42 2004 +0000 @@ -360,6 +360,9 @@ /* alloc bogus avctx to keep MPV_common_init from segfaulting */ j->s->avctx = calloc(sizeof(*j->s->avctx), 1); + /* make MPV_common_init allocate important buffers, like s->block */ + j->s->avctx->thread_count = 1; + if (MPV_common_init(j->s) < 0) { free(j->s); free(j); diff -r 47d7ce1050a6 -r 487d1638d161 libvo/jpeg_enc.c --- a/libvo/jpeg_enc.c Mon Feb 16 09:28:56 2004 +0000 +++ b/libvo/jpeg_enc.c Mon Feb 16 14:41:42 2004 +0000 @@ -352,6 +352,9 @@ /* alloc bogus avctx to keep MPV_common_init from segfaulting */ j->s->avctx = calloc(sizeof(*j->s->avctx), 1); + /* make MPV_common_init allocate important buffers, like s->block */ + j->s->avctx->thread_count = 1; + if (MPV_common_init(j->s) < 0) { av_free(j->s); av_free(j);