LCOV - code coverage report
Current view: top level - media/libyuv/libyuv/source - video_common.cc (source / functions) Hit Total Coverage
Test: output.info Lines: 0 5 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright 2011 The LibYuv Project Authors. All rights reserved.
       3             :  *
       4             :  *  Use of this source code is governed by a BSD-style license
       5             :  *  that can be found in the LICENSE file in the root of the source
       6             :  *  tree. An additional intellectual property rights grant can be found
       7             :  *  in the file PATENTS. All contributing project authors may
       8             :  *  be found in the AUTHORS file in the root of the source tree.
       9             :  */
      10             : 
      11             : #include "libyuv/video_common.h"
      12             : 
      13             : #ifdef __cplusplus
      14             : namespace libyuv {
      15             : extern "C" {
      16             : #endif
      17             : 
      18             : #define ARRAY_SIZE(x) (int)(sizeof(x) / sizeof(x[0]))
      19             : 
      20             : struct FourCCAliasEntry {
      21             :   uint32 alias;
      22             :   uint32 canonical;
      23             : };
      24             : 
      25             : static const struct FourCCAliasEntry kFourCCAliases[] = {
      26             :     {FOURCC_IYUV, FOURCC_I420},
      27             :     {FOURCC_YU12, FOURCC_I420},
      28             :     {FOURCC_YU16, FOURCC_I422},
      29             :     {FOURCC_YU24, FOURCC_I444},
      30             :     {FOURCC_YUYV, FOURCC_YUY2},
      31             :     {FOURCC_YUVS, FOURCC_YUY2},  // kCMPixelFormat_422YpCbCr8_yuvs
      32             :     {FOURCC_HDYC, FOURCC_UYVY},
      33             :     {FOURCC_2VUY, FOURCC_UYVY},  // kCMPixelFormat_422YpCbCr8
      34             :     {FOURCC_JPEG, FOURCC_MJPG},  // Note: JPEG has DHT while MJPG does not.
      35             :     {FOURCC_DMB1, FOURCC_MJPG},
      36             :     {FOURCC_BA81, FOURCC_BGGR},  // deprecated.
      37             :     {FOURCC_RGB3, FOURCC_RAW},
      38             :     {FOURCC_BGR3, FOURCC_24BG},
      39             :     {FOURCC_CM32, FOURCC_BGRA},  // kCMPixelFormat_32ARGB
      40             :     {FOURCC_CM24, FOURCC_RAW},   // kCMPixelFormat_24RGB
      41             :     {FOURCC_L555, FOURCC_RGBO},  // kCMPixelFormat_16LE555
      42             :     {FOURCC_L565, FOURCC_RGBP},  // kCMPixelFormat_16LE565
      43             :     {FOURCC_5551, FOURCC_RGBO},  // kCMPixelFormat_16LE5551
      44             : };
      45             : // TODO(fbarchard): Consider mapping kCMPixelFormat_32BGRA to FOURCC_ARGB.
      46             : //  {FOURCC_BGRA, FOURCC_ARGB},  // kCMPixelFormat_32BGRA
      47             : 
      48             : LIBYUV_API
      49           0 : uint32 CanonicalFourCC(uint32 fourcc) {
      50             :   int i;
      51           0 :   for (i = 0; i < ARRAY_SIZE(kFourCCAliases); ++i) {
      52           0 :     if (kFourCCAliases[i].alias == fourcc) {
      53           0 :       return kFourCCAliases[i].canonical;
      54             :     }
      55             :   }
      56             :   // Not an alias, so return it as-is.
      57           0 :   return fourcc;
      58             : }
      59             : 
      60             : #ifdef __cplusplus
      61             : }  // extern "C"
      62             : }  // namespace libyuv
      63             : #endif

Generated by: LCOV version 1.13