~noskcaj/ubuntu/saucy/libav/merge0.8.7-1

« back to all changes in this revision

Viewing changes to libavcodec/ppc/dsputil_altivec.c

  • Committer: Package Import Robot
  • Author(s): Reinhard Tartler
  • Date: 2012-01-12 22:30:00 UTC
  • mfrom: (1.2.8) (1.1.13 experimental)
  • Revision ID: package-import@ubuntu.com-20120112223000-cmfo7w78q13i2fd9
Tags: 4:0.8~beta2-1ubuntu1
* Merge from debian, remaining changes:
  - don't build against libdirac, lame, libopenjpeg, librtmp, 
    x264, and xvid  (all in universe)

Show diffs side-by-side

added added

removed removed

Lines of Context:
627
627
// it's faster than -funroll-loops, but using
628
628
// -funroll-loops w/ this is bad - 74 cycles again.
629
629
// all this is on a 7450, tuning for the 7450
630
 
#if 0
631
 
    for (i = 0; i < h; i++) {
632
 
        pixelsv1 = vec_ld(0, pixels);
633
 
        pixelsv2 = vec_ld(16, pixels);
634
 
        vec_st(vec_perm(pixelsv1, pixelsv2, perm),
635
 
               0, block);
636
 
        pixels+=line_size;
637
 
        block +=line_size;
638
 
    }
639
 
#else
640
630
    for (i = 0; i < h; i += 4) {
641
631
        pixelsv1  = vec_ld( 0, pixels);
642
632
        pixelsv2  = vec_ld(15, pixels);
657
647
        pixels+=line_size_4;
658
648
        block +=line_size_4;
659
649
    }
660
 
#endif
661
650
}
662
651
 
663
652
/* next one assumes that ((line_size % 16) == 0) */
1384
1373
 
1385
1374
void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx)
1386
1375
{
1387
 
    const int high_bit_depth = avctx->codec_id == CODEC_ID_H264 && avctx->bits_per_raw_sample > 8;
 
1376
    const int high_bit_depth = avctx->bits_per_raw_sample > 8;
1388
1377
 
1389
1378
    c->pix_abs[0][1] = sad16_x2_altivec;
1390
1379
    c->pix_abs[0][2] = sad16_y2_altivec;
1398
1387
    c->sse[0]= sse16_altivec;
1399
1388
    c->pix_sum = pix_sum_altivec;
1400
1389
    c->diff_pixels = diff_pixels_altivec;
 
1390
    c->add_bytes= add_bytes_altivec;
 
1391
    if (!high_bit_depth) {
1401
1392
    c->get_pixels = get_pixels_altivec;
1402
 
    if (!high_bit_depth)
1403
1393
    c->clear_block = clear_block_altivec;
1404
 
    c->add_bytes= add_bytes_altivec;
1405
 
    if (!high_bit_depth) {
1406
1394
    c->put_pixels_tab[0][0] = put_pixels16_altivec;
1407
1395
    /* the two functions do the same thing, so use the same code */
1408
1396
    c->put_no_rnd_pixels_tab[0][0] = put_pixels16_altivec;