p26001-store-acs-soc-fw-app/video/core/SampleFormat.h
2026-09-28 21:33:04 +08:00

50 lines
1.2 KiB
C++

#ifndef D05E30E1_E0D8_43BB_A05A_20ABEF7E2072
#define D05E30E1_E0D8_43BB_A05A_20ABEF7E2072
/*
*******************************************************************************
* INCLUDE
*******************************************************************************
*/
#include "ChannelLayout.h"
#include <string>
namespace Video
{
namespace Core
{
/*
*******************************************************************************
* CLASS DECLARE
*******************************************************************************
*/
enum class SampleFormat
{
NONE = -1,
U8,
S16,
S32,
S64,
FLT,
DBL,
U8P,
S16P,
S32P,
S64P,
FLTP,
DBLP,
NB,
};
const std::string& sampleFormatName(SampleFormat format);
int sampleFormatBitWidth(SampleFormat format);
int sampleFormatBytesPerSample(SampleFormat format);
bool sampleFormatIsPlanar(SampleFormat format);
int sampleFormatCalcLineSize(SampleFormat format, ChannelLayout layout, int samples);
SampleFormat sampleFormatGetPackedFormat(SampleFormat format);
SampleFormat sampleFormatGetPlanarFormat(SampleFormat format);
}
}
#endif