gecko-dev/dom/media/ImageConversion.h
Chun-Min Chang d6b0361f8d Bug 1881647 - Enable WMFMediaDataEncoder to encode RGBA images r=media-playback-reviewers,padenot
This patch extends the capabilities of WMFMediaDataEncoder to support
the encoding of RGBA images. It achieves this by integrating a new
function, ConvertToNV12, which efficiently converts RGB* images to the
NV12 format, making the encoding of RGBA content on Windows possible.

Depends on D208168

Differential Revision: https://phabricator.services.mozilla.com/D207899
2024-05-01 04:24:11 +00:00

32 lines
1,010 B
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-*/
/* 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 ImageToI420Converter_h
#define ImageToI420Converter_h
#include "nsError.h"
namespace mozilla {
namespace layers {
class Image;
} // namespace layers
/**
* Converts aImage to an I420 image and writes it to the given buffers.
*/
nsresult ConvertToI420(layers::Image* aImage, uint8_t* aDestY, int aDestStrideY,
uint8_t* aDestU, int aDestStrideU, uint8_t* aDestV,
int aDestStrideV);
/**
* Converts aImage to an NV12 image and writes it to the given buffers.
*/
nsresult ConvertToNV12(layers::Image* aImage, uint8_t* aDestY, int aDestStrideY,
uint8_t* aDestUV, int aDestStrideUV);
} // namespace mozilla
#endif /* ImageToI420Converter_h */