56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "vdecmpeg4_Types.h"
|
|
|
|
namespace vdecmpeg4
|
|
{
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
/**
|
|
* Texture structure which characterizes an YUV texture.
|
|
*
|
|
**/
|
|
struct VIDYUVTexture
|
|
{
|
|
uint8* y; //!< Pointer to beginning of texture for y samples
|
|
uint8* u; //!< Pointer to beginning of texture for u samples
|
|
uint8* v; //!< Pointer to beginning of texture for v samples
|
|
void* userData; //!< Arbitrary data
|
|
};
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
/**
|
|
* Video image structure.
|
|
*
|
|
* The decoder returns a pointer to a VIDImage for each frame. Please note that
|
|
* the VIDImage is a subrectangle inside the VIDYUVTexture.
|
|
**/
|
|
struct VIDImage
|
|
{
|
|
int16 width; //!< Width of video image (excluding border region)
|
|
int16 height; //!< height of video image (excluding border region)
|
|
|
|
int16 texWidth; //!< Total width of video texture containing image (including border region)
|
|
int16 texHeight; //!< Total height of video texture containing image (including border region)
|
|
|
|
uint8* y; //!< Pointer to beginning of video y samples
|
|
uint8* u; //!< Pointer to beginning of video u samples
|
|
uint8* v; //!< Pointer to beginning of video v samples
|
|
|
|
void* _private;
|
|
|
|
VIDYUVTexture texture; //!< Our parent texture. We are a subrectangle inside this parent.
|
|
|
|
double time; //!< absolute vop time of this frame in seconds
|
|
|
|
virtual void Release() const; //!< Release image when no longer needed and referenced.
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|