|
发表于 2006-5-17 13:16:16
|
显示全部楼层
AVS on PowerPC
Post by realtang
祝贺你移植AVS到PowerPC上成功,能否把改后的代码让大家也分享一下。我也可以把它并入mplayer-avs_0.0.3中去。
从哪里可以看出来我的系统每秒播放的帧数? 谢谢!
1. vd_avs.c
109c117,119
< if( GetOneFrameBitsFromBuffer(data + used, len, &dwFrameLen, &dw
NouseDataLen) != 1 )
---
> dwNouseDataLen = 0;
> if( GetOneFrameBitsFromBuffer(data + used, len-used, &dwFrameLen
, &dwNouseDataLen) != 1 )
2. vlc.h里的所有字符数组定义由const char 改成const signed char
3. global.h 我直接修改了函数DWORD_SWAP,我想这个函数需要根据平台的字节序来定义
4. avsdeclib.cpp
135,136d135
< //zhusj
< iBufLen = iLeft;
5. decode.cpp
InitDecode()里:从 if((dwCode & 0x00FFFFFF) == 0x00010000)改成了 if((dwCode & 0xFFFFFF00) == 0x00000100),需要根据平台的字节序来定义
6. global.cpp 需要根据平台的字节序来定义
114,120c112,114
< // ((*(AVS_DWORD *)pbCurrent) != 0xB3010000) &&
< // ((*(AVS_DWORD *)pbCurrent) != 0xB6010000) &&
< // ((*(AVS_DWORD *)pbCurrent) != 0xB1010000)
< ((*(AVS_DWORD *)pbCurrent) != 0x000001B3) &&
< ((*(AVS_DWORD *)pbCurrent) != 0x000001B6) &&
< ((*(AVS_DWORD *)pbCurrent) != 0x000001B1)
---
> ((*(AVS_DWORD *)pbCurrent) != 0xB3010000) &&
> ((*(AVS_DWORD *)pbCurrent) != 0xB6010000) &&
> ((*(AVS_DWORD *)pbCurrent) != 0xB1010000)
7. vlc.cpp
改变数组定义
//char AVS_2DVLC_INTRA_dec[7][64][2]={{{-1,-1}}};
//char AVS_2DVLC_INTER_dec[7][64][2]={{{-1,-1}}};
//char AVS_2DVLC_CHROMA_dec[5][64][2]={{{-1,-1}}};
signed char AVS_2DVLC_INTRA_dec[7][64][2]={{{-1,-1}}};
signed char AVS_2DVLC_INTER_dec[7][64][2]={{{-1,-1}}};
signed char AVS_2DVLC_CHROMA_dec[5][64][2]={{{-1,-1}}}; |
|