~ubuntu-branches/debian/squeeze/gstreamer0.10-ffmpeg/squeeze

« back to all changes in this revision

Viewing changes to gst-libs/ext/ffmpeg/libavcodec/x86/fft_mmx.asm

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2010-02-19 18:14:59 UTC
  • mfrom: (4.1.5 experimental)
  • Revision ID: james.westby@ubuntu.com-20100219181459-mect96st3px2jfsi
Tags: 0.10.9.2-1
* New upstream pre-release:
  + debian/patches/03_restricted-caps.patch,
    debian/patches/04_ignore-vdpau.patch:
    - Dropped, merged upstream.
* debian/patches/03_too-new-codec-ids.patch:
  + Disable some ffmpeg codec IDs because Debian's
    ffmpeg is once again too old...

Show diffs side-by-side

added added

removed removed

Lines of Context:
264
264
%endmacro
265
265
 
266
266
INIT_XMM
 
267
%define mova movaps
267
268
 
268
269
%define Z(x) [r0+mmsize*x]
269
270
 
403
404
%endmacro
404
405
 
405
406
INIT_XMM
 
407
%define mova movaps
406
408
DECL_PASS pass_sse, PASS_BIG 1
407
409
DECL_PASS pass_interleave_sse, PASS_BIG 0
408
410
 
417
419
%define pass_3dn2 pass_3dn
418
420
%define pass_interleave_3dn2 pass_interleave_3dn
419
421
 
 
422
%ifdef PIC
 
423
%define SECTION_REL - $$
 
424
%else
 
425
%define SECTION_REL
 
426
%endif
420
427
 
421
428
%macro DECL_FFT 2-3 ; nbits, cpu, suffix
422
 
%xdefine list_of_fft fft4%2, fft8%2
 
429
%xdefine list_of_fft fft4%2 SECTION_REL, fft8%2 SECTION_REL
423
430
%if %1==5
424
 
%xdefine list_of_fft list_of_fft, fft16%2
 
431
%xdefine list_of_fft list_of_fft, fft16%2 SECTION_REL
425
432
%endif
426
433
 
427
434
%assign n 1<<%1
428
435
%rep 17-%1
429
436
%assign n2 n/2
430
437
%assign n4 n/4
431
 
%xdefine list_of_fft list_of_fft, fft %+ n %+ %3%2
 
438
%xdefine list_of_fft list_of_fft, fft %+ n %+ %3%2 SECTION_REL
432
439
 
433
440
align 16
434
441
fft %+ n %+ %3%2:
446
453
%endrep
447
454
%undef n
448
455
 
449
 
%ifidn __OUTPUT_FORMAT__,macho64
450
 
section .rodata
451
 
%endif
452
 
 
453
456
align 8
454
457
dispatch_tab%3%2: pointer list_of_fft
455
458
 
457
460
 
458
461
; On x86_32, this function does the register saving and restoring for all of fft.
459
462
; The others pass args in registers and don't spill anything.
460
 
cglobal fft_dispatch%3%2, 2,5,0, z, nbits
 
463
cglobal fft_dispatch%3%2, 2,5,8, z, nbits
461
464
    lea r2, [dispatch_tab%3%2 GLOBAL]
462
465
    mov r2, [r2 + (nbitsq-2)*gprsize]
 
466
%ifdef PIC
 
467
    lea r3, [$$ GLOBAL]
 
468
    add r2, r3
 
469
%endif
463
470
    call r2
464
471
    RET
465
472
%endmacro ; DECL_FFT