--- libmpcodecs/vf_filmdint.c-save Sun Dec 7 03:47:16 2003 +++ libmpcodecs/vf_filmdint.c Sun Dec 7 19:18:09 2003 @@ -622,11 +622,6 @@ : /* no output */ : "rm" (t) ); - cmmx_t thr; - t |= t << 8; - thr = t | (t << 16); - if (sizeof(cmmx_t) > 4) - thr |= thr << (sizeof(cmmx_t)*4); do { asm volatile ( "movq (%0), %%mm0\n\t" @@ -883,8 +878,8 @@ p->crop_cx = p->crop_x >> mpi->chroma_x_shift; p->crop_cy = p->crop_y >> mpi->chroma_y_shift; if (mpi->flags & MP_IMGFLAG_ACCEPT_STRIDE) { - p->stride = (mpi->width + 15) & ~15; - p->chroma_stride = (mpi->chroma_width + 15) & ~15; + p->stride = (mpi->w + 15) & ~15; + p->chroma_stride = p->stride >> mpi->chroma_x_shift; } else { p->stride = mpi->width; p->chroma_stride = mpi->chroma_width; @@ -1359,8 +1354,8 @@ } } p->chroma_swapped = !!(p->crop_y & (cym+1)); - p->w += p->crop_x & cxm; - p->h += p->crop_y & cym; + if (p->w) p->w += p->crop_x & cxm; + if (p->h) p->h += p->crop_y & cym; p->crop_x &= ~cxm; p->crop_y &= ~cym; if (!p->w || p->w > width ) p->w = width;