--- trunk/xvidcore/src/image/image.c 2010/12/30 11:47:06 1932 +++ trunk/xvidcore/src/image/image.c 2019/01/17 14:25:05 2173 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: image.c,v 1.47 2010-12-30 11:46:08 Isibaar Exp $ + * $Id$ * ****************************************************************************/ @@ -127,8 +127,10 @@ memcpy(image1->v, image2->v, edged_width * height / 4); } -/* setedges bug was fixed in this BS version */ +/* setedges bug was in this BS versions */ #define SETEDGES_BUG_BEFORE 18 +#define SETEDGES_BUG_AFTER 57 +#define SETEDGES_BUG_REFIXED 63 void image_setedges(IMAGE * image, @@ -149,7 +151,9 @@ /* According to the Standard Clause 7.6.4, padding is done starting at 16 * pixel width and height multiples. This was not respected in old xvids */ - if (bs_version >= SETEDGES_BUG_BEFORE) { + if ((bs_version >= SETEDGES_BUG_BEFORE && + bs_version < SETEDGES_BUG_AFTER) || + bs_version >= SETEDGES_BUG_REFIXED) { width = (width+15)&~15; height = (height+15)&~15; } @@ -411,10 +415,10 @@ /* packed conversions require height to be divisable by 2 (or even by 4 for interlaced conversion) */ - if (interlacing) - height_opt = height & (~3); - else - height_opt = height & (~1); + if (interlacing) + height_opt = height & (~3); + else + height_opt = height & (~1); func_opt(x_ptr, x_stride, y_ptr, u_ptr, v_ptr, y_stride, uv_stride,