~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

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

  • Committer: Gauvain Pocentek
  • Date: 2012-03-06 11:59:12 UTC
  • mfrom: (66.1.15 precise)
  • Revision ID: gauvain@pocentek.net-20120306115912-h9d6kt9j0l532oo5
* Merge from Ubuntu:
  - put back faac support
  - recommends apport-hooks-medibuntu
  - change Maintainer, Uploaders & Vcs-* fields.
* New upstream snapshot
* upload to unstable
* Build against external libmpeg2
* drop 51_FTBFS_arm.patch again
* no longer build depend on libcdparanoia-dev on the Hurd
* Fix FTBFS on the hurd.
  Thanks to Samuel Thibault <sthibault@debian.org> (Closes: #654974)
* Fix FTBFS on arm
* New upstream snapshot, Closes: #650339, #643621, #481807
* Imported Upstream version 1.0~rc4+svn34492
* Bump standards version
* Bump dependency on libav >= 4:0.8~, Closes: #653887
* Fix build-indep
* Build mplayer-gui again, Closes: #568514
* Drop debian/all-lang-config-mak.sh, no longer needed
* include .dfsg1 in version number
* remove get-orig-source target
* no longer prune compiler flags from the environment
* No longer advertise nor build 3fdx, mga and dxr3 backends,
  Closes: #496106, #442181, #533546
* beautify mplayer version identification string
* Brown paperbag upload.
* Next try to fix build failure on sparce after recent binutils change.
* Brown paperbag upload.
* Really fix build failure on sparc after recent binutils change.
* Properly set Replaces/Conflicts on mplayer2{,-dbg} to avoid
  file overwrite errors.
* Adjust versioning of mplayer listed in the mplayer-dbg's Depends field.
* Fix build failure on sparc after recent binutils change.
* Urgency medium bumped because of RC-level bugfix
  and speeding up x264 transition.
* Update to my @debian.org email.
* Upload to unstable
* Enable joystick support on Linux only, Closes: #638408
* Rebuild fixes toolchain issue on arm, Closes: #637077
* New upstream snapshot
* following the discussion started by Diego Biurrun <diego@biurrun.de>
  in debian-devel, I have prepared a new packaging of 'mplayer'
  (with code that comes from CVS)
* the upstream tar.bz cannot be distributed by Debian, since it contains
   CSS code; so I am repackaging it 
* I have tried my best to address all known issues:
  - the package contains the detailed Copyright made by Diego Biurrun 
  - the package does not contain CSS code, or  AFAIK other code on which 
     there is active patent enforcement
  - there is a script  debian/cvs-changelog.sh  that shows all changes
     done to files included in this source.
    This should comply with GPLv2 sec 2.a  (in spirit if not in letter)
    For this reason, the source code contains CVS directories.
* needs   make (>= 3.80) for 'html-chunked-$(1)' in DOCS/xml/Makefile

* some corrections, as suggested Diego Biurrun
  - binary codecs should go into /usr/lib/codecs (upstream default)
  - better template 'mplayer/install_codecs'
  - an empty 'font=' in mplayer.conf breaks mplayer: postinst corrected
* correction in 'mplayer/cfgnote'
* better mplayer.postinst and mplayer.config

* New upstream release
* better debian/copyright file
* do not ship a skin
* New upstream release
* changed DEB_BUILD_OPTIONS to DEB_BUILD_CONFIGURE ,
  DEB_BUILD_OPTIONS is used as in debian policy
* use gcc-3.4
* changed xlibs-dev to a long list of dependencies, for Debian/etch
* try to adhere to  http://www.mplayerhq.hu/DOCS/tech/binary-packaging.txt
  (see README.Debian for details)
* removed dependency on xlibmesa-dev, disabled opengl
* New upstream release
* Simon McVittie <hacks@pseudorandom.co.uk> wonderful work:
- Work around Debian bug #267442 (glibc's sys/uio.h and gcc's altivec.h have
  conflicting uses for __vector) by re-ordering #includes
- Fix potential symlink attack in ./configure
- Disable support for binary codecs on platforms for which those codecs
  aren't available; also disable the corresponding Debconf note when it's
  inappropriate
- Changed Build-Depends: so it works in pbuilder
- Explicitly build-depend on libjpeg62-dev, libfontconfig1-dev,
  libungif4-dev 
- Tweak debian/rules to avoid certain errors being ignored
- Use --language=all
* provide a target  'debian/rules get-orig-source' 
  that recreates the orig.tar.gz ; then use the above orig.tar.gz
* rewrote some parts of debian/rules
* don't clean and recompile docs if upstream ships them
* mplayer-doc was shipping too much stuff
* translated man pages where not installed properly
* compile with libdv4-dev
* correct README.Debian
* Forgot build-dep on libtheora
* Must not depend on libxvidcore
* New upstream release
* new release.
* rc1 to become 0.90
* new pre-release
* new pre-release
* gtk bug fixed.
* new release.
* version bumped
* 0.60 pre2 release
* 0.60 pre-release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
pw_bap_mul1: dw 21846, 21846, 0, 32768, 21846, 21846, 0, 32768
33
33
pw_bap_mul2: dw 5, 7, 0, 7, 5, 7, 0, 7
34
34
 
 
35
; used in ff_ac3_extract_exponents()
 
36
pd_1:   times 4 dd 1
 
37
pd_151: times 4 dd 151
 
38
pb_shuf_4dwb: db 0, 4, 8, 12
 
39
 
35
40
SECTION .text
36
41
 
37
42
;-----------------------------------------------------------------------------
346
351
    movd       eax, m0
347
352
    add        eax, sumd
348
353
    RET
 
354
 
 
355
;------------------------------------------------------------------------------
 
356
; void ff_ac3_extract_exponents(uint8_t *exp, int32_t *coef, int nb_coefs)
 
357
;------------------------------------------------------------------------------
 
358
 
 
359
%macro PABSD_MMX 2 ; src/dst, tmp
 
360
    pxor     %2, %2
 
361
    pcmpgtd  %2, %1
 
362
    pxor     %1, %2
 
363
    psubd    %1, %2
 
364
%endmacro
 
365
 
 
366
%macro PABSD_SSSE3 1-2 ; src/dst, unused
 
367
    pabsd    %1, %1
 
368
%endmacro
 
369
 
 
370
%ifdef HAVE_AMD3DNOW
 
371
INIT_MMX
 
372
cglobal ac3_extract_exponents_3dnow, 3,3,0, exp, coef, len
 
373
    add      expq, lenq
 
374
    lea     coefq, [coefq+4*lenq]
 
375
    neg      lenq
 
376
    movq       m3, [pd_1]
 
377
    movq       m4, [pd_151]
 
378
.loop:
 
379
    movq       m0, [coefq+4*lenq  ]
 
380
    movq       m1, [coefq+4*lenq+8]
 
381
    PABSD_MMX  m0, m2
 
382
    PABSD_MMX  m1, m2
 
383
    pslld      m0, 1
 
384
    por        m0, m3
 
385
    pi2fd      m2, m0
 
386
    psrld      m2, 23
 
387
    movq       m0, m4
 
388
    psubd      m0, m2
 
389
    pslld      m1, 1
 
390
    por        m1, m3
 
391
    pi2fd      m2, m1
 
392
    psrld      m2, 23
 
393
    movq       m1, m4
 
394
    psubd      m1, m2
 
395
    packssdw   m0, m0
 
396
    packuswb   m0, m0
 
397
    packssdw   m1, m1
 
398
    packuswb   m1, m1
 
399
    punpcklwd  m0, m1
 
400
    movd  [expq+lenq], m0
 
401
    add      lenq, 4
 
402
    jl .loop
 
403
    REP_RET
 
404
%endif
 
405
 
 
406
%macro AC3_EXTRACT_EXPONENTS 1
 
407
cglobal ac3_extract_exponents_%1, 3,3,5, exp, coef, len
 
408
    add     expq, lenq
 
409
    lea    coefq, [coefq+4*lenq]
 
410
    neg     lenq
 
411
    mova      m2, [pd_1]
 
412
    mova      m3, [pd_151]
 
413
%ifidn %1, ssse3 ;
 
414
    movd      m4, [pb_shuf_4dwb]
 
415
%endif
 
416
.loop:
 
417
    ; move 4 32-bit coefs to xmm0
 
418
    mova      m0, [coefq+4*lenq]
 
419
    ; absolute value
 
420
    PABSD     m0, m1
 
421
    ; convert to float and extract exponents
 
422
    pslld     m0, 1
 
423
    por       m0, m2
 
424
    cvtdq2ps  m1, m0
 
425
    psrld     m1, 23
 
426
    mova      m0, m3
 
427
    psubd     m0, m1
 
428
    ; move the lowest byte in each of 4 dwords to the low dword
 
429
%ifidn %1, ssse3
 
430
    pshufb    m0, m4
 
431
%else
 
432
    packssdw  m0, m0
 
433
    packuswb  m0, m0
 
434
%endif
 
435
    movd  [expq+lenq], m0
 
436
 
 
437
    add     lenq, 4
 
438
    jl .loop
 
439
    REP_RET
 
440
%endmacro
 
441
 
 
442
%ifdef HAVE_SSE
 
443
INIT_XMM
 
444
%define PABSD PABSD_MMX
 
445
AC3_EXTRACT_EXPONENTS sse2
 
446
%ifdef HAVE_SSSE3
 
447
%define PABSD PABSD_SSSE3
 
448
AC3_EXTRACT_EXPONENTS ssse3
 
449
%endif
 
450
%endif