Add Movie Menu to Win32

This commit is contained in:
Chris Burgener 2016-09-01 16:45:39 -04:00
parent 1fc6191c85
commit 3d8a49c846
4 changed files with 38 additions and 6 deletions

View file

@ -140,6 +140,14 @@ static void PreparePacket(AVPacket* pkt)
av_init_packet(pkt);
pkt->data = nullptr;
pkt->size = 0;
if (s_stream->codec->coded_frame->pts != AV_NOPTS_VALUE)
{
pkt->pts = av_rescale_q(s_stream->codec->coded_frame->pts,
s_stream->codec->time_base, s_stream->time_base);
}
if (s_stream->codec->coded_frame->key_frame)
pkt->flags |= AV_PKT_FLAG_KEY;
pkt->stream_index = s_stream->index;
}
static const u8 *ConvertBufferTo888RGB(const GPUDebugBuffer &buf, u8 *&temp, u32 &w, u32 &h) {

View file

@ -74,8 +74,9 @@ namespace MainWindow {
MENU_FILE = 0,
MENU_EMULATION = 1,
MENU_DEBUG = 2,
MENU_OPTIONS = 3,
MENU_HELP = 4,
MENU_MOVIE = 3,
MENU_OPTIONS = 4,
MENU_HELP = 5,
// File submenus
SUBMENU_FILE_SAVESTATE_SLOT = 6,
@ -217,6 +218,7 @@ namespace MainWindow {
TranslateMenu(menu, "File", MENU_FILE);
TranslateMenu(menu, "Emulation", MENU_EMULATION);
TranslateMenu(menu, "Debugging", MENU_DEBUG);
TranslateMenu(menu, "Movie", MENU_MOVIE);
TranslateMenu(menu, "Game Settings", MENU_OPTIONS);
TranslateMenu(menu, "Help", MENU_HELP);
@ -271,6 +273,10 @@ namespace MainWindow {
TranslateMenuItem(menu, ID_OPTIONS_CONTROLS);
TranslateMenuItem(menu, ID_OPTIONS_DISPLAY_LAYOUT);
// Movie menu
TranslateMenuItem(menu, ID_MOVIE_DUMPFRAMES);
TranslateMenuItem(menu, ID_MOVIE_USEFFV1);
// Skip display multipliers x1-x10
TranslateMenuItem(menu, ID_OPTIONS_FULLSCREEN, L"\tAlt+Return, F11");
TranslateMenuItem(menu, ID_OPTIONS_VSYNC);
@ -928,6 +934,14 @@ namespace MainWindow {
g_TakeScreenshot = true;
break;
case ID_MOVIE_DUMPFRAMES:
g_Config.bDumpFrames = !g_Config.bDumpFrames;
break;
case ID_MOVIE_USEFFV1:
g_Config.bUseFFV1 = !g_Config.bUseFFV1;
break;
default:
{
// Handle the dynamic shader switching here.
@ -966,6 +980,8 @@ namespace MainWindow {
CHECKITEM(ID_TEXTURESCALING_DEPOSTERIZE, g_Config.bTexDeposterize);
CHECKITEM(ID_EMULATION_CHEATS, g_Config.bEnableCheats);
CHECKITEM(ID_OPTIONS_IGNOREWINKEY, g_Config.bIgnoreWindowsKey);
CHECKITEM(ID_MOVIE_DUMPFRAMES, g_Config.bDumpFrames);
CHECKITEM(ID_MOVIE_USEFFV1, g_Config.bUseFFV1);
static const int displayrotationitems[] = {
ID_EMULATION_ROTATION_H,

View file

@ -19,17 +19,17 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT
// TEXTINCLUDE
//
1 TEXTINCLUDE
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
2 TEXTINCLUDE
BEGIN
"\0"
END
3 TEXTINCLUDE
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
@ -401,7 +401,7 @@ BEGIN
MENUITEM "&5", ID_FILE_SAVESTATE_SLOT_5
END
MENUITEM "Load State", ID_FILE_QUICKLOADSTATE
MENUITEM "Save State", ID_FILE_QUICKSAVESTATE
MENUITEM "Save State", ID_FILE_QUICKSAVESTATE
MENUITEM "Load State File...", ID_FILE_LOADSTATEFILE
MENUITEM "Save State File...", ID_FILE_SAVESTATEFILE
MENUITEM SEPARATOR
@ -445,6 +445,12 @@ BEGIN
MENUITEM "Memory View...", ID_DEBUG_MEMORYVIEW
END
POPUP "Movie"
BEGIN
MENUITEM "Dump Frames", ID_MOVIE_DUMPFRAMES
MENUITEM "Lossless Codec (FFV1)", ID_MOVIE_USEFFV1
END
POPUP "Options"
BEGIN
MENUITEM "Keep PPSSPP On Top", ID_OPTIONS_TOPMOST

View file

@ -328,6 +328,8 @@
#define IDC_GEDBG_BREAKTARGET 40162
#define ID_GEDBG_COPYALL 40163
#define ID_GEDBG_WATCH 40164
#define ID_MOVIE_DUMPFRAMES 40165
#define ID_MOVIE_USEFFV1 40166
// Dummy option to let the buffered rendering hotkey cycle through all the options.
#define ID_OPTIONS_BUFFEREDRENDERINGDUMMY 40500