| Index: include/core/SkYUVSizeInfo.h
 | 
| diff --git a/include/core/SkYUVSizeInfo.h b/include/core/SkYUVSizeInfo.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..2c5a51d794b024e9e30caca73942b191c57d537b
 | 
| --- /dev/null
 | 
| +++ b/include/core/SkYUVSizeInfo.h
 | 
| @@ -0,0 +1,34 @@
 | 
| +/*
 | 
| + * Copyright 2016 Google Inc.
 | 
| + *
 | 
| + * Use of this source code is governed by a BSD-style license that can be
 | 
| + * found in the LICENSE file.
 | 
| + */
 | 
| +
 | 
| +#ifndef SkYUVSizeInfo_DEFINED
 | 
| +#define SkYUVSizeInfo_DEFINED
 | 
| +
 | 
| +struct SkYUVSizeInfo {
 | 
| +    enum {
 | 
| +        kY          = 0,
 | 
| +        kU          = 1,
 | 
| +        kV          = 2,
 | 
| +    };
 | 
| +    SkISize fSizes[3];
 | 
| +
 | 
| +    /**
 | 
| +     * While the widths of the Y, U, and V planes are not restricted, the
 | 
| +     * implementation often requires that the width of the memory allocated
 | 
| +     * for each plane be a multiple of 8.
 | 
| +     *
 | 
| +     * This struct allows us to inform the client how many "widthBytes"
 | 
| +     * that we need.  Note that we use the new idea of "widthBytes"
 | 
| +     * because this idea is distinct from "rowBytes" (used elsewhere in
 | 
| +     * Skia).  "rowBytes" allow the last row of the allocation to not
 | 
| +     * include any extra padding, while, in this case, every single row of
 | 
| +     * the allocation must be at least "widthBytes".
 | 
| +     */
 | 
| +    size_t fWidthBytes[3];
 | 
| +};
 | 
| +
 | 
| +#endif // SkYUVSizeInfo_DEFINED
 | 
| 
 |