~ubuntu-branches/ubuntu/trusty/gst-libav1.0/trusty-proposed

« back to all changes in this revision

Viewing changes to gst-libs/ext/libav/libavcodec/arm/vp3dsp_neon.S

  • Committer: Package Import Robot
  • Author(s): Sebastian Dröge
  • Date: 2013-09-24 17:07:00 UTC
  • mfrom: (1.1.17) (7.1.9 experimental)
  • Revision ID: package-import@ubuntu.com-20130924170700-4dg62s3pwl0pdakz
Tags: 1.2.0-1
* New upstream stable release:
  + debian/control:
    - Build depend on GStreamer and gst-plugins-base >= 1.2.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
19
 */
20
20
 
21
 
#include "asm.S"
 
21
#include "libavutil/arm/asm.S"
22
22
 
23
23
const   vp3_idct_constants, align=4
24
24
.short 64277, 60547, 54491, 46341, 36410, 25080, 12785
116
116
    vadd.s16        q1,  q8,  q12
117
117
    vsub.s16        q8,  q8,  q12
118
118
    vld1.64         {d28-d31}, [r2,:128]!
119
 
endfunc
120
119
 
121
 
function vp3_idct_core_neon
 
120
vp3_idct_core_neon:
122
121
    vmull.s16       q2,  d18, xC1S7     // (ip[1] * C1) << 16
123
122
    vmull.s16       q3,  d19, xC1S7
124
123
    vmull.s16       q4,  d2,  xC4S4     // ((ip[0] + ip[4]) * C4) << 16
261
260
VP3_IDCT_END row
262
261
VP3_IDCT_END col
263
262
 
264
 
function ff_vp3_idct_neon, export=1
265
 
    mov             ip,  lr
266
 
    mov             r2,  r0
267
 
    bl              vp3_idct_start_neon
268
 
    bl              vp3_idct_end_row_neon
269
 
    mov             r3,  #8
270
 
    bl              vp3_idct_core_neon
271
 
    bl              vp3_idct_end_col_neon
272
 
    mov             lr,  ip
273
 
    vpop            {d8-d15}
274
 
 
275
 
    vshr.s16        q8,  q8,  #4
276
 
    vshr.s16        q9,  q9,  #4
277
 
    vshr.s16        q10, q10, #4
278
 
    vshr.s16        q11, q11, #4
279
 
    vshr.s16        q12, q12, #4
280
 
    vst1.64         {d16-d19}, [r0,:128]!
281
 
    vshr.s16        q13, q13, #4
282
 
    vshr.s16        q14, q14, #4
283
 
    vst1.64         {d20-d23}, [r0,:128]!
284
 
    vshr.s16        q15, q15, #4
285
 
    vst1.64         {d24-d27}, [r0,:128]!
286
 
    vst1.64         {d28-d31}, [r0,:128]!
287
 
    bx              lr
288
 
endfunc
289
 
 
290
263
function ff_vp3_idct_put_neon, export=1
291
264
    mov             ip,  lr
292
265
    bl              vp3_idct_start_neon