Fixed #1613: removed YUV420i color conversion constants
This commit is contained in:
@@ -918,26 +918,20 @@ enum
|
||||
COLOR_BayerGB2GRAY = 87,
|
||||
COLOR_BayerRG2GRAY = 88,
|
||||
COLOR_BayerGR2GRAY = 89,
|
||||
|
||||
COLOR_YUV420i2RGB = 90,
|
||||
COLOR_YUV420i2BGR = 91,
|
||||
COLOR_YUV420sp2RGB = 92,
|
||||
COLOR_YUV420sp2BGR = 93,
|
||||
|
||||
COLOR_YUV2RGB_NV12 = COLOR_YUV420i2RGB,
|
||||
COLOR_YUV2BGR_NV12 = COLOR_YUV420i2BGR,
|
||||
COLOR_YUV2RGB_NV21 = COLOR_YUV420sp2RGB,
|
||||
COLOR_YUV2BGR_NV21 = COLOR_YUV420sp2BGR,
|
||||
COLOR_YUV2RGB_NV12 = 90,
|
||||
COLOR_YUV2BGR_NV12 = 91,
|
||||
COLOR_YUV2RGB_NV21 = 92,
|
||||
COLOR_YUV2BGR_NV21 = 93,
|
||||
COLOR_YUV420sp2RGB = COLOR_YUV2RGB_NV21,
|
||||
COLOR_YUV420sp2BGR = COLOR_YUV2BGR_NV21,
|
||||
|
||||
COLOR_YUV420i2RGBA = 94,
|
||||
COLOR_YUV420i2BGRA = 95,
|
||||
COLOR_YUV420sp2RGBA = 96,
|
||||
COLOR_YUV420sp2BGRA = 97,
|
||||
|
||||
COLOR_YUV2RGBA_NV12 = COLOR_YUV420i2RGBA,
|
||||
COLOR_YUV2BGRA_NV12 = COLOR_YUV420i2BGRA,
|
||||
COLOR_YUV2RGBA_NV21 = COLOR_YUV420sp2RGBA,
|
||||
COLOR_YUV2BGRA_NV21 = COLOR_YUV420sp2BGRA,
|
||||
COLOR_YUV2RGBA_NV12 = 94,
|
||||
COLOR_YUV2BGRA_NV12 = 95,
|
||||
COLOR_YUV2RGBA_NV21 = 96,
|
||||
COLOR_YUV2BGRA_NV21 = 97,
|
||||
COLOR_YUV420sp2RGBA = COLOR_YUV2RGBA_NV21,
|
||||
COLOR_YUV420sp2BGRA = COLOR_YUV2BGRA_NV21,
|
||||
|
||||
COLOR_COLORCVT_MAX =100
|
||||
};
|
||||
|
||||
@@ -225,25 +225,19 @@ enum
|
||||
CV_BayerRG2GRAY = 88,
|
||||
CV_BayerGR2GRAY = 89,
|
||||
|
||||
CV_YUV420i2RGB = 90,
|
||||
CV_YUV420i2BGR = 91,
|
||||
CV_YUV420sp2RGB = 92,
|
||||
CV_YUV420sp2BGR = 93,
|
||||
CV_YUV2RGB_NV12 = 90,
|
||||
CV_YUV2BGR_NV12 = 91,
|
||||
CV_YUV2RGB_NV21 = 92,
|
||||
CV_YUV2BGR_NV21 = 93,
|
||||
CV_YUV420sp2RGB = CV_YUV2RGB_NV21,
|
||||
CV_YUV420sp2BGR = CV_YUV2BGR_NV21,
|
||||
|
||||
CV_YUV2RGB_NV12 = CV_YUV420i2RGB,
|
||||
CV_YUV2BGR_NV12 = CV_YUV420i2BGR,
|
||||
CV_YUV2RGB_NV21 = CV_YUV420sp2RGB,
|
||||
CV_YUV2BGR_NV21 = CV_YUV420sp2BGR,
|
||||
|
||||
CV_YUV420i2RGBA = 94,
|
||||
CV_YUV420i2BGRA = 95,
|
||||
CV_YUV420sp2RGBA = 96,
|
||||
CV_YUV420sp2BGRA = 97,
|
||||
|
||||
CV_YUV2RGBA_NV12 = CV_YUV420i2RGBA,
|
||||
CV_YUV2BGRA_NV12 = CV_YUV420i2BGRA,
|
||||
CV_YUV2RGBA_NV21 = CV_YUV420sp2RGBA,
|
||||
CV_YUV2BGRA_NV21 = CV_YUV420sp2BGRA,
|
||||
CV_YUV2RGBA_NV12 = 94,
|
||||
CV_YUV2BGRA_NV12 = 95,
|
||||
CV_YUV2RGBA_NV21 = 96,
|
||||
CV_YUV2BGRA_NV21 = 97,
|
||||
CV_YUV420sp2RGBA = CV_YUV2RGBA_NV21,
|
||||
CV_YUV420sp2BGRA = CV_YUV2BGRA_NV21,
|
||||
|
||||
CV_COLORCVT_MAX =100
|
||||
};
|
||||
|
||||
@@ -106,7 +106,7 @@ CV_ENUM(CvtMode,
|
||||
CV_YUV2BGR, CV_YUV2RGB, CX_YUV2BGRA, CX_YUV2RGBA
|
||||
)
|
||||
|
||||
CV_ENUM(CvtMode2, CV_YUV420i2BGR, CV_YUV420i2BGRA, CV_YUV420i2RGB, CV_YUV420i2RGBA, CV_YUV420sp2BGR, CV_YUV420sp2BGRA, CV_YUV420sp2RGB, CV_YUV420sp2RGBA)
|
||||
CV_ENUM(CvtMode2, CV_YUV2BGR_NV12, CV_YUV2BGRA_NV12, CV_YUV2RGB_NV12, CV_YUV2RGBA_NV12, CV_YUV420sp2BGR, CV_YUV420sp2BGRA, CV_YUV420sp2RGB, CV_YUV420sp2RGBA)
|
||||
|
||||
struct ChPair
|
||||
{
|
||||
@@ -127,12 +127,12 @@ ChPair getConversionInfo(int cvtMode)
|
||||
case CV_BayerGB2BGR: case CV_BayerGB2BGR_VNG:
|
||||
case CV_BayerGR2BGR: case CV_BayerGR2BGR_VNG:
|
||||
case CV_BayerRG2BGR: case CV_BayerRG2BGR_VNG:
|
||||
case CV_GRAY2BGR: case CV_YUV420i2BGR:
|
||||
case CV_YUV420i2RGB: case CV_YUV420sp2BGR:
|
||||
case CV_GRAY2BGR: case CV_YUV2BGR_NV12:
|
||||
case CV_YUV2RGB_NV12: case CV_YUV420sp2BGR:
|
||||
case CV_YUV420sp2RGB:
|
||||
return ChPair(1,3);
|
||||
case CV_GRAY2BGRA: case CV_YUV420i2BGRA:
|
||||
case CV_YUV420i2RGBA: case CV_YUV420sp2BGRA:
|
||||
case CV_GRAY2BGRA: case CV_YUV2BGRA_NV12:
|
||||
case CV_YUV2RGBA_NV12: case CV_YUV420sp2BGRA:
|
||||
case CV_YUV420sp2RGBA:
|
||||
return ChPair(1,4);
|
||||
case CV_BGR5552GRAY: case CV_BGR5652GRAY:
|
||||
@@ -259,4 +259,4 @@ PERF_TEST_P(Size_CvtMode2, cvtColorYUV420,
|
||||
TEST_CYCLE() cvtColor(src, dst, mode, ch.dcn);
|
||||
|
||||
SANITY_CHECK(dst, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3203,10 +3203,10 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
Bayer2RGB_VNG_8u(src, dst, code);
|
||||
}
|
||||
break;
|
||||
case CV_YUV420sp2BGR: case CV_YUV420sp2RGB: case CV_YUV420i2BGR: case CV_YUV420i2RGB:
|
||||
case CV_YUV420sp2BGRA: case CV_YUV420sp2RGBA: case CV_YUV420i2BGRA: case CV_YUV420i2RGBA:
|
||||
case CV_YUV420sp2BGR: case CV_YUV420sp2RGB: case CV_YUV2BGR_NV12: case CV_YUV2RGB_NV12:
|
||||
case CV_YUV420sp2BGRA: case CV_YUV420sp2RGBA: case CV_YUV2BGRA_NV12: case CV_YUV2RGBA_NV12:
|
||||
{
|
||||
if (dcn <= 0) dcn = (code==CV_YUV420sp2BGRA || code==CV_YUV420sp2RGBA || code==CV_YUV420i2BGRA || code==CV_YUV420i2RGBA) ? 4 : 3;
|
||||
if (dcn <= 0) dcn = (code==CV_YUV420sp2BGRA || code==CV_YUV420sp2RGBA || code==CV_YUV2BGRA_NV12 || code==CV_YUV2RGBA_NV12) ? 4 : 3;
|
||||
CV_Assert( dcn == 3 || dcn == 4 );
|
||||
CV_Assert( sz.width % 2 == 0 && sz.height % 3 == 0 && depth == CV_8U );
|
||||
|
||||
@@ -3218,7 +3218,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
const uchar* uv = y + dstSz.area();
|
||||
|
||||
// http://www.fourcc.org/yuv.php#NV21 == yuv420sp -> a plane of 8 bit Y samples followed by an interleaved V/U plane containing 8 bit 2x2 subsampled chroma samples
|
||||
// http://www.fourcc.org/yuv.php#NV12 == yuv420i -> a plane of 8 bit Y samples followed by an interleaved U/V plane containing 8 bit 2x2 subsampled colour difference samples
|
||||
// http://www.fourcc.org/yuv.php#NV12 == yvu420sp -> a plane of 8 bit Y samples followed by an interleaved U/V plane containing 8 bit 2x2 subsampled colour difference samples
|
||||
if (CV_YUV420sp2RGB == code || COLOR_YUV420sp2RGBA == code)
|
||||
{
|
||||
if (dcn == 3)
|
||||
@@ -3233,14 +3233,14 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
else
|
||||
cvtYUV4202RGBA<0, 1>(dst, src.step, y, uv);
|
||||
}
|
||||
else if (CV_YUV420i2RGB == code || CV_YUV420i2RGBA == code)
|
||||
else if (CV_YUV2RGB_NV12 == code || CV_YUV2RGBA_NV12 == code)
|
||||
{
|
||||
if (dcn == 3)
|
||||
cvtYUV4202RGB<2, 0>(dst, src.step, y, uv);
|
||||
else
|
||||
cvtYUV4202RGBA<2, 0>(dst, src.step, y, uv);
|
||||
}
|
||||
else //if (CV_YUV420i2BGR == code || CV_YUV420i2BGRA == code)
|
||||
else //if (CV_YUV2BGR_NV12 == code || CV_YUV2BGRA_NV12 == code)
|
||||
{
|
||||
if (dcn == 3)
|
||||
cvtYUV4202RGB<0, 0>(dst, src.step, y, uv);
|
||||
|
||||
Reference in New Issue
Block a user