PMP Mod v2.02 & PMP Mod AVC v1.02

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

thanks for the info!
it's really nice to know :)
things like this and encouragement from users really keep me motivated
do you think it s possible to support interlace divx 5.2 in pmpmod..?
i would like to see the result, it s perhaps a solution for safe biterate
libavcodec (the lib i'm using to decode video) probably support this (i have never tested this)
the problem is that the output on psp must be progressive, so actually more power would be required to do deinterlacing in realtime
(otherwise interlaced video will not looks good on psp)
indianajonesilm
Posts: 15
Joined: Tue Feb 08, 2005 6:36 pm

Post by indianajonesilm »

Hi Jonny, I don't know if you or anyone else is still interested in the results of your memory stick benchmark but I just got one of the Ultra II 2GB Pro Duo's and I didn't see anyone post the results for this 2GB stick.

SanDisk Ultra II 2.0GB Pro Duo
FPS = 1540

So it seems that you will not get better PMP performance with this more expensive stick than with the regular blue SanDisk, but the write speed is way faster.

File transfer to PSP of a 747MB PMP file:

Blue 1GB SanDisk Pro Duo = 3min 21sec
Black 2GB SanDisk Ultra II Pro Duo = 1min 59sec
miemt11
Posts: 89
Joined: Sun Nov 20, 2005 5:29 pm

Post by miemt11 »

newer version for mencoder date Jan 31, 2006 released

http://oss.netfarm.it/mplayer-win32.php
PMP Simple Converter 0.08 Package Lite edition
http://dl.qj.net/PMP-Simple-Converter-0 ... 8/catid/30
PMP Simple Converter 0.07 Package Lite edition
http://www8.rapidupload.com/d.php?file= ... path=16370
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

thanks indianajonesilm

(yep, actually i don't need more tests on this direction :)
excalibur
Posts: 11
Joined: Sun Jan 15, 2006 8:36 pm

Post by excalibur »

thanks for your reply jonny,
but i have test interlace xvid and divx and doesn t work,
i m right with you for the use of deinterlace filter but not really for the power , because you have n/2 frame to decompresse (idct etc...) , perhaps this way don t economise bitrate.. it s only a idea but the code fot deinterlace exist so it s possible adapte this more easly...
thanks for your job..

sample script to make a interlace file...

#SOURCE:
directshowsource("the_new_world_h720p.mov")

#MANUAL RESIZE:
BicubicResize(480,208,0.333,0.333)

SeparateFields()
SelectEvery(4,0,3)
Weave
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

Correct me if i'm wrong.
Your idea is to produce and encode interlaced material, in order to save bitrate and lower the complexity required in the decoding side.

Your script produce interlaced material. The main problem is that also half the frames per second of the video.
Once the video is decoded, there would be 2 solution to show it:

1) deinterlace it (for example blending): the result would be a full resolution picture, but the video would have half of the originals fps
2) restore the progressive video, ordering the fields: the result would be a video with the original fps, but half resolution

so, in both cases, the result will simply converge on halfing the details (halfing the fps or halfing the resolution)
(there is no need to interlace the video to obtain this effects)

have i got your point?
Last edited by jonny on Mon Feb 06, 2006 6:15 am, edited 4 times in total.
excalibur
Posts: 11
Joined: Sun Jan 15, 2006 8:36 pm

Post by excalibur »

your analyse is right..
...sorry for this dead end...

a personnal question jonny..where do you come from ??
(this is for the language ..i m french my english is so bad.. ;-) )
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

i'm from Italy. i "google" 30% of the words i write :)
JoAl
Posts: 7
Joined: Mon Aug 15, 2005 5:11 am

Post by JoAl »

Jonny, would it be (technically) possible to read input data stream using WiFi (FTP or HTTP protocol) instead of reading it from memory card? Does anybody know the PSP's WiFi transfer speed?

It would be nice option to put a bunch of movies on wireless router with embedded HD...
pspkrazy
Posts: 49
Joined: Mon Jul 04, 2005 1:31 am

transfer speed

Post by pspkrazy »

I've made tries with wifi host0 (search forum) and I've patched pmpmod to use it.

Some pmp will work <500kbit/s.

It is not only a matter of transfer speed (PSP wifi can handle 300KB/s = 3Mbit) : wifi has a big CPU cost.

When I'm happy with my patch maybe i will release it.
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

wifi has a big CPU cost
i wasn't aware of this, maybe further optimizations on the pmpmod core will make stuffs a little better in the future.

i was thinking that also making a complete server on pc side that resize/reencode in realtime would be a funny project (some dreaming here :).
yoshaw
Posts: 30
Joined: Thu Jan 05, 2006 7:15 am

Post by yoshaw »

jonny wrote: i was thinking that also making a complete server on pc side that resize/reencode in realtime would be a funny project (some dreaming here :).
Hey, thats not far from reality if I'm not mistaken. Because someone actually did it with Xbox360. I think it had something to do with encoding divx/xvid movies in realtime(on the fly) to be converted into Xbox360 ready formats through a PC wirelessly so Xbox360 can play it on HDTV.

So yea, maybe someone might be able to pull it off via PSP too! Likewise, who knew a month ago that Xvid would be playable on PSP ... you know ;) :P
pspkrazy
Posts: 49
Joined: Mon Jul 04, 2005 1:31 am

thanks jonny

Post by pspkrazy »

i wasn't aware of this, maybe further optimizations on the pmpmod core will make stuffs a little better in the future.
Yes you are right.

Your last optimization (from v1.02) make things better.

I am waiting for your work :) Especially the one on Datel HD. Maybe the buffering you will make can improve wifi too.

Will avi will come back one day ? Cause there are some great "frame servers" arround. Resizing can be done this way (+host0 !!!)
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

Will avi will come back one day ?
not from me :)

i was thinking that using ffmpeg code as base for the server, resizing/reencoding should be not that hard.
User avatar
hyedipin
Posts: 74
Joined: Sun Jan 15, 2006 2:57 pm

Post by hyedipin »

I tried wooolF's guide, but when compared to "standalone" or manual rips/encodes, right out of DVD to PMP seems to be a large file, and sharpness is a bit over the edge, as it feels like the quality is well over what PSP can display and over what we need. Colors are not muted and does not have "UMD" feel. Otherwise, the encoding is good, but more than what we need on PSP. I believe wooolF should have waited until we get a "standard" pmp format.
Jan 18th v.0.07 - PMP Simple Converter by miemt11 to use with PMP MOD Player on your PSP PACKAGED ready. http://rapidshare.de/files/11293003/PMP ... k.rar.html
http://forums.ps2dev.org/viewtopic.php?p=33359#33359
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

@hyedipin:

please, as specified in the first message:
This thread is only for application-specific discussion of PMP Mod, issues, updates, suggestions, feedback.
digihoe
Posts: 108
Joined: Sat May 14, 2005 7:40 pm

Post by digihoe »

As you know from the begining a streaming server would be the BOMB! And if that streaming server could be connected with PVR functions on the computer side it could act as a Poor Man's Locationfree Player (PMLP) with maybe DVB-S/-T/-C and maybe DVB-H (since I have seen that it could be captured using DVB-T)... DVB-H should already be MPEG4 480x272, but AVC format...

Streaming would be the BOMB!

Best regards and thanks to everybody who has made the PSP what it is today!
pspkrazy
Posts: 49
Joined: Mon Jul 04, 2005 1:31 am

resizing ?

Post by pspkrazy »

Code: Select all

i was thinking that using ffmpeg code as base for the server, resizing/reencoding should be not that hard.
And what about the index of frames ? Is pmp easily streamable ?
Or is it possible to have a pmp without index ?

What is exactly the purpose of this frame index ?
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

the actual index contains frame lengths and keyframe information.

the current pmp format is not streamable (audio/video frames are not interleaved)

in the next version the av frames will be interleaved (i'm doing this to maximize reading speed)
there will be packets, containing a video frame, 1 or more audio frames and a sort of frame timestamps.

to implement streaming, the natural way would be the server outputting this packets.

probably the most difficult part on the server side would be interleaving av in the correct way
kaveman
Posts: 30
Joined: Sun Jan 15, 2006 10:11 pm

Post by kaveman »

interesting that the PMP container isn't interleaved - i assumed it was (not for any particular reason!)

also good to know that the container isn't final, so i won't go doing 'archival' conversions en-masse! (yet!)

in any case I had noticed that the container overhead that avi suffers from seemed to be missing in the PMP format, which is great. the fact that it isn't interleaved suggests to me there will be additional playing optimisations to come - using xvid i'm having to use my 512mb sandisk card as my 2gig sony just doesn't cut it speed-wise, with a fair amount of audio stuttering at times.

anyway, since pmp1.02, i've been busy with a whole bunch of encoding tests with mencoder/xvid over the last week or so, and as soon as my 5 day restriction is over on doom9, i'll start posting some comments, thoughts, questions and suggestions (that thread needs some posts! :p) my goals are quality vs speed vs filesize - as with everything in life, things should be a balance ;)

keep up the GREAT work jonny!

PS: oh and jonny - remember the sync issues i mentioned regarding audio - you indicated that the problem was to do with incorrect lengths. well since I have moved to 2-pass xvid encoding (in favour of divx which i was using at first) the a-v differences have become negligible on the same files as before, which seems to have solved that problem. in each case harddup had been used, so i'm not sure why divx was producing incorrect video lengths, but there you have it!
604000
Posts: 10
Joined: Tue Jan 31, 2006 9:29 am
Contact:

Post by 604000 »

in the next version the av frames will be interleaved (i'm doing this to maximize reading speed)
there will be packets, containing a video frame, 1 or more audio frames and a sort of frame timestamps.
maybe this is a stupid question, but will the current .pmp files be compatible with such release? i have no idea about how the container works, so it'd be important to know it for not deleting the audio and video files before the pmp file conversion.

Furthermore, i've been playing files of 40 minutes each one and sometimes the audio isn't played properly. it happens always in the same scene and the original mp3 is ok. The file isn't too big. It's only a 768kbps xvid with audio at 128. The file is about 260mb and when it happens the ms led flashes a little bit faster. It only happens for ten seconds more or less and then it continues working perfectly. Have you seen any problem like this?
kaveman
Posts: 30
Joined: Sun Jan 15, 2006 10:11 pm

Post by kaveman »

maybe this is a stupid question, but will the current .pmp files be compatible with such release? i have no idea about how the container works, so it'd be important to know it for not deleting the audio and video files before the pmp file conversion.
good question - personally i've been encoding stuff for random viewing here and there, but over time I imagine i'd want to keep stuff. if changing the container format will mean the newer player won't adhere to the legacy format, then it would make sense to keep original (converted) avi's - but jonny you'll be the one in the know on this. as i'm still experimenting a lot with encoding settings, this isn't so much of an issue for me, as i've been transcoding stuff numerous times as it is!
Furthermore, i've been playing files of 40 minutes each one and sometimes the audio isn't played properly. it happens always in the same scene and the original mp3 is ok. The file isn't too big. It's only a 768kbps xvid with audio at 128. The file is about 260mb and when it happens the ms led flashes a little bit faster. It only happens for ten seconds more or less and then it continues working perfectly. Have you seen any problem like this?
to save jonny a bit of time (i hope you don't mind - keep on coding my friend ;)) this is a common problem, primarily due (it would seem) to fps/bitrate and media access speed. on complex scenes this is more common. if you look through some previous pages, you'll see that slower media will exhibit this more, especially with a higher fps/bitrate. I have this issue with my 2gig sony card, but many videos that stutter on that, work well with my 512mb sandisk. jonny has already mentioned a certain fps hit that certain media will have (look through the thread!) but the biggest thing to be aware of is that jonny is working hard on trying to optimise everything to work with the datel 4gig HD, which is much, much slower than any memory stick. thus if he succeeds with this, you can assume the pretty much anything you put onto a memory stick (assuming you don't go crazy with fps/bitrate) will work fine. fingers crossed.

a 'temporary solution' to this problem is the pause the video [square] and continue [X] - the psp buffer fills with data, and can then continue as normal, at least for a short moment or two before stuttering again (depending on what else is yet to come in your video). it's not ideal, but much of what jonny is doing, for example interleaving the container format, should help, amongst optimising playing code etc...

another option is to try an encode with divx - this seems to have a lower cpu overhead at the same bitrate (at the expense of quality) where xvid will give a little more detail.
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

@kaveman:
so i won't go doing 'archival' conversions en-masse! (yet!)
yep don't do this :)
probably the next version of the format will be the definitive one
in any case I had noticed that the container overhead that avi suffers from seemed to be missing in the PMP format
the overhead will increase a bit in the next version :(
(that thread needs some posts! :p)
lol you are right


@604000:
maybe this is a stupid question, but will the current .pmp files be compatible with such release? i have no idea about how the container works, so it'd be important to know it for not deleting the audio and video files before the pmp file conversion.
the current format will be not compatible with the next release (you'll get an error that will direct you to v1.00 - v1.02)
i'm not sure if i'll do a converter (i don't have a large amount of free time, i prefer to cut things that are not strictly necessary)

for the second question you have got a perfect answer from kaveman :)
i only add that using profiles can help too, GiBBz reported good results with XviD using the DXN HT PAL profile.
604000
Posts: 10
Joined: Tue Jan 31, 2006 9:29 am
Contact:

Post by 604000 »

@ jonny and kaveman

thanks for your explanation. in this case i'll keep the original video and audio files to save time compressing again. it was only curiosity, i totally agree that the most important thing is continue working on a better core, no matter if the files are not compatible. you're doing a really great work. since pmp mod was released i'm spending more time watching videos than gaming.

and about the stuttering problem i had, i thought that it happened with files @ 29 fps or more and higher bitrates. i was confused because it happened always exactly in the same minute and tried diferent enconding settings.

thanks again for your reply!
Eingang
Posts: 59
Joined: Wed Jan 04, 2006 7:33 am

Post by Eingang »

Jonny, please do not forget that we have still that sound issue with that beep and noise in background... would be really nice to get good audio quality !
scyrax
Posts: 18
Joined: Tue Feb 07, 2006 11:25 am

Post by scyrax »

@jonny

I`ve had an interesting finding,as we all known audio stutters when playing heavy scene especially at high bitrates or high framerates.
but if you pause playing as soon as it began to stutter,and then resume,you will find it stutters no more~~ and stutter only recurs in several seconds if heavy scene continues.otherwise it plays flawlessly afterward.
Even I tested 2000kbps 30fps video with heavy scene,it also plays flawlessly using pause-resume method,the only problem is this perfect situation wouldn't last long,usually stutter recurs in about 1-2secs,much quicker than 25fps video...

so I guess the peak processing power of psp was enough to do this heavy stuff,it must be sth to do with the buffer,am I right??

ps:Video with pure color(red,blue etc.. )seems to be blocky(artifacts)on psp.but the original avi which was 480x272 with nosound (used to generate pmp) seems no problem on pc,is there any simplification on the decoder?(sony`s offcial pmf format suffers the same problem,but it seems ok in umd video)
Last edited by scyrax on Tue Feb 07, 2006 4:57 pm, edited 2 times in total.
k0nan
Posts: 36
Joined: Tue Jan 03, 2006 12:43 pm

Post by k0nan »

Eingang wrote:Jonny, please do not forget that we have still that sound issue with that beep and noise in background... would be really nice to get good audio quality !
I used to encounter what you describe or something similar (a slight but constant ring noise in the background) when converting from an AC3 audio source. If you encode DVDs or other AC3 sources with mencoder, are you using the 'volume normalization' option? This cleared up all of my issues with AC3 sources and I've had perfect audio ever since.
jonny
Posts: 351
Joined: Thu Sep 22, 2005 5:46 pm
Contact:

Post by jonny »

@Eingang:

can you resend me the sample via PM?
i was making a PM cleanup and i've erroneously deleted all the PMs in my inbox :S
(also, you could try if k0nan advice fit your scenario)


@scyrax:
but if you pause playing as soon as it began to stutter,and then resume,you will find it stutters no more
yep this is already know, when the video is paused the decoding goes on until internal buffers are full.
kaveman also explained this some messages up :)
Video with pure color(red,blue etc.. )seems to be blocky(artifacts)on psp.but the original avi which was 480x272 with nosound (used to generate pmp) seems no problem on pc
in part, the cause could be the psp lcd
you have also to take into account that on psp there is no postprocessing (i'm sure on pc you have deblocking/deringing activated)
scyrax
Posts: 18
Joined: Tue Feb 07, 2006 11:25 am

Post by scyrax »

in part, the cause could be the psp lcd
you have also to take into account that on psp there is no postprocessing (i'm sure on pc you have deblocking/deringing activated)
emm,it seems to be related to the postprocessing.
UMD video suffers no kinds of this blocky because its original resolution was 720x480,and resizing to 480x272 consequently produces less color-blocky image.480x272 xvid video played on pc can also produce no color-blocky image with postprocessing.
and last,both 480x272 video source(pmp or SONY`s offical pmf)played on psp have no postprocessing at all,thus leads to ............ :)
kaveman
Posts: 30
Joined: Sun Jan 15, 2006 10:11 pm

Post by kaveman »

scyrax wrote: ps:Video with pure color(red,blue etc.. )seems to be blocky(artifacts)on psp.but the original avi which was 480x272 with nosound (used to generate pmp) seems no problem on pc,is there any simplification on the decoder?(sony`s offcial pmf format suffers the same problem,but it seems ok in umd video)
one of the 'unique' things about encoding video for the psp is that you are coding for a fixed resolution device, thus encodes are 'pixel perfect' to the psp's lcd. on a PC, invariably, when people make compressed videos they are more often than not played on screens that have resolutions far in excess of the original avi's. this allows the pc to do some scaling and post-processing that helps to avoid the stair effect you see as you are extrapolating pixels when increasing output resolution. (actually there's a lot more to it than that, but it is a factor).

I've been experimenting with encoding settings to help avoid stepping, as, as jonny points out, there is no post-processing on the psp. this means more time and care needs to be spent on the encoding side, to try to avoid some of these kind of artifacts. blocking is another issue, and temporal noise, amongst others.

without wanting to go too off-topic and talk about encoding too much, there are some things you can try - the 'chroma_opt' in mencoder (i'm using mencoder, but the options are in any xvid build) for xvid is designed to help reduce stepping by raising the accuracy of colour segments and neighbouring areas. additionally, a higher bitrate will also help.

additionally, selecting 'chroma_me' can help with colour movement by raising the motion estimation for colour (similar to raising me_quality but for colour)

perhaps try adding some simple post-processing near the end of the filter chain (pp=,fspp,spp,pp7 - i prefer the last one for simplicity, but the pp= option allows you to select your own filters for deblocking/deringing etc.).

of course all these options i mention will have an impact on encoding time. take a look at http://ronald.vslcatena.nl/docs/xvidfaq.html for a great xvid options guide

@jonny
this brings me to another point i'd been pondering. if you make headway in to being able to optimise reading a display routines, do you thing that there would be enough spare cpu cycles to do any post-processing that in built into libavcodec? could the GPU do this? not being familiar with the GPU capabilities of the psp, are there any advantages to using upscaled PMP's that are resize-sharpened down (like UMD's) - i mean is that theoretically possible - and are there other things that the GPU can do that can offload certain aspects from the cpu? malloc's mods which allow resizing smaller vids, don't seem to impact cpu/decoding at all, as they seem to just process the screen buffer.

for example post-processing in ffdshow is something i've been doing for a long while to denoise/resizesharpen/addnoise above native resolution of my HDTV, then using the PC's overlay to resize back down. this produces a higher perceived quality than watchin raw low-res avi's - i'm sure you're familiar with the principle. you think that's something you'll be looking into at a later date? this would go a long way to create sharper vids, with deblocking, but maintain modest bitrates.

just curious :)

i'll kick off some more thought about this on doom9 when i can start posting.
Post Reply