~ubuntu-branches/ubuntu/vivid/libav/vivid

« back to all changes in this revision

Viewing changes to libavcodec/x86/idct_mmx_xvid.c

  • Committer: Package Import Robot
  • Author(s): Reinhard Tartler
  • Date: 2013-10-22 23:24:08 UTC
  • mfrom: (1.3.36 sid)
  • Revision ID: package-import@ubuntu.com-20131022232408-b8tvvn4pyzri9mi3
Tags: 6:9.10-1ubuntu1
* Build all -extra flavors from this source package, as libav got demoted
  from main to universe, cf LP: #1243235
* Simplify debian/rules to follow exactly the code that debian executes
* New upstream (LP: #1180288) fixes lots of security issues (LP: #1242802)
* Merge from unstable, remaining changes:
  - build-depend on libtiff5-dev rather than libtiff4-dev,
    avoids FTBFS caused by imlib
  - follow the regular debian codepaths

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
 */
41
41
 
42
42
#include <inttypes.h>
 
43
 
 
44
#include "config.h"
43
45
#include "libavcodec/avcodec.h"
 
46
#include "libavutil/mem.h"
 
47
#include "dsputil_mmx.h"
44
48
#include "idct_xvid.h"
45
49
 
 
50
#if HAVE_INLINE_ASM
 
51
 
46
52
//=============================================================================
47
53
// Macros and other preprocessor constants
48
54
//=============================================================================
506
512
//-----------------------------------------------------------------------------
507
513
 
508
514
 
509
 
void ff_idct_xvid_mmx2(short *block){
 
515
void ff_idct_xvid_mmxext(short *block)
 
516
{
510
517
__asm__ volatile(
511
518
            //# Process each row
512
519
    DCT_8_INV_ROW_XMM(0*16(%0), 0*16(%0), 64*0(%2), 8*0(%1))
524
531
    :: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16));
525
532
}
526
533
 
 
534
void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block)
 
535
{
 
536
    ff_idct_xvid_mmx(block);
 
537
    ff_put_pixels_clamped_mmx(block, dest, line_size);
 
538
}
 
539
 
 
540
void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block)
 
541
{
 
542
    ff_idct_xvid_mmx(block);
 
543
    ff_add_pixels_clamped_mmx(block, dest, line_size);
 
544
}
 
545
 
 
546
void ff_idct_xvid_mmxext_put(uint8_t *dest, int line_size, DCTELEM *block)
 
547
{
 
548
    ff_idct_xvid_mmxext(block);
 
549
    ff_put_pixels_clamped_mmx(block, dest, line_size);
 
550
}
 
551
 
 
552
void ff_idct_xvid_mmxext_add(uint8_t *dest, int line_size, DCTELEM *block)
 
553
{
 
554
    ff_idct_xvid_mmxext(block);
 
555
    ff_add_pixels_clamped_mmx(block, dest, line_size);
 
556
}
 
557
 
 
558
#endif /* HAVE_INLINE_ASM */