[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