dst+= dstStride;
for (y=1; y<srcHeight; y++) {
- const x86_reg mmxSize= srcWidth&~15;
+ x86_reg mmxSize= srcWidth&~15;
+
+ if (mmxSize) {
__asm__ volatile(
"mov %4, %%"REG_a" \n\t"
"movq "MANGLE(mmx_ff)", %%mm0 \n\t"
NAMED_CONSTRAINTS_ADD(mmx_ff)
: "%"REG_a
);
+ } else {
+ mmxSize = 1;
+ dst[0] = (src[0] * 3 + src[srcStride]) >> 2;
+ dst[dstStride] = (src[0] + 3 * src[srcStride]) >> 2;
+ }
for (x=mmxSize-1; x<srcWidth-1; x++) {
dst[2*x +1]= (3*src[x+0] + src[x+srcStride+1])>>2;
int lumStride, int chromStride, int srcStride)
{
int y;
- const int chromWidth = FF_CEIL_RSHIFT(width, 1);
+ const int chromWidth = AV_CEIL_RSHIFT(width, 1);
for (y=0; y<height; y++) {
RENAME(extract_even)(src, ydst, width);
int lumStride, int chromStride, int srcStride)
{
int y;
- const int chromWidth = FF_CEIL_RSHIFT(width, 1);
+ const int chromWidth = AV_CEIL_RSHIFT(width, 1);
for (y=0; y<height; y++) {
RENAME(extract_even)(src, ydst, width);
int lumStride, int chromStride, int srcStride)
{
int y;
- const int chromWidth = FF_CEIL_RSHIFT(width, 1);
+ const int chromWidth = AV_CEIL_RSHIFT(width, 1);
for (y=0; y<height; y++) {
RENAME(extract_odd)(src, ydst, width);
int lumStride, int chromStride, int srcStride)
{
int y;
- const int chromWidth = FF_CEIL_RSHIFT(width, 1);
+ const int chromWidth = AV_CEIL_RSHIFT(width, 1);
for (y=0; y<height; y++) {
RENAME(extract_odd)(src, ydst, width);