~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to ffmpeg/libpostproc/postprocess_template.c

  • 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:
1912
1912
 
1913
1913
#if HAVE_MMX
1914
1914
/**
1915
 
 * transposes and shift the given 8x8 Block into dst1 and dst2
 
1915
 * Transpose and shift the given 8x8 Block into dst1 and dst2.
1916
1916
 */
1917
1917
static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src, int srcStride)
1918
1918
{
1997
1997
}
1998
1998
 
1999
1999
/**
2000
 
 * transposes the given 8x8 block
 
2000
 * Transpose the given 8x8 block.
2001
2001
 */
2002
2002
static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, uint8_t *src)
2003
2003
{
2472
2472
    int64_t dc_mask, eq_mask, both_masks;
2473
2473
    int64_t sums[10*8*2];
2474
2474
    src+= step*3; // src points to begin of the 8x8 Block
2475
 
//START_TIMER
 
2475
    //{ START_TIMER
2476
2476
    __asm__ volatile(
2477
2477
        "movq %0, %%mm7                         \n\t"
2478
2478
        "movq %1, %%mm6                         \n\t"
2998
2998
    STOP_TIMER("step16")
2999
2999
}else{
3000
3000
    STOP_TIMER("stepX")
3001
 
}*/
 
3001
}
 
3002
    } */
3002
3003
}
3003
3004
#endif //HAVE_MMX
3004
3005
 
3372
3373
            linecpy(tempSrc + srcStride*copyAhead, srcBlock + srcStride*copyAhead,
3373
3374
                    FFMAX(height-y-copyAhead, 0), srcStride);
3374
3375
 
3375
 
            /* duplicate last line of src to fill the void upto line (copyAhead+7) */
 
3376
            /* duplicate last line of src to fill the void up to line (copyAhead+7) */
3376
3377
            for(i=FFMAX(height-y, 8); i<copyAhead+8; i++)
3377
3378
                    memcpy(tempSrc + srcStride*i, src + srcStride*(height-1), FFABS(srcStride));
3378
3379
 
3379
3380
            /* copy up to (copyAhead+1) lines of dst (line -1 to (copyAhead-1))*/
3380
3381
            linecpy(tempDst, dstBlock - dstStride, FFMIN(height-y+1, copyAhead+1), dstStride);
3381
3382
 
3382
 
            /* duplicate last line of dst to fill the void upto line (copyAhead) */
 
3383
            /* duplicate last line of dst to fill the void up to line (copyAhead) */
3383
3384
            for(i=height-y+1; i<=copyAhead; i++)
3384
3385
                    memcpy(tempDst + dstStride*i, dst + dstStride*(height-1), FFABS(dstStride));
3385
3386
 
3518
3519
                else if(mode & H_DEBLOCK){
3519
3520
#if HAVE_ALTIVEC
3520
3521
                    DECLARE_ALIGNED(16, unsigned char, tempBlock)[272];
 
3522
                    int t;
3521
3523
                    transpose_16x8_char_toPackedAlign_altivec(tempBlock, dstBlock - (4 + 1), stride);
3522
3524
 
3523
 
                    const int t=vertClassify_altivec(tempBlock-48, 16, &c);
 
3525
                    t = vertClassify_altivec(tempBlock-48, 16, &c);
3524
3526
                    if(t==1) {
3525
3527
                        doVertLowPass_altivec(tempBlock-48, 16, &c);
3526
3528
                        transpose_8x16_char_fromPackedAlign_altivec(dstBlock - (4 + 1), tempBlock, stride);