[Ffmpeg-devel] Re: [Ffmpeg-cvslog] r5899 - in trunk/libavcodec: Makefile ppc/dsputil_ppc.c ppc/vc1dsp_altivec.c

Guillaume POIRIER poirierg
Sun Oct 8 19:37:42 CEST 2006


Hi,

On 8/3/06, kostya <subversion at mplayerhq.hu> wrote:
> Author: kostya
> Date: Thu Aug  3 07:02:31 2006
> New Revision: 5899
>
> Added:
>    trunk/libavcodec/ppc/vc1dsp_altivec.c
> Modified:
>    trunk/libavcodec/Makefile
>    trunk/libavcodec/ppc/dsputil_ppc.c
>
> Log:
> Some AltiVec optimizations for VC-1

[..]

==============================================================================
> --- (empty file)
> +++ trunk/libavcodec/ppc/vc1dsp_altivec.c       Thu Aug  3 07:02:31 2006

[..]


> +// Transpose 8x8 matrix of 16-bit elements. Borrowed from mpegvideo_altivec.c
> +#define TRANSPOSE8(a,b,c,d,e,f,g,h) \
> +do { \
> +    vector signed short A1, B1, C1, D1, E1, F1, G1, H1; \
> +    vector signed short A2, B2, C2, D2, E2, F2, G2, H2; \
> + \
> +    A1 = vec_mergeh (a, e); \
> +    B1 = vec_mergel (a, e); \
> +    C1 = vec_mergeh (b, f); \
> +    D1 = vec_mergel (b, f); \
> +    E1 = vec_mergeh (c, g); \
> +    F1 = vec_mergel (c, g); \
> +    G1 = vec_mergeh (d, h); \
> +    H1 = vec_mergel (d, h); \
> + \
> +    A2 = vec_mergeh (A1, E1); \
> +    B2 = vec_mergel (A1, E1); \
> +    C2 = vec_mergeh (B1, F1); \
> +    D2 = vec_mergel (B1, F1); \
> +    E2 = vec_mergeh (C1, G1); \
> +    F2 = vec_mergel (C1, G1); \
> +    G2 = vec_mergeh (D1, H1); \
> +    H2 = vec_mergel (D1, H1); \
> + \
> +    a = vec_mergeh (A2, E2); \
> +    b = vec_mergel (A2, E2); \
> +    c = vec_mergeh (B2, F2); \
> +    d = vec_mergel (B2, F2); \
> +    e = vec_mergeh (C2, G2); \
> +    f = vec_mergel (C2, G2); \
> +    g = vec_mergeh (D2, H2); \
> +    h = vec_mergel (D2, H2); \
> +} while (0)

Is there a reason why this macro has been duplicated here?

I have implemented a IDCT8 routine for H264 decoding that uses
TRANSPOSE8, and I really don't think it would be wise to duplicate it
yet another time there.


Would someone mind if I was moving TRANSPOSE8 to dsputil_altivec.h?


Sorry if I don't have a patch to show, I forgot to put it on my
usbstick before going to the cyber-caf? ;-)

Guillaume
-- 
With DADVSI (http://en.wikipedia.org/wiki/DADVSI), France finally has
a lead on USA on selling out individuals right to corporations!
Vive la France!




More information about the ffmpeg-devel mailing list