From db0509560e06a15655b2839e3fe6ce87f0e417fe Mon Sep 17 00:00:00 2001 From: degasus Date: Sat, 8 Oct 2016 16:23:04 +0200 Subject: [PATCH] AVIDump: Hard code rgba. --- Source/Core/VideoBackends/D3D/Render.cpp | 4 ++-- Source/Core/VideoBackends/D3D12/Render.cpp | 3 +-- Source/Core/VideoBackends/OGL/Render.cpp | 2 +- Source/Core/VideoBackends/Vulkan/Renderer.cpp | 3 +-- Source/Core/VideoCommon/AVIDump.cpp | 16 +++------------- Source/Core/VideoCommon/AVIDump.h | 8 +------- Source/Core/VideoCommon/RenderBase.cpp | 6 ++---- Source/Core/VideoCommon/RenderBase.h | 4 +--- 8 files changed, 12 insertions(+), 34 deletions(-) diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index 7ee261d912..d3a44e4dfa 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -870,8 +870,8 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, D3D11_MAPPED_SUBRESOURCE map; D3D::context->Map(s_screenshot_texture, 0, D3D11_MAP_READ, 0, &map); - DumpFrameData(reinterpret_cast(map.pData), source_width, source_height, map.RowPitch, - AVIDump::DumpFormat::FORMAT_RGBA); + DumpFrameData(reinterpret_cast(map.pData), source_width, source_height, + map.RowPitch); FinishFrameData(); D3D::context->Unmap(s_screenshot_texture, 0); diff --git a/Source/Core/VideoBackends/D3D12/Render.cpp b/Source/Core/VideoBackends/D3D12/Render.cpp index 53d6eb3d7f..1c1fd51ad6 100644 --- a/Source/Core/VideoBackends/D3D12/Render.cpp +++ b/Source/Core/VideoBackends/D3D12/Render.cpp @@ -848,8 +848,7 @@ void Renderer::SwapImpl(u32 xfb_addr, u32 fb_width, u32 fb_stride, u32 fb_height CheckHR(s_screenshot_texture->Map(0, &read_range, &screenshot_texture_map)); DumpFrameData(reinterpret_cast(screenshot_texture_map), source_width, source_height, - dst_location.PlacedFootprint.Footprint.RowPitch, - AVIDump::DumpFormat::FORMAT_RGBA); + dst_location.PlacedFootprint.Footprint.RowPitch); FinishFrameData(); D3D12_RANGE write_range = {}; diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 4b8b638212..e6a264e394 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -1469,7 +1469,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, flipped_trc.GetHeight(), GL_RGBA, GL_UNSIGNED_BYTE, image.data()); DumpFrameData(image.data(), flipped_trc.GetWidth(), flipped_trc.GetHeight(), - flipped_trc.GetWidth() * 4, AVIDump::DumpFormat::FORMAT_RGBA, true); + flipped_trc.GetWidth() * 4, true); FinishFrameData(); } // Finish up the current frame, print some stats diff --git a/Source/Core/VideoBackends/Vulkan/Renderer.cpp b/Source/Core/VideoBackends/Vulkan/Renderer.cpp index f164f132a7..12b425de2c 100644 --- a/Source/Core/VideoBackends/Vulkan/Renderer.cpp +++ b/Source/Core/VideoBackends/Vulkan/Renderer.cpp @@ -496,8 +496,7 @@ void Renderer::SwapImpl(u32 xfb_addr, u32 fb_width, u32 fb_stride, u32 fb_height DumpFrameData(reinterpret_cast(m_screenshot_readback_texture->GetMapPointer()), static_cast(m_screenshot_render_texture->GetWidth()), static_cast(m_screenshot_render_texture->GetHeight()), - static_cast(m_screenshot_readback_texture->GetRowStride()), - AVIDump::DumpFormat::FORMAT_RGBA); + static_cast(m_screenshot_readback_texture->GetRowStride())); FinishFrameData(); } } diff --git a/Source/Core/VideoCommon/AVIDump.cpp b/Source/Core/VideoCommon/AVIDump.cpp index ab5b99c993..80af9f8d84 100644 --- a/Source/Core/VideoCommon/AVIDump.cpp +++ b/Source/Core/VideoCommon/AVIDump.cpp @@ -47,7 +47,6 @@ static u64 s_last_pts; static int s_current_width; static int s_current_height; static int s_file_index = 0; -static AVIDump::DumpFormat s_current_format; static const u8* s_stored_frame_data; static int s_stored_frame_width; static int s_stored_frame_height; @@ -63,18 +62,9 @@ static void InitAVCodec() } } -bool AVIDump::Start(int w, int h, DumpFormat format) +bool AVIDump::Start(int w, int h) { - if (format == DumpFormat::FORMAT_BGR) - { - s_pix_fmt = AV_PIX_FMT_BGR24; - } - else - { - s_pix_fmt = AV_PIX_FMT_RGBA; - } - - s_current_format = format; + s_pix_fmt = AV_PIX_FMT_RGBA; s_width = w; s_height = h; @@ -320,7 +310,7 @@ void AVIDump::CheckResolution(int width, int height) int temp_file_index = s_file_index; Stop(); s_file_index = temp_file_index + 1; - Start(width, height, s_current_format); + Start(width, height); s_current_width = width; s_current_height = height; } diff --git a/Source/Core/VideoCommon/AVIDump.h b/Source/Core/VideoCommon/AVIDump.h index a3b2ef4bd5..2d1dc89185 100644 --- a/Source/Core/VideoCommon/AVIDump.h +++ b/Source/Core/VideoCommon/AVIDump.h @@ -15,13 +15,7 @@ private: static void StoreFrameData(const u8* data, int width, int height, int stride); public: - enum class DumpFormat - { - FORMAT_BGR, - FORMAT_RGBA - }; - - static bool Start(int w, int h, DumpFormat format); + static bool Start(int w, int h); static void AddFrame(const u8* data, int width, int height, int stride); static void Stop(); static void DoState(); diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index e523fd8a67..4c0abf318a 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -555,8 +555,7 @@ bool Renderer::IsFrameDumping() return false; } -void Renderer::DumpFrameData(const u8* data, int w, int h, int stride, AVIDump::DumpFormat format, - bool swap_upside_down) +void Renderer::DumpFrameData(const u8* data, int w, int h, int stride, bool swap_upside_down) { #if defined(HAVE_LIBAV) || defined(_WIN32) if (w == 0 || h == 0) @@ -564,7 +563,6 @@ void Renderer::DumpFrameData(const u8* data, int w, int h, int stride, AVIDump:: m_last_framedump_width = w; m_last_framedump_height = h; - m_last_framedump_format = format; m_last_framedump_stride = stride; // TODO: Refactor this. Right now it's needed for the implace flipping of the image. @@ -572,7 +570,7 @@ void Renderer::DumpFrameData(const u8* data, int w, int h, int stride, AVIDump:: if (!m_last_frame_dumped) { - m_AVI_dumping = AVIDump::Start(w, h, format); + m_AVI_dumping = AVIDump::Start(w, h); if (!m_AVI_dumping) { OSD::AddMessage("AVIDump Start failed", 2000); diff --git a/Source/Core/VideoCommon/RenderBase.h b/Source/Core/VideoCommon/RenderBase.h index 9a78ce4a4b..e509d10530 100644 --- a/Source/Core/VideoCommon/RenderBase.h +++ b/Source/Core/VideoCommon/RenderBase.h @@ -148,8 +148,7 @@ protected: static void RecordVideoMemory(); bool IsFrameDumping(); - void DumpFrameData(const u8* data, int w, int h, int stride, AVIDump::DumpFormat format, - bool swap_upside_down = false); + void DumpFrameData(const u8* data, int w, int h, int stride, bool swap_upside_down = false); void FinishFrameData(); static volatile bool s_bScreenshot; @@ -195,7 +194,6 @@ private: int m_last_framedump_width = 0; int m_last_framedump_height = 0; int m_last_framedump_stride = 0; - AVIDump::DumpFormat m_last_framedump_format; }; extern std::unique_ptr g_renderer;