summaryrefslogtreecommitdiffstats
path: root/libswscale/swscale.c
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-08 12:36:38 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-08 12:36:38 +0000
commitb128f3e558af20ac6e7bbfedaf1c47c5860ec53c (patch)
tree8598343332fe87774c77e82bf79a54ed836694a1 /libswscale/swscale.c
parent65f45532e3f9d109f31a0ad97d2bc8c36461b102 (diff)
downloadmpv-b128f3e558af20ac6e7bbfedaf1c47c5860ec53c.tar.bz2
mpv-b128f3e558af20ac6e7bbfedaf1c47c5860ec53c.tar.xz
Fix jpeg yuv.
Fixes issue504. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27547 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale/swscale.c')
-rw-r--r--libswscale/swscale.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 3245521299..0b9bb1e63f 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -1984,7 +1984,6 @@ int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange
int64_t cy = 1<<16;
int64_t oy = 0;
- if (isYUV(c->dstFormat) || isGray(c->dstFormat)) return -1;
memcpy(c->srcColorspaceTable, inv_table, sizeof(int)*4);
memcpy(c->dstColorspaceTable, table, sizeof(int)*4);
@@ -1993,6 +1992,7 @@ int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange
c->saturation= saturation;
c->srcRange = srcRange;
c->dstRange = dstRange;
+ if (isYUV(c->dstFormat) || isGray(c->dstFormat)) return 0;
c->uOffset= 0x0400040004000400LL;
c->vOffset= 0x0400040004000400LL;
@@ -2213,7 +2213,7 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
sws_setColorspaceDetails(c, Inverse_Table_6_9[SWS_CS_DEFAULT], srcRange, Inverse_Table_6_9[SWS_CS_DEFAULT] /* FIXME*/, dstRange, 0, 1<<16, 1<<16);
/* unscaled special Cases */
- if (unscaled && !usesHFilter && !usesVFilter)
+ if (unscaled && !usesHFilter && !usesVFilter && (srcRange == dstRange || isBGR(dstFormat) || isRGB(dstFormat)))
{
/* yv12_to_nv12 */
if (srcFormat == PIX_FMT_YUV420P && (dstFormat == PIX_FMT_NV12 || dstFormat == PIX_FMT_NV21))