Mai*_*nto 1 assembly sse ffmpeg x86-64
在研究从yuv到ffb的ffmpeg转换时,我遇到了在程序集中实现的方程,yuv2rgb_template.c位于ffmpeg / libswscale / x86中。
我想知道packuswb指令的工作原理吗?Google说:
使用无符号饱和度将mm中的4个有符号字整数和mm / m64中的4个有符号字整数转换为mm中的8个无符号字节整数。
DEST[7:0] ? SaturateSignedWordToUnsignedByte DEST[15:0];
DEST[15:8] ? SaturateSignedWordToUnsignedByte DEST[31:16];
DEST[23:16] ? SaturateSignedWordToUnsignedByte DEST[47:32];
DEST[31:24] ? SaturateSignedWordToUnsignedByte DEST[63:48];
DEST[39:32] ? SaturateSignedWordToUnsignedByte SRC[15:0];
DEST[47:40] ? SaturateSignedWordToUnsignedByte SRC[31:16];
DEST[55:48] ? SaturateSignedWordToUnsignedByte SRC[47:32];
DEST[63:56] ? SaturateSignedWordToUnsignedByte SRC[63:48];
Run Code Online (Sandbox Code Playgroud)
由于我不知道Assembly x86,因此甚至很难对其进行仿真或调试当前代码。
我想知道它们如何适合8位中的16位?
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |