[FFmpeg-devel] ZMBV Improved Motion Estimation

Kostya kostya.shishkov
Thu May 8 08:42:54 CEST 2008


On Wed, May 07, 2008 at 10:27:13PM -0700, Mike Melanson wrote:
> Hi,
> 
> I have been studying ZMBV (DosBox Capture Codec) for improvement 
> opportunities. One of the first items I noticed was the motion 
> estimator's block comparison function. Presently, the function XOR's 2 
> blocks together bytewise and sums all XOR'd bytes, choosing the block 
> with the lowest sum. This might help minimize error if the bytes in each 
> block represented intensity levels. However, in this case, the bytes are 
> palette indices and are more or less random numbers.
> 
> I propose that it would be more effective to simply sum the number of 
> bytes between 2 blocks that are different. I also obtained some hard 
> numbers using FLI files (the -new files use the attached patch):
> 
> $ dir *.avi
>   17104594 2008-05-07 21:44 zmbv-capcom.avi
>   16850122 2008-05-07 21:47 zmbv-capcom-new.avi
>     796366 2008-05-07 21:55 zmbv-crusher.avi
>     794910 2008-05-07 21:59 zmbv-crusher-new.avi
>    2364794 2008-05-07 21:53 zmbv-float.avi
>    2300892 2008-05-07 21:51 zmbv-float-new.avi

I remember I tested it on my favourite format (Sierra VMD) where XOR'ing
performed better but I'm not against any other metric.
Feel free to make more generic motion estimation too ;)
 
> -- 
> 	-Mike Melanson




More information about the ffmpeg-devel mailing list