~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to ffmpeg/libavcodec/x86/dct32_sse.asm

  • Committer: Package Import Robot
  • Author(s): Reinhard Tartler
  • Date: 2012-01-12 22:23:28 UTC
  • mfrom: (0.4.7 sid)
  • mto: This revision was merged to the branch mainline in revision 76.
  • Revision ID: package-import@ubuntu.com-20120112222328-8jqdyodym3p84ygu
Tags: 2:1.0~rc4.dfsg1+svn34540-1
* New upstream snapshot
* upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
    mulps  %1, %3
64
64
%endmacro
65
65
 
 
66
%macro BUTTERFLY0_SSE2 5
 
67
    pshufd %4, %1, %5
 
68
    xorps  %1, %2
 
69
    addps  %1, %4
 
70
    mulps  %1, %3
 
71
%endmacro
 
72
 
66
73
%macro BUTTERFLY0_AVX 5
67
74
    vshufps %4, %1, %1, %5
68
75
    vxorps  %1, %1, %2
405
412
 
406
413
 
407
414
INIT_XMM
 
415
%macro DCT32_FUNC 1
408
416
; void ff_dct32_float_sse(FFTSample *out, const FFTSample *in)
409
 
cglobal dct32_float_sse, 2,3,16, out, in, tmp
 
417
cglobal dct32_float_%1, 2,3,16, out, in, tmp
410
418
    ; pass 1
411
419
 
412
420
    movaps      m0, [inq+0]
413
 
    movaps      m1, [inq+112]
414
 
    shufps      m1, m1, 0x1b
 
421
    LOAD_INV    m1, [inq+112]
415
422
    BUTTERFLY   m0, m1, [ps_cos_vec], m3
416
423
 
417
424
    movaps      m7, [inq+64]
418
 
    movaps      m4, [inq+48]
419
 
    shufps      m4, m4, 0x1b
 
425
    LOAD_INV    m4, [inq+48]
420
426
    BUTTERFLY   m7, m4, [ps_cos_vec+32], m3
421
427
 
422
428
    ; pass 2
427
433
 
428
434
    ; pass 1
429
435
    movaps      m1, [inq+16]
430
 
    movaps      m6, [inq+96]
431
 
    shufps      m6, m6, 0x1b
 
436
    LOAD_INV    m6, [inq+96]
432
437
    BUTTERFLY   m1, m6, [ps_cos_vec+16], m3
433
438
 
434
439
    movaps      m4, [inq+80]
435
 
    movaps      m5, [inq+32]
436
 
    shufps      m5, m5, 0x1b
 
440
    LOAD_INV    m5, [inq+32]
437
441
    BUTTERFLY   m4, m5, [ps_cos_vec+48], m3
438
442
 
439
443
    ; pass 2
492
496
    PASS5
493
497
    PASS6
494
498
    RET
 
499
%endmacro
 
500
 
 
501
%macro LOAD_INV_SSE 2
 
502
    movaps      %1, %2
 
503
    shufps      %1, %1, 0x1b
 
504
%endmacro
 
505
 
 
506
%define LOAD_INV LOAD_INV_SSE
 
507
DCT32_FUNC sse
 
508
 
 
509
%macro LOAD_INV_SSE2 2
 
510
    pshufd      %1, %2, 0x1b
 
511
%endmacro
 
512
 
 
513
%define LOAD_INV LOAD_INV_SSE2
 
514
%define BUTTERFLY0 BUTTERFLY0_SSE2
 
515
DCT32_FUNC sse2