Mercurial > mplayer.hg
comparison libswscale/utils.c @ 30393:db62840d27ae
Use isAnyRGB() where possible
author | michael |
---|---|
date | Tue, 26 Jan 2010 08:03:28 +0000 |
parents | 2a33c1c37e6b |
children | ebb651f9e2ab |
comparison
equal
deleted
inserted
replaced
30392:8d89e0052f84 | 30393:db62840d27ae |
---|---|
119 || (x)==PIX_FMT_YUYV422 \ | 119 || (x)==PIX_FMT_YUYV422 \ |
120 || (x)==PIX_FMT_UYVY422 \ | 120 || (x)==PIX_FMT_UYVY422 \ |
121 || (x)==PIX_FMT_YUV444P \ | 121 || (x)==PIX_FMT_YUV444P \ |
122 || (x)==PIX_FMT_YUV422P \ | 122 || (x)==PIX_FMT_YUV422P \ |
123 || (x)==PIX_FMT_YUV411P \ | 123 || (x)==PIX_FMT_YUV411P \ |
124 || isRGBinInt(x) \ | 124 || isAnyRGB(x) \ |
125 || isBGRinInt(x) \ | |
126 || (x)==PIX_FMT_NV12 \ | 125 || (x)==PIX_FMT_NV12 \ |
127 || (x)==PIX_FMT_NV21 \ | 126 || (x)==PIX_FMT_NV21 \ |
128 || (x)==PIX_FMT_GRAY16BE \ | 127 || (x)==PIX_FMT_GRAY16BE \ |
129 || (x)==PIX_FMT_GRAY16LE \ | 128 || (x)==PIX_FMT_GRAY16LE \ |
130 || (x)==PIX_FMT_GRAY8 \ | 129 || (x)==PIX_FMT_GRAY8 \ |
870 | 869 |
871 getSubSampleFactors(&c->chrSrcHSubSample, &c->chrSrcVSubSample, srcFormat); | 870 getSubSampleFactors(&c->chrSrcHSubSample, &c->chrSrcVSubSample, srcFormat); |
872 getSubSampleFactors(&c->chrDstHSubSample, &c->chrDstVSubSample, dstFormat); | 871 getSubSampleFactors(&c->chrDstHSubSample, &c->chrDstVSubSample, dstFormat); |
873 | 872 |
874 // reuse chroma for 2 pixels RGB/BGR unless user wants full chroma interpolation | 873 // reuse chroma for 2 pixels RGB/BGR unless user wants full chroma interpolation |
875 if ((isBGRinInt(dstFormat) || isRGBinInt(dstFormat)) && !(flags&SWS_FULL_CHR_H_INT)) c->chrDstHSubSample=1; | 874 if (isAnyRGB(dstFormat) && !(flags&SWS_FULL_CHR_H_INT)) c->chrDstHSubSample=1; |
876 | 875 |
877 // drop some chroma lines if the user wants it | 876 // drop some chroma lines if the user wants it |
878 c->vChrDrop= (flags&SWS_SRC_V_CHR_DROP_MASK)>>SWS_SRC_V_CHR_DROP_SHIFT; | 877 c->vChrDrop= (flags&SWS_SRC_V_CHR_DROP_MASK)>>SWS_SRC_V_CHR_DROP_SHIFT; |
879 c->chrSrcVSubSample+= c->vChrDrop; | 878 c->chrSrcVSubSample+= c->vChrDrop; |
880 | 879 |
881 // drop every other pixel for chroma calculation unless user wants full chroma | 880 // drop every other pixel for chroma calculation unless user wants full chroma |
882 if ((isBGRinInt(srcFormat) || isRGBinInt(srcFormat)) && !(flags&SWS_FULL_CHR_H_INP) | 881 if (isAnyRGB(srcFormat) && !(flags&SWS_FULL_CHR_H_INP) |
883 && srcFormat!=PIX_FMT_RGB8 && srcFormat!=PIX_FMT_BGR8 | 882 && srcFormat!=PIX_FMT_RGB8 && srcFormat!=PIX_FMT_BGR8 |
884 && srcFormat!=PIX_FMT_RGB4 && srcFormat!=PIX_FMT_BGR4 | 883 && srcFormat!=PIX_FMT_RGB4 && srcFormat!=PIX_FMT_BGR4 |
885 && srcFormat!=PIX_FMT_RGB4_BYTE && srcFormat!=PIX_FMT_BGR4_BYTE | 884 && srcFormat!=PIX_FMT_RGB4_BYTE && srcFormat!=PIX_FMT_BGR4_BYTE |
886 && ((dstW>>c->chrDstHSubSample) <= (srcW>>1) || (flags&(SWS_FAST_BILINEAR|SWS_POINT)))) | 885 && ((dstW>>c->chrDstHSubSample) <= (srcW>>1) || (flags&(SWS_FAST_BILINEAR|SWS_POINT)))) |
887 c->chrSrcHSubSample=1; | 886 c->chrSrcHSubSample=1; |
901 c->chrDstH= -((-dstH) >> c->chrDstVSubSample); | 900 c->chrDstH= -((-dstH) >> c->chrDstVSubSample); |
902 | 901 |
903 sws_setColorspaceDetails(c, ff_yuv2rgb_coeffs[SWS_CS_DEFAULT], srcRange, ff_yuv2rgb_coeffs[SWS_CS_DEFAULT] /* FIXME*/, dstRange, 0, 1<<16, 1<<16); | 902 sws_setColorspaceDetails(c, ff_yuv2rgb_coeffs[SWS_CS_DEFAULT], srcRange, ff_yuv2rgb_coeffs[SWS_CS_DEFAULT] /* FIXME*/, dstRange, 0, 1<<16, 1<<16); |
904 | 903 |
905 /* unscaled special cases */ | 904 /* unscaled special cases */ |
906 if (unscaled && !usesHFilter && !usesVFilter && (srcRange == dstRange || isBGRinInt(dstFormat) || isRGBinInt(dstFormat))) { | 905 if (unscaled && !usesHFilter && !usesVFilter && (srcRange == dstRange || isAnyRGB(dstFormat))) { |
907 ff_get_unscaled_swscale(c); | 906 ff_get_unscaled_swscale(c); |
908 | 907 |
909 if (c->swScale) { | 908 if (c->swScale) { |
910 if (flags&SWS_PRINT_INFO) | 909 if (flags&SWS_PRINT_INFO) |
911 av_log(c, AV_LOG_INFO, "using unscaled %s -> %s special converter\n", | 910 av_log(c, AV_LOG_INFO, "using unscaled %s -> %s special converter\n", |