mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-22 20:36:22 +02:00
ImDebugger: list the sceVideocodec contexts alongside sceAudiocodec
Same shape as the audio table: one row per open context, with its EDRAM block and frame buffer allocation. Both are in ME memory, so the addresses shown are in that space, not in PSP RAM. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ad7cfefd49
commit
9dfce3ec2f
@@ -47,6 +47,7 @@
|
||||
#include "Core/HLE/sceAtrac.h"
|
||||
#include "Core/HLE/sceAudio.h"
|
||||
#include "Core/HLE/sceAudiocodec.h"
|
||||
#include "Core/HLE/sceVideocodec.h"
|
||||
#include "Core/HLE/sceMp3.h"
|
||||
#include "Core/HLE/AtracCtx.h"
|
||||
#include "Core/HLE/sceSas.h"
|
||||
@@ -1577,6 +1578,39 @@ void DrawMediaDecodersView(ImConfig &cfg, ImControl &control) {
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<VideocodecCtxInfo> videoCtxs;
|
||||
VideocodecGetCtxInfo(&videoCtxs);
|
||||
if (ImGui::CollapsingHeaderWithCount("sceVideocodec", (int)videoCtxs.size(), ImGuiTreeNodeFlags_DefaultOpen)) {
|
||||
if (ImGui::BeginTable("videocodecs", 7, ImGuiTableFlags_RowBg | ImGuiTableFlags_BordersH)) {
|
||||
ImGui::TableSetupColumn("CtxAddr", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("Type", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("Size", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("Frames", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("Decoder", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("EDRAM", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("Frame buffers", ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableHeadersRow();
|
||||
for (const VideocodecCtxInfo &ctx : videoCtxs) {
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%08x", ctx.ctxAddr);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("H.264 (%d)", ctx.type);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%dx%d", ctx.width, ctx.height);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%d", ctx.frameCount);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::TextUnformatted(ctx.hasDecoder ? "open" : "-");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%08x (%d)", ctx.edramToken, ctx.edramSize);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%08x (%d)", ctx.frameBuffers, ctx.frameBuffersSize);
|
||||
}
|
||||
ImGui::EndTable();
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user