X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fmotion_est%2FREADME;h=5542d3f2a2fb1b8dc6bb508bab8e5db6e750d03f;hb=84425c1be5307863eea88f29e285df38026b6984;hp=b5ea3a42b0666befb17aa448b728fee43ce3b0d0;hpb=98c26d8006a0778435f801a35a3ca9e692f103d0;p=melted diff --git a/src/modules/motion_est/README b/src/modules/motion_est/README index b5ea3a4..5542d3f 100644 --- a/src/modules/motion_est/README +++ b/src/modules/motion_est/README @@ -1,36 +1,64 @@ +INTRO: + +This module is designed to provide application agnostic motion estimation. +I wrote it from scratch because I found the other Open Source code to be +limited by their difficulty of reuse. + + COMPILE: -This module performs motion estimation and ancillary functions. To compile this module, you must supply these options to the root configure script: +To compile this module, you must supply these options to the root configure script: --enable-gpl --enable-motion-est EXAMPLES: -> inigo -filter motion_est +Estimate the motion: + + > inigo -filter motion_est -But that won't be very interesting. Do this to display the motion vectors: +To display the motion vectors as pretty arrows: -> inigo -filter motion_est -filter vismv + > inigo -filter motion_est -filter vismv If your using a movie file that contains a crop, you will get better results with this: -> inigo -filter crop_detect -filter motion_est -filter vismv + > inigo -filter crop_detect -filter motion_est -filter vismv If your computer is unable to do the above examples in real time, try this: -> inigo -filter motion_est -filter vismv -consumer inigo real_time=0 + > inigo -filter motion_est -filter vismv -consumer inigo real_time=0 + +If you'd like to see the motion vectors without the median denoising function, do this: + + > inigo -filter motion_est denoise=0 -filter vismv + +To reconstruct each frame by applying the motion to the previous frame: -If you'd like to see the motion vectors before the median denoising function is applied, do this: + > inigo -filter motion_est show_reconstruction=1 -> inigo -filter motion_est denoise=0 -filter vismv +To compare the reconstructed frame and the real frame (while paused): + + > inigo -filter motion_est show_reconstruction=1 toggle_when_paused=1 + +To show the difference (residual) between the reconstructed frame the real frame: + + > inigo -filter motion_est show_residual=1 To automatically track an object in the frame, try this: -> inigo -filter autotrack_rectangle:X,Y:WxH debug=1 + > inigo -filter autotrack_rectangle:X,Y:WxH debug=1 (Where X,Y is the origin of the rectangle indexed from upper left and WxH is the dimensions of the rectangle.) +To obscure that same object in the frame, try this: + + > inigo -filter autotrack_rectangle:X,Y:WxH obscure=1 + +There is now a slow motion producer that does interpolation based on the motion vectors: + + > inigo slowmotion: _speed=0.1 method=1 debug=1 NOTES (and deficiencies): @@ -40,7 +68,7 @@ NOTES (and deficiencies): that would be calculated while playing the footage from start to finish, nonstop. Stepping forward should be fine after a few frames, however. -3. SSE instructions are lazily assumed. MMX and Altivec would be good too. +3. SSE instructions are lazily assumed. MMX, Altivec, and SIMD-less would be good too. 4. Motion estimation is only performed in the luma color space. @@ -48,7 +76,7 @@ NOTES (and deficiencies): 6. Motion vectors are not serializable yet. -7. A diligent test suite is needed. +7. A diligent test suite is needed. (show_reconstruction & show_residual are a start) 8. Multithreaded code will see HUGE benefits on multi-CPU systems. Donations of a multi-core cpu or a multi-cpu system to the author will encourage development. @@ -59,10 +87,10 @@ NOTES (and deficiencies): 11. Shot change works well but arbitrarily chosen thresholds need to be tuned. -12. Given the nature of documentation of other motion estimation code bases, I will GLADLY clarify and +12. Given the documentation of other motion estimation code bases, I will GLADLY clarify and document any piece of code upon request. -13. Considerable effort has been put into the speed. +13. Considerable effort has been put into the speed. I usually experience 10ms or less per frame for PAL on 2.8GHZ p4. Zachary Drew drew0054@tc.umn.edu