On Wed, Apr 22, 2015 at 04:27:29PM -0400, Tucker DiNapoli wrote: [...] > +%include "PPUtil.asm" > +;; All deinterlace functions operate on N 8x8 blocks at a time, where N > +;; is the size (in bytes) of the simd registers being used divided > +;; by 8, so 2 for xmm, and 4 for ymm. > + > +;; Deinterlace blocks using linear interpolation > +;; Set each line 2n+1 to (line 2n + line 2n+2)/2 > +%macro gen_deinterlace_interpolate_linear 0 > +cglobal deInterlaceInterpolateLinear, 2, 4, 5;, src, stride > + lea r0, [r0 + r1 * 4] > + lea r2, [r0 + r1] > + lea r3, [r2 + r1 * 4] > + > + mova m0, [r0] ;0 > + mova m1, [r2 + r1] ;2 > + mova m2, [r0 + 4*r1] ;4 > + mova m3, [r3 + r1] ;6 > + mova m4, [r0 + 8*r1] ;8 > + > + pavgb m0, m1 ;1 > + pavgb m1, m2 ;3 > + pavgb m2, m3 ;5 > + pavgb m3, m4 ;7 > + > + mova [r2], m0 > + mova [r2 + r1 * 2], m1 > + mova [r3], m2 > + mova [r3 + r1 * 2], m3 > + RET > +%endmacro
the loop should be inside the asm, not in c calling the asm every 8/16/32 pixels the same applies to all the deinterlace functions but changing that is probably not possibly before the deadline what is important now is that you submit some working and testable code, GSoC and the qualications are only about code that can be commited and that passes review not unfinished pieces of "work in progress code" because that isnt really what we want to see at the end of GSoC either if it can be avoided. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I know you won't believe me, but the highest form of Human Excellence is to question oneself and others. -- Socrates
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel