[FFmpeg-devel] [FFMpeg-Devel][GSoC][PATCH 4/6] postproc: Updated postprocess_template to use new sse/avx deinterlace functions

Michael Niedermayer michaelni at gmx.at
Thu Apr 23 03:50:15 CEST 2015


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150423/59bebb9c/attachment.asc>


More information about the ffmpeg-devel mailing list