PMP(PSP Media Player)
some modifications here:
bin:
http://jonny.leffe.dnsalias.com/pmp_mod/rar/pmp_mod.rar
src:
http://jonny.leffe.dnsalias.com/pmp_mod ... cecode.rar
base src (from jockyw2001):
http://rapidshare.de/files/5913386/pmp- ... e.tgz.html
changes:
the color space conversion (PIX_FMT_YUV420P -> PIX_FMT_RGBA32) is now done in asm + me
(note: no check for PIX_FMT_YUV420P, some codecs could be broken with this)
some numbers (talking about **csc only** with 480x272 res - @333mhz):
ffmpeg original: ~52 fps
my c version: ~64 fps
my asm version: ~70 fps (lol it's my first mips code, maybe someone could enter here and at least get a better instructions reordering)
asm + me: ~135 fps :O
this traduces in + 4-5 fps for 480x272 mpeg4sp @900 kbps
(low bitrates/resolutions have more speedup - due to a less idct bottleneck)
(curious to see if a vfpu version can do better, is someone already working on this?)
experimenting on the idct now...
EDIT: various me code taken from here: http://forums.ps2dev.org/viewtopic.php?t=2652
bin:
http://jonny.leffe.dnsalias.com/pmp_mod/rar/pmp_mod.rar
src:
http://jonny.leffe.dnsalias.com/pmp_mod ... cecode.rar
base src (from jockyw2001):
http://rapidshare.de/files/5913386/pmp- ... e.tgz.html
changes:
the color space conversion (PIX_FMT_YUV420P -> PIX_FMT_RGBA32) is now done in asm + me
(note: no check for PIX_FMT_YUV420P, some codecs could be broken with this)
some numbers (talking about **csc only** with 480x272 res - @333mhz):
ffmpeg original: ~52 fps
my c version: ~64 fps
my asm version: ~70 fps (lol it's my first mips code, maybe someone could enter here and at least get a better instructions reordering)
asm + me: ~135 fps :O
this traduces in + 4-5 fps for 480x272 mpeg4sp @900 kbps
(low bitrates/resolutions have more speedup - due to a less idct bottleneck)
(curious to see if a vfpu version can do better, is someone already working on this?)
experimenting on the idct now...
EDIT: various me code taken from here: http://forums.ps2dev.org/viewtopic.php?t=2652
Last edited by jonny on Mon Oct 31, 2005 1:19 am, edited 1 time in total.
-
- Posts: 339
- Joined: Thu Sep 29, 2005 4:19 pm
Great work jonny. We look forward to seeing your idct optimizations.
On another note, is anyone hearing odd audio distortions when using PMP? We never heard such distortions in the original JiniCho version, but in jockyw2001 and now jonny's version we're hearing some odd audio distortions when playing back video (with mp3 audio in the avi container).
On another note, is anyone hearing odd audio distortions when using PMP? We never heard such distortions in the original JiniCho version, but in jockyw2001 and now jonny's version we're hearing some odd audio distortions when playing back video (with mp3 audio in the avi container).
-
- Posts: 197
- Joined: Fri Jul 01, 2005 2:50 am
-
- Posts: 197
- Joined: Fri Jul 01, 2005 2:50 am
But it wasn't like that in previous versions. If you know that you've changed something that may affect audio, then fine, but if not, something's changed for the worse.
I've found a couple of WMV codecs that sort of work. One works fine except has fuzzing at the top (like a VHS tape) another loads the first frame and first half second of sound, then bsods. And another (a low quality one) that is mostly gray squares, and the audio is scratchy (plus the usual squelchy sound you get from low kbs). This is merely for information, I don't expect anyone to rush off and make .WMV perfect, i'm sure everyone would prefer to see full quality DivX work first. It was just a bit of info for anyone interested.
Great work so far!
I've found a couple of WMV codecs that sort of work. One works fine except has fuzzing at the top (like a VHS tape) another loads the first frame and first half second of sound, then bsods. And another (a low quality one) that is mostly gray squares, and the audio is scratchy (plus the usual squelchy sound you get from low kbs). This is merely for information, I don't expect anyone to rush off and make .WMV perfect, i'm sure everyone would prefer to see full quality DivX work first. It was just a bit of info for anyone interested.
Great work so far!
At the best of my knowledge, nothing had changed from the original version that could affect audio playback.
Maybe we are using different versions of the sdk that have this side effect.
About wmv... maybe i'm wrong but i don't think someone will go to make it run perfectly.
I think ffmpeg itself doesn't have full support for the latest wmv versions.
Maybe we are using different versions of the sdk that have this side effect.
About wmv... maybe i'm wrong but i don't think someone will go to make it run perfectly.
I think ffmpeg itself doesn't have full support for the latest wmv versions.
-
- Posts: 15
- Joined: Mon Oct 31, 2005 8:46 am
-
- Posts: 41
- Joined: Sat Jul 02, 2005 10:12 am
The new version of PMP works wonders. Most of my mpeg music videos play without any skipping frames. I was skimming through the original code and saw that any audio that is below 44khz is resampled to 44khz. What about 48khz audio streams?
Something odd happens sometimes when I load an Xvid avi. I hear the audio and don't see the video. I'm sure libavcodec supports it because I tried out the SDL version and it works on that particular video, but not on this version.
Anyway, great job on the new version :-)
Something odd happens sometimes when I load an Xvid avi. I hear the audio and don't see the video. I'm sure libavcodec supports it because I tried out the SDL version and it works on that particular video, but not on this version.
Anyway, great job on the new version :-)
-
- Posts: 15
- Joined: Mon Oct 31, 2005 8:46 am
-
- Posts: 15
- Joined: Mon Oct 31, 2005 8:46 am
I think resolutoin needs to be 480x272 or less...cooleyandy wrote: Something odd happens sometimes when I load an Xvid avi. I hear the audio and don't see the video. I'm sure libavcodec supports it because I tried out the SDL version and it works on that particular video, but not on this version.
Anyway, great job on the new version :-)
strange my initial link work, anyway ...
http://rapidshare.de/files/6994743/pmp_ ... e.rar.html
http://rapidshare.de/files/6994743/pmp_ ... e.rar.html
try this
If you having trouble with sound glitches, try to change the priority of video_thread as 0x15 like below.
in my case it fixed the sound problem.
is->video_tid = sceKernelCreateThread("Video thread", video_thread, 0x15, 0x10000, THREAD_ATTR_USER, 0);
also this
static int av_sync_type = AV_SYNC_VIDEO_MASTER;
to
static int av_sync_type = AV_SYNC_AUDIO_MASTER;
in my case it fixed the sound problem.
is->video_tid = sceKernelCreateThread("Video thread", video_thread, 0x15, 0x10000, THREAD_ATTR_USER, 0);
also this
static int av_sync_type = AV_SYNC_VIDEO_MASTER;
to
static int av_sync_type = AV_SYNC_AUDIO_MASTER;
Re: try this
Could you please post/upload a binary compiled with your changes? I'm not able to do it myself, but I would like to see if this solves my audio glitches!JiniCho wrote:If you having trouble with sound glitches, try to change the priority of video_thread as 0x15 like below.
in my case it fixed the sound problem.
is->video_tid = sceKernelCreateThread("Video thread", video_thread, 0x15, 0x10000, THREAD_ATTR_USER, 0);
also this
static int av_sync_type = AV_SYNC_VIDEO_MASTER;
to
static int av_sync_type = AV_SYNC_AUDIO_MASTER;
Thanks in advance.
new bin:
http://jonny.leffe.dnsalias.com/pmp_mod ... p_mod2.rar
src diff:
http://jonny.leffe.dnsalias.com/pmp_mod ... e_diff.rar
many thanks JiniCho :)
http://jonny.leffe.dnsalias.com/pmp_mod ... p_mod2.rar
src diff:
http://jonny.leffe.dnsalias.com/pmp_mod ... e_diff.rar
many thanks JiniCho :)
I have tried some diffrent codec media MPEG1 1700kbps, MPEG2 2000kbps, MPEG4 XviD single pass profile Simple @ L1 600kbps, MPEG4 XviD single pass profile Simple @ L2 900kbps, MPEG4 XviD single pass profile AS @ L2 600kbps and MPEG4 XviD single pass profile AS @ L2 600kbps...
The video that I get best flow is with MPEG1 1700kbps that one is fluent and A/V sync is OK. Mod1 tested this was...
One more thing if the hight pixel is higher then 272 then the upper part of the video will get alot of pixel artifacts, and bluescreen crash the PSP with some error code...
Has anyone found any special codec or setting that is best for 480*272 video with higher bitrate?
Also what is this idct bottleneck?
Can't wait for the streaming version to come out now when DHCP has been figured out, will be sweet!
Nice work everybody, keep it up...
Best regards!
The video that I get best flow is with MPEG1 1700kbps that one is fluent and A/V sync is OK. Mod1 tested this was...
One more thing if the hight pixel is higher then 272 then the upper part of the video will get alot of pixel artifacts, and bluescreen crash the PSP with some error code...
Has anyone found any special codec or setting that is best for 480*272 video with higher bitrate?
Also what is this idct bottleneck?
Can't wait for the streaming version to come out now when DHCP has been figured out, will be sweet!
Nice work everybody, keep it up...
Best regards!
-
- Posts: 47
- Joined: Thu Jan 20, 2005 4:35 am
Digihoe - I just tried both MPEG1 and MPEG2 as per your settings. I re-encoded an episode of Desperate Housewives, using AviSynth to resize the video to 480x272 and Cinemacraft to produce the MPEGs.
Playback still looked very jerky to me - just my visual perception of course, but I'd say that maybe 50% of the frames were dropped at 333MHz? I too am experiencing audio distortion. EDIT: but not so much on the new binary!!
However, picture quality at 480x272 is phenomenal and native resolution playback is tantalising for the future. Kind of makes you wonder what could have been had Sony gone for a true multimedia player and not crippled the inbuilt MPEG4 playback.
Best of luck with the project guys -this is the homebrew tool that I'm following with the most interest :)
Playback still looked very jerky to me - just my visual perception of course, but I'd say that maybe 50% of the frames were dropped at 333MHz? I too am experiencing audio distortion. EDIT: but not so much on the new binary!!
However, picture quality at 480x272 is phenomenal and native resolution playback is tantalising for the future. Kind of makes you wonder what could have been had Sony gone for a true multimedia player and not crippled the inbuilt MPEG4 playback.
Best of luck with the project guys -this is the homebrew tool that I'm following with the most interest :)
Thank youjonny wrote:strange my initial link work, anyway ...
http://rapidshare.de/files/6994743/pmp_ ... e.rar.html
WMV format supported
Is there anyone who could find out how to play WMV files in PSP?
this will definitely be a breakthrough in this technology
is this is possible somehow pls reply
this will definitely be a breakthrough in this technology
is this is possible somehow pls reply
-
- Posts: 197
- Joined: Fri Jul 01, 2005 2:50 am
-
- Posts: 197
- Joined: Fri Jul 01, 2005 2:50 am
-
- Posts: 47
- Joined: Thu Jan 20, 2005 4:35 am
The PMP player looks to be running video decoding in software and there is no access to the chip that handles the MPEG4/AVC decoding in the PSP thus far. I'd say that to handle AVC decoding, PMP would need to have access to this hardware. Software AVC decoding is most likely somewhat beyond a 333MHz CPU.Durante wrote:Sorry for the flamebait-ish reply, but why would anyone actually want to use wmv? Especially now that h.264 is available?
Anyway, great work everyone involved, I'm looking forward to playing full screen h.264 vids at 24 fps ;)
Hmm, I don't agree. Remeber, we're talking about 480*272 here, not some HD (or even NTSC!) resolution. Also, the PSP is not just the main cpu, there is also the ME (already used by jonny's colour space conversion code) and the VFPU which could provide great IPC, though it would require some non-trivial coding to be sure.DigitalFoundry wrote:The PMP player looks to be running video decoding in software and there is no access to the chip that handles the MPEG4/AVC decoding in the PSP thus far. I'd say that to handle AVC decoding, PMP would need to have access to this hardware. Software AVC decoding is most likely somewhat beyond a 333MHz CPU.
Anyway, I'm not saying that it will happen, or that it will be soon, I just want to contest the statement that it's impossible for homebrew to decode full-screen AVC at 24fps, using all the computational resources currently documented.