diff dv.c @ 8129:a9734fe0811e libavcodec

Making it easier to send arbitrary structures as work orders to MT workers
author romansh
date Wed, 12 Nov 2008 17:47:23 +0000
parents 890df98a7848
children c30bdda1adb1
line wrap: on
line diff
--- a/dv.c	Wed Nov 12 17:29:02 2008 +0000
+++ b/dv.c	Wed Nov 12 17:47:23 2008 +0000
@@ -1013,14 +1013,14 @@
 
 static int dv_decode_mt(AVCodecContext *avctx, void* sl)
 {
-    dv_decode_video_segment((DVVideoContext *)avctx->priv_data, (size_t)sl);
+    dv_decode_video_segment((DVVideoContext *)avctx->priv_data, *(size_t*)sl);
     return 0;
 }
 
 #ifdef CONFIG_DVVIDEO_ENCODER
 static int dv_encode_mt(AVCodecContext *avctx, void* sl)
 {
-    dv_encode_video_segment((DVVideoContext *)avctx->priv_data, (size_t)sl);
+    dv_encode_video_segment((DVVideoContext *)avctx->priv_data, *(size_t*)sl);
     return 0;
 }
 #endif
@@ -1056,7 +1056,7 @@
 
     s->buf = buf;
     avctx->execute(avctx, dv_decode_mt, s->sys->work_chunks, NULL,
-                   dv_work_pool_size(s->sys));
+                   dv_work_pool_size(s->sys), sizeof(void*));
 
     emms_c();
 
@@ -1209,7 +1209,7 @@
 
     s->buf = buf;
     c->execute(c, dv_encode_mt, s->sys->work_chunks, NULL,
-               dv_work_pool_size(s->sys));
+               dv_work_pool_size(s->sys), sizeof(void*));
 
     emms_c();