--- branches/dev-api-4/xvidcore/vfw/src/codec.c 2003/06/10 10:07:03 1061 +++ branches/dev-api-4/xvidcore/vfw/src/codec.c 2003/07/13 11:04:50 1087 @@ -486,6 +486,8 @@ for (i=0; inum_zones && config->zones[i].frame <= framenum; i++) ; i--; + frame->type = config->zones[i].type; + if (config->zones[i].greyscale) { frame->vop_flags |= XVID_VOP_GREYSCALE; } @@ -529,7 +531,7 @@ } } - if ((profiles[codec->config.profile].flags & PROFILE_REDUCED) && + if ((profiles[codec->config.profile].flags & PROFILE_REDUCED) && codec->config.reduced_resolution) { frame.vol_flags |= XVID_VOL_REDUCED_ENABLE; frame.vop_flags |= XVID_VOP_REDUCED; /* XXX: need auto decion mode */ @@ -540,8 +542,10 @@ frame.motion |= XVID_ME_QUARTERPELREFINE16 | XVID_ME_QUARTERPELREFINE8; } - if ((profiles[codec->config.profile].flags & PROFILE_GMC) && codec->config.gmc) + if ((profiles[codec->config.profile].flags & PROFILE_GMC) && codec->config.gmc) { frame.vol_flags |= XVID_VOL_GMC; + frame.motion |= XVID_GME_REFINE; + } if ((profiles[codec->config.profile].flags & PROFILE_INTERLACE) && codec->config.interlacing) frame.vol_flags |= XVID_VOL_INTERLACING;