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",