From 277378723a0f1fcbfb2f2223a0c4255d5fa74703 Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Thu, 2 Jan 2014 20:31:40 +0000 Subject: [PATCH] Add little endian 555/565 kCMPixelFormat's to alias list BUG=none TESTED=unittests added R=tpsiaki@google.com Review URL: https://webrtc-codereview.appspot.com/6479004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@939 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- README.chromium | 2 +- include/libyuv/version.h | 2 +- include/libyuv/video_common.h | 9 ++++++--- source/video_common.cc | 3 +++ unit_test/video_common_test.cc | 3 +++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.chromium b/README.chromium index c02369355..77e29fbf6 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 934 +Version: 939 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index a00b805fd..199910d79 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 934 +#define LIBYUV_VERSION 939 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/include/libyuv/video_common.h b/include/libyuv/video_common.h index d118cacfb..039efb96d 100644 --- a/include/libyuv/video_common.h +++ b/include/libyuv/video_common.h @@ -71,9 +71,9 @@ enum FourCC { FOURCC_24BG = FOURCC('2', '4', 'B', 'G'), FOURCC_RAW = FOURCC('r', 'a', 'w', ' '), FOURCC_RGBA = FOURCC('R', 'G', 'B', 'A'), - FOURCC_RGBP = FOURCC('R', 'G', 'B', 'P'), // bgr565. - FOURCC_RGBO = FOURCC('R', 'G', 'B', 'O'), // abgr1555. - FOURCC_R444 = FOURCC('R', '4', '4', '4'), // argb4444. + FOURCC_RGBP = FOURCC('R', 'G', 'B', 'P'), // rgb565 LE. + FOURCC_RGBO = FOURCC('R', 'G', 'B', 'O'), // argb1555 LE. + FOURCC_R444 = FOURCC('R', '4', '4', '4'), // argb4444 LE. // 4 Secondary RGB formats: 4 Bayer Patterns. FOURCC_RGGB = FOURCC('R', 'G', 'G', 'B'), @@ -107,6 +107,9 @@ enum FourCC { FOURCC_BGR3 = FOURCC('B', 'G', 'R', '3'), // Alias for 24BG. FOURCC_CM32 = FOURCC(0, 0, 0, 32), // Alias for BGRA kCMPixelFormat_32ARGB FOURCC_CM24 = FOURCC(0, 0, 0, 24), // Alias for RAW kCMPixelFormat_24RGB + FOURCC_L555 = FOURCC('L', '5', '5', '5'), // Alias for RGBO. + FOURCC_L565 = FOURCC('L', '5', '6', '5'), // Alias for RGBP. + FOURCC_5551 = FOURCC('5', '5', '5', '1'), // Alias for RGBO. // 1 Auxiliary compressed YUV format set aside for capturer. FOURCC_H264 = FOURCC('H', '2', '6', '4'), diff --git a/source/video_common.cc b/source/video_common.cc index 0b8cc1537..341c3ea3b 100644 --- a/source/video_common.cc +++ b/source/video_common.cc @@ -41,6 +41,9 @@ static const FourCCAliasEntry kFourCCAliases[] = { #if defined(__APPLE__) {FOURCC_BGRA, FOURCC_ARGB}, // kCMPixelFormat_32BGRA #endif + {FOURCC_L555, FOURCC_RGBO}, // kCMPixelFormat_16LE555 + {FOURCC_L565, FOURCC_RGBP}, // kCMPixelFormat_16LE565 + {FOURCC_5551, FOURCC_RGBO}, // kCMPixelFormat_16LE5551 }; LIBYUV_API diff --git a/unit_test/video_common_test.cc b/unit_test/video_common_test.cc index 8b451f0ce..49c908f6b 100644 --- a/unit_test/video_common_test.cc +++ b/unit_test/video_common_test.cc @@ -61,6 +61,9 @@ TEST_F(libyuvTest, TestCanonicalFourCC) { #else EXPECT_EQ(FOURCC_BGRA, CanonicalFourCC(FOURCC_BGRA)); #endif + EXPECT_EQ(FOURCC_RGBO, CanonicalFourCC(FOURCC_L555)); + EXPECT_EQ(FOURCC_RGBP, CanonicalFourCC(FOURCC_L565)); + EXPECT_EQ(FOURCC_RGBO, CanonicalFourCC(FOURCC_5551)); } TEST_F(libyuvTest, TestFourCC) {