[FFmpeg-cvslog] r15804 - in trunk/libavcodec: avcodec.h beosthread.c dnxhdenc.c dv.c h264.c mpeg12.c mpegvideo_enc.c os2thread.c pthread.c utils.c w32thread.c
Uoti Urpala
uoti.urpala
Wed Nov 12 22:29:56 CET 2008
On Wed, 2008-11-12 at 18:47 +0100, romansh wrote:
> Author: romansh
> Date: Wed Nov 12 18:47:23 2008
> New Revision: 15804
>
> Log:
> Making it easier to send arbitrary structures as work orders to MT workers
> Modified: trunk/libavcodec/h264.c
> ==============================================================================
> --- trunk/libavcodec/h264.c (original)
> +++ trunk/libavcodec/h264.c Wed Nov 12 18:47:23 2008
> @@ -6626,7 +6626,8 @@ static void filter_mb( H264Context *h, i
> }
> }
>
> -static int decode_slice(struct AVCodecContext *avctx, H264Context *h){
> +static int decode_slice(struct AVCodecContext *avctx, void *arg){
> + H264Context *h = *(void**)arg;
> MpegEncContext * const s = &h->s;
> const int part_mask= s->partitioned_frame ? (AC_END|AC_ERROR) : 0x7F;
>
> @@ -7346,7 +7347,7 @@ static void execute_decode_slices(H264Co
> }
>
> avctx->execute(avctx, (void *)decode_slice,
> - (void **)h->thread_context, NULL, context_count);
> + (void **)h->thread_context, NULL, context_count, sizeof(void*));
>
> /* pull back stuff from slices to master context */
> hx = h->thread_context[context_count - 1];
>
static void execute_decode_slices(H264Context *h, int context_count){
MpegEncContext * const s = &h->s;
AVCodecContext * const avctx= s->avctx;
H264Context *hx;
int i;
if(context_count == 1) {
decode_slice(avctx, h);
^^^^^^^^^^^^^^^^^^^^^^^
More information about the ffmpeg-cvslog
mailing list