Notices


Reply
Thread Tools
Posts: 1,427 | Thanked: 2,077 times | Joined on Aug 2009 @ Sydney
#1
Samsung I8910 Omnia HD which was released 6 months before the N900 with identical OMAP3430 platform with A8 cpu at 600Mhz can record and playback 720P (1280x720 resolution) videos. It can even play 720P xvid/divx codec avi videos with no frame drops.

So why can't the N900 do this with the same hardware? (Heck, now that N900 can be overclocked to 1Ghz, it's faster than nearly ALL the mobile phones out in the market right now.)

It's not a matter of it's too slow or dropping frame rates but it won't even attempt to play the file at all. It's as if there is some form of resolution limit which is imposed on both default media player and mplayer and just exits out when it's too high. So it doesn't even try playing the file.

Does anyone know if there is some kind of soft limit?
 
Posts: 1,746 | Thanked: 2,100 times | Joined on Sep 2009
#2
Originally Posted by jakiman View Post
(Heck, now that N900 can be overclocked to 1Ghz, it's faster than nearly ALL the mobile phones out in the market right now.)
The fact that it can be overclocked is irrelevant, doing so is a warranty-voiding exercise and won't be practiced by most people.

It's as if there is some form of resolution limit which is imposed on both default media player and mplayer and just exits out when it's too high. So it doesn't even try playing the file.
mplayer has to be convinced to downscale the image when playing a 720p video. And even when it does, it's all software decoding so it's quite slow. A proper build would require using the DSP which, as I understand it, the default media player uses.

But again, it deliberately restricts what formats you can play, and nothing I've encoded or thrown at it has ever worked.
 
Posts: 1,427 | Thanked: 2,077 times | Joined on Aug 2009 @ Sydney
#3
Originally Posted by wmarone View Post
mplayer has to be convinced to downscale the image when playing a 720p video. And even when it does, it's all software decoding so it's quite slow. A proper build would require using the DSP which, as I understand it, the default media player uses.

But again, it deliberately restricts what formats you can play, and nothing I've encoded or thrown at it has ever worked.
Well we know that OMAP3430 is enough to decode and playback HD video.

The default media player is really bad as a main video player. It doesn't play videos smoothly and drops frames badly. Even with normal SD xvid avi files. Mplayer plays them butter smooth but Nokia media player plays them choppy. It's as if it plays the videos at around 15-20fps max.

When I try to play a 1280x528 video file with mplayer via CLI, I get the following error

VO: [xv] 1280x528 => 1280x528 Planar YV12 [zoom] [xv] Source image dimensions are too high: 1280x528 (maximum is 864x648) FATAL: Cannot initialize video driver.

Is there an option in mplayer to output to a lower resolution? (or force sw scaler?)

UPDATE:

oooh. Got the 720p video to work by using following CLI command:

mplayer -vf scale=800:480 filename.avi

But as you said, it is VERY slow. Playing at maybe about 5fps at best. (and mine is running at 1Ghz. lol) hmm. Can't we somehow accelerate this or get mplayer to use the dsp? grrr. N900 has the hardware but it's frustrating how we cannot use it.

Last edited by jakiman; 2010-04-11 at 04:43.
 
Posts: 2,102 | Thanked: 1,309 times | Joined on Sep 2006
#4
Yes you can accelerate it, either by optimising the ARM code used by mplayer (and I understand that there is quite a bit of room for optimisation there) or by passing off some or all of the decoding to the DSP (by writing a DSP task and ARM-side wrapper).

It would be interesting to learn why the built-in media player is apparently slow - it uses GStreamer to wrap the DSP decoding. The question is then whether to write an improved GStreamer + DSP task or to use the DSP without GStreamer (e.g. if that's what's causing the slowdown).
 
Posts: 1,258 | Thanked: 672 times | Joined on Mar 2009
#5
Well for xvid files atleast, if the file uses nonstandard packed b frames, where the b frames are muxed together with p frames on the container level, tagging them on to the end of the p frame, the codec will see this big p frame, and complete decoding of it, and discard the extra unrelated data (in its opinion) and wait for the next frame to be fed from the demuxer...

The result being all b frames getting dropped, which can be as much as 2/3rds of all frames..

I guess the solution would be to either make the avi demuxer aware of it, and teach it to look inside and parse mpeg4asp frames, reorder them and feed them properly to the codec, or to make the codec aware of them...
 
Posts: 1,341 | Thanked: 708 times | Joined on Feb 2010
#6
Transcoding with ffmpeg2theora, by using preset "padma", I've got every video working in reasonable speed.
Code:
$ ffmpeg2theora --preset padma anyfile.xxx
I may remember wrong, but I think those OGV-files used to work with standard N900 Media-player also before, but somehow not now when I tried again after two weeks.
Well, KMplayer plays them fine though.
 
Posts: 2,829 | Thanked: 1,459 times | Joined on Dec 2009 @ Finland
#7
is arm handling video acceleration on default media player?
 
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#8
Originally Posted by jakiman View Post
Well we know that OMAP3430 is enough to decode and playback HD video.
It can play back/decode SOME, very specific HD codec+bitrate+fps formats. It's not even close to satisfy all (or even most) common 720p HD profiles.

@slender: the default media player uses gstreamer, which is DSP accelerated for the more common codecs.
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 
Posts: 1,427 | Thanked: 2,077 times | Joined on Aug 2009 @ Sydney
#9
Originally Posted by lardman View Post
Yes you can accelerate it, either by optimising the ARM code used by mplayer (and I understand that there is quite a bit of room for optimisation there) or by passing off some or all of the decoding to the DSP (by writing a DSP task and ARM-side wrapper).
I'm no coder/developer so I have no idea how easy/difficult this is to do.
Is the optimisations or utilising the dsp possible with mplayer on N900? Can someone here do such a thing?


Originally Posted by zimon View Post
Transcoding with ffmpeg2theora, by using preset "padma", I've got every video working in reasonable speed.
Code:
$ ffmpeg2theora --preset padma anyfile.xxx
You mean even HD files on the N900?
(or is this trancoding from a PC?)

My goal is not to transcode files up to 720p and play it directly on the N900.
(such as youtube 720p mp4 videos)

Last edited by jakiman; 2010-04-11 at 21:23.
 
Bec's Avatar
Posts: 876 | Thanked: 396 times | Joined on Dec 2009
#10
And then there's this guy: http://www.hyperx-i8910.com/

He modded the symbian rom for i8910 and he has some experience since he managed to get video recording with decent sound recording on samsung omnia HD.

Maybe it helps.
__________________
 
Reply


 
Forum Jump


All times are GMT. The time now is 16:43.