The source is 384x288, 25fps progressive, cell phone quality, plenty of encoding artifacts, compressed in a format that is not very compatible with a lot of players. I want to re-encode it to something compatible with most players today (iPhone, PSP, PS3, etc.) - MP4 with AVC/AAC. To eliminate any issue related to the image size, I want to scale it to 640x480. That size should be definitely playable by most players. The important feature here is compatibility with existing players, and a future-proof format. The question is, which resize function to use? I could use BilinearResize() on the hypothesis that this function will "smooth" the artifacts somewhat. On the other hand, this may introduce blur. Or I could use Spline36Resize() in order to preserve as much of the original information as possible. On the other hand, this may accentuate the artifacts. I will do some experiments myself, but meanwhile I was wondering if somebody has already figured out a rule to apply in such cases - scaling up almost 2x an artifact-ish source. Assume the x264 bitrate is high enough so that no (visible) additional artifacts are introduced during this conversion.