From: Charles Y. <cha...@pa...> - 2003-02-15 09:06:59
|
Hi, Found something that I think is interesting wrt encoding rgb24 images with libdv. Not sure how useful this info is to anyone, but here goes... As has been reported on numerous times before, repeated libdv encoding degrates pretty quickly (to me, this means that fx encoding in kino is a pretty lossy process). So it occurred to me that it might be interesting to try some kind of 2 pass cycle - ie: encode, decode, compare/correct, encode. I'd noticed that degradation over repeated encoding seemed to be fairly linear. So I took a rather naive compare/correction approach - I simply 'correct' each byte in the original input by adding the difference between that and the corresponding byte in the decoded image. Oddly enough, this does appear to work. The degradation in the image, while not entirely removed of course, is far less obvious... As a rather silly example, check: http://users.pandora.be/acp/test.png This image has been re-encoded with libdv 15 times, with the top half being 'corrected' and the bottom half being the normal output of libdv after that many iterations. The procedure is too slow for most machines (taking roughly 2.5x longer than the single encode). If anyone feels like seeing the theory in practice then the current kino CVS V_0_6_X-branch has an option to use this technique (the option is buried in the preferences/other dialogue). I don't know if there is a simple optimisation to this, but figured you guys might be interested. Cheers, Charlie |