~ubuntu-branches/debian/experimental/ffmpeg/experimental

« back to all changes in this revision

Viewing changes to libswscale/swscale_unscaled.c

  • Committer: Package Import Robot
  • Author(s): Andreas Cadhalpun, Andreas Cadhalpun, Carl Eugen Hoyos
  • Date: 2015-07-09 23:42:42 UTC
  • mfrom: (0.1.17) (3.1.27 sid)
  • Revision ID: package-import@ubuntu.com-20150709234242-mf3vk9qgvcv9zh3s
Tags: 7:2.7.1-2
[ Andreas Cadhalpun ]
* Build libavcodec-extra flavor.
* Add encdec-extra autopkgtest for the libavcodec-extra flavor.
* Add lib*-dev and libav-tools-links packages.
* Drop README.Debian.
* Remove bogus apng-ffm autopkg test.
* Explicitly build-depend on liblzma-dev used by the tiff decoder.
* Use the pkg-multimedia repository for the Vcs links.
* Use the plain lib*-dev packages for the test dependencies.
* Disable libssh on sparc due to #790067.
* Remove temporary gdb dependency on sparc64.
* Enable openal on sparc64.

[ Carl Eugen Hoyos ]
* Disable x265 on alpha due to #789807.

Show diffs side-by-side

added added

removed removed

Lines of Context:
878
878
    return srcSliceH;
879
879
}
880
880
 
881
 
static int planarRgbToplanarRgbWrapper(SwsContext *c, const uint8_t *src[],
882
 
                                       int srcStride[], int srcSliceY, int srcSliceH,
 
881
static int planarRgbToplanarRgbWrapper(SwsContext *c,
 
882
                                       const uint8_t *src[], int srcStride[],
 
883
                                       int srcSliceY, int srcSliceH,
883
884
                                       uint8_t *dst[], int dstStride[])
884
885
{
885
886
    copyPlane(src[0], srcStride[0], srcSliceY, srcSliceH, c->srcW,
1402
1403
        int height = (plane == 0 || plane == 3) ? srcSliceH: FF_CEIL_RSHIFT(srcSliceH, c->chrDstVSubSample);
1403
1404
        const uint8_t *srcPtr = src[plane];
1404
1405
        uint8_t *dstPtr = dst[plane] + dstStride[plane] * y;
1405
 
        int shiftonly= plane==1 || plane==2 || (!c->srcRange && plane==0);
 
1406
        int shiftonly = plane == 1 || plane == 2 || (!c->srcRange && plane == 0);
1406
1407
 
1407
1408
        if (!dst[plane])
1408
1409
            continue;
1435
1436
                } else if (src_depth == 8) {
1436
1437
                    for (i = 0; i < height; i++) {
1437
1438
                        #define COPY816(w)\
1438
 
                        if(shiftonly){\
 
1439
                        if (shiftonly) {\
1439
1440
                            for (j = 0; j < length; j++)\
1440
1441
                                w(&dstPtr2[j], srcPtr[j]<<(dst_depth-8));\
1441
 
                        }else{\
 
1442
                        } else {\
1442
1443
                            for (j = 0; j < length; j++)\
1443
1444
                                w(&dstPtr2[j], (srcPtr[j]<<(dst_depth-8)) |\
1444
1445
                                               (srcPtr[j]>>(2*8-dst_depth)));\
1602
1603
        && (!needsDither || (c->flags&(SWS_FAST_BILINEAR|SWS_POINT))))
1603
1604
        c->swscale = rgbToRgbWrapper;
1604
1605
 
 
1606
    /* RGB to planar RGB */
1605
1607
    if ((srcFormat == AV_PIX_FMT_GBRP && dstFormat == AV_PIX_FMT_GBRAP) ||
1606
1608
        (srcFormat == AV_PIX_FMT_GBRAP && dstFormat == AV_PIX_FMT_GBRP))
1607
1609
        c->swscale = planarRgbToplanarRgbWrapper;
1692
1694
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV422P12) ||
1693
1695
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV422P14) ||
1694
1696
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV422P16) ||
 
1697
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV440P10) ||
 
1698
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV440P12) ||
1695
1699
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P9)  ||
1696
1700
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P10) ||
1697
1701
        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P12) ||