changeset 2073:95d303a305d2 libavcodec

fix initialization bug in which execution overwrites essential data tables which causes trouble on subsequent runs if decoder is not disposed first
author melanson
date Fri, 11 Jun 2004 02:24:08 +0000
parents c200977cdf78
children 2faafe7a3db6
files truemotion1.c
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/truemotion1.c	Thu Jun 10 22:56:43 2004 +0000
+++ b/truemotion1.c	Fri Jun 11 02:24:08 2004 +0000
@@ -62,10 +62,10 @@
     int block_width;
     int block_height;
 
-    int16_t *ydt;
-    int16_t *cdt;
-    int16_t *fat_ydt;
-    int16_t *fat_cdt;
+    int16_t ydt[8];
+    int16_t cdt[8];
+    int16_t fat_ydt[8];
+    int16_t fat_cdt[8];
     
     int last_deltaset, last_vectable;
 
@@ -146,10 +146,10 @@
     if (delta_table_index > 3)
         return;
 
-    s->ydt = ydts[delta_table_index];
-    s->cdt = cdts[delta_table_index];
-    s->fat_ydt = fat_ydts[delta_table_index];
-    s->fat_cdt = fat_cdts[delta_table_index];
+    memcpy(s->ydt, ydts[delta_table_index], 8 * sizeof(int16_t));
+    memcpy(s->cdt, cdts[delta_table_index], 8 * sizeof(int16_t));
+    memcpy(s->fat_ydt, fat_ydts[delta_table_index], 8 * sizeof(int16_t));
+    memcpy(s->fat_cdt, fat_cdts[delta_table_index], 8 * sizeof(int16_t));
 
     /* Y skinny deltas need to be halved for some reason; maybe the
      * skinny Y deltas should be modified */