--- libmpcodecs/vf_pullup2.c-save2 Sat Dec 6 18:11:27 2003 +++ libmpcodecs/vf_pullup2.c Sat Dec 6 18:17:27 2003 @@ -896,7 +896,7 @@ if (!p->planes[0][0]) init(p, mpi); if (mpi->type == MP_IMGTYPE_TEMP || - (mpi->type == MP_IMGTYPE_IPB && (mpi->flags & MP_IMGFLAG_READABLE))) + (mpi->type == MP_IMGTYPE_IPB && !(mpi->flags & MP_IMGFLAG_READABLE))) planes_idx = 2 + (++p->temp_idx & 1); else planes_idx = ++p->static_idx & 1; @@ -1224,7 +1224,9 @@ (ps->low.noise + ps->interlaced_low < (s->num_blocks>>8) || ps->sad.noise < 160))) { p->export_count++; - dmpi = vf_get_image(vf->next,mpi->imgfmt,MP_IMGTYPE_EXPORT,0,p->w, p->h); + dmpi = vf_get_image(vf->next, mpi->imgfmt, MP_IMGTYPE_EXPORT, + MP_IMGFLAG_PRESERVE|MP_IMGFLAG_READABLE, + p->w, p->h); if ((show_fields & 3) != 3) planes = old_planes; dmpi->planes[0] = planes[0]; dmpi->stride[0] = p->stride;