diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-02-14 01:53:31 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-02-14 01:53:31 +0100 |
commit | 04b53746ad296b9167002ec5d16a9cfb9de7985b (patch) | |
tree | 091021a7ecae7fe76b9d180c2fa1a2d4a4c66ef4 /libswscale/swscale.c | |
parent | 387783749faca39c98571d139c32866923ab5653 (diff) | |
parent | 7dfe8f55575a3ae0fdd6f0678fa9627122580b07 (diff) | |
download | ffmpeg-04b53746ad296b9167002ec5d16a9cfb9de7985b.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
rtpdec: Use 4 byte startcodes for H.264
matroskadec: Mark variable as av_unused.
Move some conditionally used variables into the block where they are used.
Drop some completely unnecessary av_unused attributes.
swscale: Remove unused variable alpMmxFilter.
Drop unnecessary av_uninit attributes from some variable declarations.
movenc: Support muxing wmapro in ismv/isma
mpegtsenc: Add an AVOption for forcing a new PAT/PMT/SDT to be written
swscale: move YUV2PACKED16WRAPPER() macro down to where it is used.
swscale: handle gray16 as a "planar" YUV format (Y-only, of course).
swscale: use yuv2packed1() functions for unscaled chroma also.
swscale: fix incorrect chroma bias in yuv2rgb48_1_c().
swscale: fix invalid memory accesses in yuvpacked1() functions.
Move PS2 MMI code below the mips subdirectory, where it belongs.
mips: Move MMI function declarations to a header.
build: Set correct dependencies for rtmp* protocols implemented by librtmp.
Conflicts:
libavcodec/ac3enc_template.c
libavformat/mpegtsenc.c
libswscale/output.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/swscale.c')
-rw-r--r-- | libswscale/swscale.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 12ec19bea0..0578e2dacc 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -334,7 +334,6 @@ static int swScale(SwsContext *c, const uint8_t* src[], int16_t *hChrFilter= c->hChrFilter; int32_t *lumMmxFilter= c->lumMmxFilter; int32_t *chrMmxFilter= c->chrMmxFilter; - int32_t av_unused *alpMmxFilter= c->alpMmxFilter; const int vLumFilterSize= c->vLumFilterSize; const int vChrFilterSize= c->vChrFilterSize; const int hLumFilterSize= c->hLumFilterSize; @@ -539,7 +538,7 @@ static int swScale(SwsContext *c, const uint8_t* src[], int16_t *vLumFilter= c->vLumFilter; int16_t *vChrFilter= c->vChrFilter; - if (isPlanarYUV(dstFormat) || dstFormat==PIX_FMT_GRAY8) { //YV12 like + if (isPlanarYUV(dstFormat) || (isGray(dstFormat) && !isALPHA(dstFormat))) { //YV12 like const int chrSkipMask= (1<<c->chrDstVSubSample)-1; vLumFilter += dstY * vLumFilterSize; @@ -594,8 +593,8 @@ static int swScale(SwsContext *c, const uint8_t* src[], } else { assert(lumSrcPtr + vLumFilterSize - 1 < lumPixBuf + vLumBufSize*2); assert(chrUSrcPtr + vChrFilterSize - 1 < chrUPixBuf + vChrBufSize*2); - if (c->yuv2packed1 && vLumFilterSize == 1 && vChrFilterSize == 2) { //unscaled RGB - int chrAlpha = vChrFilter[2 * dstY + 1]; + if (c->yuv2packed1 && vLumFilterSize == 1 && vChrFilterSize <= 2) { //unscaled RGB + int chrAlpha = vChrFilterSize == 1 ? 0 : vChrFilter[2 * dstY + 1]; yuv2packed1(c, *lumSrcPtr, chrUSrcPtr, chrVSrcPtr, alpPixBuf ? *alpSrcPtr : NULL, dest[0], dstW, chrAlpha, dstY); |