summaryrefslogtreecommitdiffstats
path: root/vlc/build/schroedinger-1.0.6-fixes.patch
blob: 85215e48f6e2102ea91edec276f12760b7960828 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
diff --git a/schroedinger/schroasync-win32.c b/schroedinger/schroasync-win32.c
index 0912e81..3bf2fb0 100644
--- a/schroedinger/schroasync-win32.c
+++ b/schroedinger/schroasync-win32.c
@@ -166,8 +166,8 @@ void
 schro_async_start (SchroAsync *async)
 {
   int i;
-  for(i=0;i<async->n_threads) {
-    SetEvent (async->thread_event);
+  for(i=0;i<async->n_threads;i++) {
+    SetEvent (async->threads[i].event);
   }
 }
 
@@ -332,7 +332,7 @@ schro_thread_main (void *ptr)
      * a lot of unnecessary wakeups in some cases. */
     {
       int i;
-      for(i=0;i<async->n_threads) {
+      for(i=0;i<async->n_threads;i++) {
         SetEvent (async->thread_event);
       }
     }
diff --git a/schroedinger/schrodecoder.c b/schroedinger/schrodecoder.c
index d915c34..1ca348e 100644
--- a/schroedinger/schrodecoder.c
+++ b/schroedinger/schrodecoder.c
@@ -683,6 +683,7 @@ schro_decoder_pull (SchroDecoder *decoder)
 {
   SchroDecoderInstance *instance = decoder->instance;
   SchroPicture *picture = NULL;
+  SchroPictureNumber picture_number;
   SchroFrame *frame;
 
   schro_async_lock (decoder->async);
@@ -697,12 +698,12 @@ schro_decoder_pull (SchroDecoder *decoder)
 
   /* XXX would be nice to warn if expected picture not present */
   frame = schro_frame_ref (picture->output_picture);
+  picture_number = picture->picture_number;
   schro_picture_unref (picture);
 
   if (schro_decoder_frame_is_twofield (instance, frame)) do {
     /* only consider the 2nd field if it can reference
      * picture->output_picture, ie frame is twofields */
-    SchroPictureNumber picture_number = picture->picture_number;
     if (picture_number&1) {
       /* The following is voilated:
        * - 10.4p3 earliest field in each frame shall have an even picture number
diff --git a/testsuite/motion.c b/testsuite/motion.c
index 9c52683..60e5739 100644
--- a/testsuite/motion.c
+++ b/testsuite/motion.c
@@ -13,24 +13,6 @@
 #define OIL_ENABLE_UNSTABLE_API
 #include <liboil/liboilprofile.h>
 
-void
-schro_frame_data_clear (SchroFrameData *fd)
-{
-  int i;
-  for(i=0;i<fd->height;i++){
-    memset (SCHRO_FRAME_DATA_GET_LINE (fd, i), 0, fd->width);
-  }
-
-}
-
-void
-schro_frame_clear (SchroFrame *frame)
-{
-  schro_frame_data_clear (frame->components + 0);
-  schro_frame_data_clear (frame->components + 1);
-  schro_frame_data_clear (frame->components + 2);
-}
-
 int
 main (int argc, char *argv[])
 {
diff --git a/testsuite/motion2.c b/testsuite/motion2.c
index e90ff70..c6f4cc7 100644
--- a/testsuite/motion2.c
+++ b/testsuite/motion2.c
@@ -15,14 +15,6 @@
 #include <liboil/liboilrandom.h>
 
 void
-schro_frame_clear (SchroFrame *frame)
-{
-  memset(frame->components[0].data, 0, frame->components[0].length);
-  memset(frame->components[1].data, 0, frame->components[1].length);
-  memset(frame->components[2].data, 0, frame->components[2].length);
-}
-
-void
 schro_frame_create_pattern (SchroFrame *frame, int type)
 {
   int i,j,k;