SceVideoExport: Difference between revisions
CelesteBlue (talk | contribs) No edit summary |
No edit summary |
||
Line 171: | Line 171: | ||
* [https://www.iodata.jp/lib/manual/magictvgt_x3/pra5500.htm Dubbing (copy/move) to PSP® go / Walkman®]. | * [https://www.iodata.jp/lib/manual/magictvgt_x3/pra5500.htm Dubbing (copy/move) to PSP® go / Walkman®]. | ||
[[Category:ARM]] | |||
[[Category:Usermode]] | |||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category: | [[Category:Library]] |
Latest revision as of 21:40, 1 May 2023
Video export is a feature present in PSP, PSPgo and PS Vita. It consists in exporting some videos from PC to PSP/PSPgo/PS Vita. An example of use is when you record a video with the I-O Data MagicTV GT X3. I-O Data supported devices list is available here. Then you connect the PS Vita by USB to the host PC and launch the "EMPR" mode on the PS Vita, "USB mode" on the PSP/PSPgo. Finally, on the host PC you select which videos you want to send to the PS Vita and waits for the transfer to finish. On the PSP/PSPgo/PS Vita, the contents are verified by MagicGate Type-R.
EMPR
Embedded Memory with Playback and Recording (EMPR) is the name of a system that supports copyright protection, developed by Sony Corporation.
Note that for PSP/PSPgo, there is also the Sony MediaGo program on PC that allows to transfer videos to the Memory Stick. And for PS Vita there is the Content Manager Assistant program on PC that allows to transfer videos to the Memory Card or internal storage.
Module
Version | World | Privilege |
---|---|---|
1.000.071-3.740.011 | Non-secure | User |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.000.071-3.740.011 | SceVideoExport | Non-secure | User | 0xF0812A7C |
1.500.151-3.740.011 | SceVideoExportEmpr | Non-secure | User | 0x3BA9B5E8 |
2.500.071-3.740.011 | SceVideoExportData | Non-secure | User | 0xFE94CA1D |
Types
typedef struct SceVideoExportInputParam { // size is 0x408 on FW 3.600.011 char path[1024]; char reserved[64]; } SceVideoExportInputParam; typedef struct SceVideoExportOutputParam { // size is 0x440 on FW 3.600.011 char path[1024]; char reserved[8]; } SceVideoExportOutputParam; typedef struct SceVideoExportEmprInputParam { // size is 0x458 on FW 3.600.011 char path[1024]; char unk_400[64]; SceUInt32 unk_440; SceUInt32 unk_444; SceUInt32 unk_448; SceUInt32 unk_44C; SceUInt32 unk_450; SceSize some_size; // must be >= 0x10000 } SceVideoExportEmprInputParam; typedef struct SceVideoExportEmprOutputParam { // size is 0x448 on FW 3.600.011 char path[1024]; SceUInt32 unk_400; SceUInt32 unk_404; char reserved[64]; } SceVideoExportEmprOutputParam; typedef struct SceVideoExportDataOpenParam { // size is 0x24 on FW 3.600.011 SceUInt8 unk_0; // ex: 1 SceUInt8 unk_1; // ex: 2 SceUInt16 unk_2; // ex: 0 SceUInt32 unk_4; SceUInt32 unk_8; SceUInt32 unk_C; SceUInt32 unk_10; SceUInt32 unk_14; SceUInt32 unk_18; SceUInt32 unk_1C; SceSize some_size; // must be >= 0x10000 } SceVideoExportDataOpenParam; typedef struct SceVideoExportDataParam { // size is 0x40 on FW 3.600.011 char reserved[64]; } SceVideoExportDataParam;
SceVideoExport
sceVideoExportFromFile
Version | NID |
---|---|
1.000.071-3.740.011 | 0x4F60A3C8 |
int sceVideoExportFromFile(const SceVideoExportInputParam *pInParam, int unk_one, void *workingMemory, void *cancelCb, void (*progress)(void*, int), void *user, int unk_zero, SceVideoExportOutputParam *pOutParam);
SceVideoExportEmpr
sceVideoExportEmpr
Version | NID |
---|---|
0.931.010-1.000.071 | not present |
1.500.151-3.740.011 | 0x8493BF31 |
Temp name was sceVideoExportEmprFromFile.
int sceVideoExportEmpr(const SceVideoExportEmprInputParam *pInParam, SceVideoExportEmprOutputParam *pOutParam);
SceVideoExportData
sceVideoExportDataOpen
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x3488EA69 |
This is a guessed name.
Opens, create and mount videoexport.dat.
int sceVideoExportDataOpen(const SceVideoExportDataOpenParam *pParam);
sceVideoExportData
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x34953CC0 |
This is a guessed name.
Calls sceVideoExportFromFile with paths containing videoexport.dat and rec0:.
// pParam must be a zeroed buffer int sceVideoExportData(const SceVideoExportDataParam *pParam);
sceVideoExportDataWrite
Version | NID |
---|---|
0.931.010-2.12 | not present |
2.500.071-3.740.011 | 0x8DDE620F |
This is a guessed name.
Writes to videoexport.dat.
int sceVideoExportDataWrite(void *buf, SceSize size);
See also
- SceMagicGate
- SceMgVideo
- IdStorage
- SceSblMgKeyMgr
- SceVshBridge#vshSblQafMgrIsAllowLoadMagicGate is needed for EMPR to work (to detail)
- Dubbing (copy/move) to PSP® go / Walkman®.