Home | History | Annotate | Download | only in simd
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_
      6 #define MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "media/base/yuv_convert.h"
     10 
     11 namespace media {
     12 
     13 // These methods are exported for testing purposes only.  Library users should
     14 // only call the methods listed in yuv_convert.h.
     15 
     16 MEDIA_EXPORT void ConvertRGB32ToYUV_SSSE3(const uint8* rgbframe,
     17                                           uint8* yplane,
     18                                           uint8* uplane,
     19                                           uint8* vplane,
     20                                           int width,
     21                                           int height,
     22                                           int rgbstride,
     23                                           int ystride,
     24                                           int uvstride);
     25 
     26 MEDIA_EXPORT void ConvertRGB24ToYUV_SSSE3(const uint8* rgbframe,
     27                                           uint8* yplane,
     28                                           uint8* uplane,
     29                                           uint8* vplane,
     30                                           int width,
     31                                           int height,
     32                                           int rgbstride,
     33                                           int ystride,
     34                                           int uvstride);
     35 
     36 MEDIA_EXPORT void ConvertRGB32ToYUV_SSE2(const uint8* rgbframe,
     37                                          uint8* yplane,
     38                                          uint8* uplane,
     39                                          uint8* vplane,
     40                                          int width,
     41                                          int height,
     42                                          int rgbstride,
     43                                          int ystride,
     44                                          int uvstride);
     45 
     46 MEDIA_EXPORT void ConvertRGB32ToYUV_SSE2_Reference(const uint8* rgbframe,
     47                                                    uint8* yplane,
     48                                                    uint8* uplane,
     49                                                    uint8* vplane,
     50                                                    int width,
     51                                                    int height,
     52                                                    int rgbstride,
     53                                                    int ystride,
     54                                                    int uvstride);
     55 
     56 MEDIA_EXPORT void ConvertRGB32ToYUV_C(const uint8* rgbframe,
     57                                       uint8* yplane,
     58                                       uint8* uplane,
     59                                       uint8* vplane,
     60                                       int width,
     61                                       int height,
     62                                       int rgbstride,
     63                                       int ystride,
     64                                       int uvstride);
     65 
     66 MEDIA_EXPORT void ConvertRGB24ToYUV_C(const uint8* rgbframe,
     67                                       uint8* yplane,
     68                                       uint8* uplane,
     69                                       uint8* vplane,
     70                                       int width,
     71                                       int height,
     72                                       int rgbstride,
     73                                       int ystride,
     74                                       int uvstride);
     75 
     76 }  // namespace media
     77 
     78 #endif  // MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_
     79