summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2004-06-11 02:25:56 +0000
committerMike Melanson <mike@multimedia.cx>2004-06-11 02:25:56 +0000
commitcda7393846ea62539cb4582eff20b6b83c4fca81 (patch)
tree6f9507c77938e43901bde68d2aa34b19151200d1
parentcc9ab1c7f1ef1b8ddbc176c77aeeee1837fbbdc7 (diff)
downloadxine-lib-cda7393846ea62539cb4582eff20b6b83c4fca81.tar.gz
xine-lib-cda7393846ea62539cb4582eff20b6b83c4fca81.tar.bz2
fix init bug that manifests when decoder is not disposed between
initializations CVS patchset: 6672 CVS date: 2004/06/11 02:25:56
-rw-r--r--src/libffmpeg/libavcodec/truemotion1.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libffmpeg/libavcodec/truemotion1.c b/src/libffmpeg/libavcodec/truemotion1.c
index b742d80be..5f32227fe 100644
--- a/src/libffmpeg/libavcodec/truemotion1.c
+++ b/src/libffmpeg/libavcodec/truemotion1.c
@@ -62,10 +62,10 @@ typedef struct TrueMotion1Context {
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 @@ static void select_delta_tables(TrueMotion1Context *s, int delta_table_index)
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 */