~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to ffmpeg/libavcodec/arm/vp56_arith.h

  • 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:
21
21
#ifndef AVCODEC_ARM_VP56_ARITH_H
22
22
#define AVCODEC_ARM_VP56_ARITH_H
23
23
 
 
24
#if CONFIG_THUMB
 
25
#   define A(x)
 
26
#   define T(x) x
 
27
#else
 
28
#   define A(x) x
 
29
#   define T(x)
 
30
#endif
 
31
 
24
32
#if HAVE_ARMV6 && HAVE_INLINE_ASM
25
33
 
26
34
#define vp56_rac_get_prob vp56_rac_get_prob_armv6
32
40
    unsigned bit;
33
41
 
34
42
    __asm__ ("adds    %3,  %3,  %0           \n"
 
43
             "itt     cs                     \n"
35
44
             "cmpcs   %7,  %4                \n"
36
 
             "ldrcsh  %2,  [%4], #2          \n"
 
45
           A("ldrcsh  %2,  [%4], #2          \n")
 
46
           T("ldrhcs  %2,  [%4], #2          \n")
37
47
             "rsb     %0,  %6,  #256         \n"
38
48
             "smlabb  %0,  %5,  %6,  %0      \n"
 
49
           T("itttt   cs                     \n")
39
50
             "rev16cs %2,  %2                \n"
40
 
             "orrcs   %1,  %1,  %2,  lsl %3  \n"
 
51
           T("lslcs   %2,  %2,  %3           \n")
 
52
           T("orrcs   %1,  %1,  %2           \n")
 
53
           A("orrcs   %1,  %1,  %2,  lsl %3  \n")
41
54
             "subcs   %3,  %3,  #16          \n"
42
55
             "lsr     %0,  %0,  #8           \n"
43
56
             "cmp     %1,  %0,  lsl #16      \n"
 
57
             "ittte   ge                     \n"
44
58
             "subge   %1,  %1,  %0,  lsl #16 \n"
45
59
             "subge   %0,  %5,  %0           \n"
46
60
             "movge   %2,  #1                \n"
64
78
    unsigned tmp;
65
79
 
66
80
    __asm__ ("adds    %3,  %3,  %0           \n"
 
81
             "itt     cs                     \n"
67
82
             "cmpcs   %7,  %4                \n"
68
 
             "ldrcsh  %2,  [%4], #2          \n"
 
83
           A("ldrcsh  %2,  [%4], #2          \n")
 
84
           T("ldrhcs  %2,  [%4], #2          \n")
69
85
             "rsb     %0,  %6,  #256         \n"
70
86
             "smlabb  %0,  %5,  %6,  %0      \n"
 
87
           T("itttt   cs                     \n")
71
88
             "rev16cs %2,  %2                \n"
72
 
             "orrcs   %1,  %1,  %2,  lsl %3  \n"
 
89
           T("lslcs   %2,  %2,  %3           \n")
 
90
           T("orrcs   %1,  %1,  %2           \n")
 
91
           A("orrcs   %1,  %1,  %2,  lsl %3  \n")
73
92
             "subcs   %3,  %3,  #16          \n"
74
93
             "lsr     %0,  %0,  #8           \n"
75
94
             "lsl     %2,  %0,  #16          \n"