diff options
author | Mike Melanson <mike@multimedia.cx> | 2003-12-04 14:14:43 +0000 |
---|---|---|
committer | Mike Melanson <mike@multimedia.cx> | 2003-12-04 14:14:43 +0000 |
commit | 6952f12338a947a048a5cd5ca553aad4269aa7f3 (patch) | |
tree | 83fa855e8fe56da5f25bc52bc35c0afdc33ed744 /libavcodec/truemotion1.c | |
parent | 9a197a24c634e4c0c4f02826f988c0ab8d0129c8 (diff) | |
download | ffmpeg-6952f12338a947a048a5cd5ca553aad4269aa7f3.tar.gz |
this should make the decoder safe for big-endian platforms
Originally committed as revision 2560 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/truemotion1.c')
-rw-r--r-- | libavcodec/truemotion1.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c index 7f5fafea0a..ebd0ad5229 100644 --- a/libavcodec/truemotion1.c +++ b/libavcodec/truemotion1.c @@ -164,7 +164,11 @@ static void select_delta_tables(TrueMotion1Context *s, int delta_table_index) } } +#ifdef WORDS_BIGENDIAN +static int make_ydt_entry(int p2, int p1, int16_t *ydt) +#else static int make_ydt_entry(int p1, int p2, int16_t *ydt) +#endif { int lo, hi; @@ -175,7 +179,11 @@ static int make_ydt_entry(int p1, int p2, int16_t *ydt) return ((lo + (hi << 16)) << 1); } +#ifdef WORDS_BIGENDIAN +static int make_cdt_entry(int p2, int p1, int16_t *cdt) +#else static int make_cdt_entry(int p1, int p2, int16_t *cdt) +#endif { int r, b, lo; @@ -438,8 +446,7 @@ static void truemotion1_decode_16bit(TrueMotion1Context *s) case 0: /* if macroblock width is 2, apply C-Y-C-Y; else * apply C-Y-Y */ - if ((s->block_type == BLOCK_2x2) || - (s->block_type == BLOCK_2x4)) { + if (s->block_width == 2) { APPLY_C_PREDICTOR(); APPLY_Y_PREDICTOR(); OUTPUT_PIXEL_PAIR(); |