Commit 9e42e70c authored by Michael Niedermayer's avatar Michael Niedermayer

indeo3 for bigendian patch by (demo-n <demo-n users.sourceforge net)

Originally committed as revision 4016 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent deb13e3c
...@@ -463,10 +463,11 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s, ...@@ -463,10 +463,11 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s,
lp2++; lp2++;
break; break;
case 1: case 1:
res = ((le2me_16(((unsigned short *)(ref_lp))[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1++]) << 1; res = ((le2me_16(((unsigned short *)(ref_lp))[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1;
((unsigned short *)cur_lp)[0] = le2me_16(res); ((unsigned short *)cur_lp)[0] = le2me_16(res);
res = ((le2me_16(((unsigned short *)(ref_lp))[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; res = ((le2me_16(((unsigned short *)(ref_lp))[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1;
((unsigned short *)cur_lp)[1] = le2me_16(res); ((unsigned short *)cur_lp)[1] = le2me_16(res);
buf1++;
lp2++; lp2++;
break; break;
case 2: case 2:
...@@ -570,7 +571,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s, ...@@ -570,7 +571,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s,
break; break;
case 1: case 1:
res = ((le2me_16(((unsigned short *)ref_lp)[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1++]) << 1; res = ((le2me_16(((unsigned short *)ref_lp)[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1;
((unsigned short *)cur_lp)[width_tbl[2]] = le2me_16(res); ((unsigned short *)cur_lp)[width_tbl[2]] = le2me_16(res);
res = ((le2me_16(((unsigned short *)ref_lp)[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; res = ((le2me_16(((unsigned short *)ref_lp)[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1;
((unsigned short *)cur_lp)[width_tbl[2]+1] = le2me_16(res); ((unsigned short *)cur_lp)[width_tbl[2]+1] = le2me_16(res);
...@@ -579,6 +580,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s, ...@@ -579,6 +580,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s,
cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE;
else else
cur_lp[0] = cur_lp[width_tbl[1]]; cur_lp[0] = cur_lp[width_tbl[1]];
buf1++;
lp2++; lp2++;
break; break;
...@@ -702,7 +704,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s, ...@@ -702,7 +704,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s,
break; break;
case 1: case 1:
cur_lp[width_tbl[1]] = le2me_32(((le2me_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][*buf1++]) << 1); cur_lp[width_tbl[1]] = le2me_32(((le2me_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][*buf1]) << 1);
cur_lp[width_tbl[1]+1] = le2me_32(((le2me_32(lv2) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1); cur_lp[width_tbl[1]+1] = le2me_32(((le2me_32(lv2) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1);
if(lp2 > 0 || strip->ypos != 0 || flag1 == 0) { if(lp2 > 0 || strip->ypos != 0 || flag1 == 0) {
cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE;
...@@ -711,6 +713,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s, ...@@ -711,6 +713,7 @@ static void iv_Decode_Chunk(Indeo3DecodeContext *s,
cur_lp[0] = cur_lp[width_tbl[1]]; cur_lp[0] = cur_lp[width_tbl[1]];
cur_lp[1] = cur_lp[width_tbl[1]+1]; cur_lp[1] = cur_lp[width_tbl[1]+1];
} }
buf1++;
lp2++; lp2++;
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment