mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
f415a5ea4e
This removes windows line endings throughout the files, and clang-formats them. Differential Revision: https://phabricator.services.mozilla.com/D24513 --HG-- extra : moz-landing-system : lando
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef YUVBufferGenerator_h
|
|
#define YUVBufferGenerator_h
|
|
|
|
#include "ImageContainer.h"
|
|
#include "mozilla/AlreadyAddRefed.h"
|
|
#include "nsTArray.h"
|
|
#include "Point.h" // mozilla::gfx::IntSize
|
|
|
|
// A helper object to generate of different YUV planes.
|
|
class YUVBufferGenerator {
|
|
public:
|
|
void Init(const mozilla::gfx::IntSize& aSize);
|
|
mozilla::gfx::IntSize GetSize() const;
|
|
already_AddRefed<mozilla::layers::Image> GenerateI420Image();
|
|
already_AddRefed<mozilla::layers::Image> GenerateNV12Image();
|
|
already_AddRefed<mozilla::layers::Image> GenerateNV21Image();
|
|
|
|
private:
|
|
mozilla::layers::Image* CreateI420Image();
|
|
mozilla::layers::Image* CreateNV12Image();
|
|
mozilla::layers::Image* CreateNV21Image();
|
|
mozilla::gfx::IntSize mImageSize;
|
|
nsTArray<uint8_t> mSourceBuffer;
|
|
};
|
|
|
|
#endif // YUVBufferGenerator_h
|