Mesen/Core/VideoDecoder.h

26 lines
589 B
C
Raw Normal View History

#pragma once
#include "stdafx.h"
2015-07-24 03:16:31 +00:00
#include "../Utilities/SimpleLock.h"
#include "EmulationSettings.h"
class VideoDecoder
{
private:
2015-07-24 03:16:31 +00:00
static unique_ptr<VideoDecoder> Instance;
2015-07-24 03:16:31 +00:00
OverscanDimensions _overscan;
uint32_t* _frameBuffer = nullptr;
SimpleLock _frameLock;
2015-07-24 03:16:31 +00:00
uint32_t ProcessIntensifyBits(uint16_t ppuPixel);
void UpdateBufferSize();
public:
2015-07-24 03:16:31 +00:00
static VideoDecoder* GetInstance();
~VideoDecoder();
uint32_t* DecodeFrame(uint16_t* inputBuffer);
void TakeScreenshot(string romFilename);
void DebugDecodeFrame(uint16_t* inputBuffer, uint32_t* outputBuffer, uint32_t length);
};