Hi,

I'd like some eyes on this patch and it's visual effects.

To test, please try "ffplay tests/data/vsynth1/error-mpeg4-adv.avi"
before and after applying the patch. Also see:
http://ronald.bitfreak.net/images/er.png
Where left is always after the patch and right is before. Some people
on IRC already noted: some parts are worse (blue/red rectangles),
other parts (especially the splotch of diagonal lines in the
bottom-right) look better after the patch. I personally feel that the
ffplay-sequence looks better to the eye after the patch, but would
like opinions. You can try vsynth2-error also but the MVs are pretty
constant there so you won't see much of a difference.

What the patch does:
- current code uses current_picture.motion_val[cur_idx] to access the
previous frame's MVs. This is wrong. current_picture doesn't hold the
previous frame's MVs, they are the MVs of several frames ago for which
wer'e reusing the same memory pointer. The last frame is in
last_frame.motion_val[]. The reason this is non-deterministic is
because the value of the memory pointer differs if threading is used.
For last_frame.*[], this becomes deterministic.
- so the patch changes it to use last_frame instead of current_frame.

Please let me know opinions.

Ronald

Attachment: 0001-error_resilience-use-s-last_picture-for-accessing-la.patch
Description: Binary data

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to