maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Nokia N800 (https://talk.maemo.org/forumdisplay.php?f=25)
-   -   play 624x352 DivX smoothly (https://talk.maemo.org/showthread.php?t=15489)

OppositeOfIgnorance 2008-01-21 20:52

play 624x352 DivX smoothly
 
Are there any programs that can do it?
i got Transmission, and its very cool. Most movies on torrent sites are in 624x352 or something similar, and usually in DiVX Avi's. so if there was a program that could play it back smoothly, then thatd be awesome cuz ANYWEHRE I GO i could dload a movie (legally of course) and watch it like i would a PC

ertszi 2008-01-21 21:21

Re: play 624x352 DivX smoothly
 
Maybe we all should start to seed (legal) videos that have been ready transcoded to tablets. That would eliminate the trouble ever one doing transcoding procress over and over again.

Psss...
Stargate Atlantis, Spoils Of War (42 min), 80 megs 253 Kbps real player file played out fine. High action scenes froze the screen, but this show is starting to be SCIFI soap so that docents hurt this so much.
[removed]

OppositeOfIgnorance 2008-01-21 22:02

Re: play 624x352 DivX smoothly
 
PRECISELY
but if there was just an app that could play high-res back smoothly, there would be no need- and we'd gain basically the ability of downloading movies on demand, anywhere (legally of course) - just find a Wi-Fi hotspot, and ur good to go!

vbrilon 2008-01-21 22:03

Re: play 624x352 DivX smoothly
 
I think that 624x352 is too heavy for the tablet to play back properly (depending on the frame rate, of course). Why not just queue up your files in a video converter overnight and have them in a format optimized for the device?

Obligatory plug (since I work on this product): http://www.nokia.com/betalabs/videoconverter

OppositeOfIgnorance 2008-01-21 22:07

Re: play 624x352 DivX smoothly
 
OR howbout someone develop an ON-DEVICE video converter (YES, ON MAEMO) not on a PC.

itd proably be slow, but if u could do it at all, thatd be amazing.

7PM - start LEGAL torrent download of movie at hotel, using wi-fi. Go out to restaurant
11PM - return to hotel, movie is finished. Open conversion app, let it go. - Go to sleep.
6AM - wake up, conversion is DONE. board train or plane for long trip back home, watch movie.

but someone tell me, why the hell cant the N800 playback high-res files to begin with? lack of hardware? my old PEntium II 266MHz with 64MB of RAM could do it in Windows 95, but this thing cant?

dan 2008-01-21 22:17

Re: play 624x352 DivX smoothly
 
I use Handbrake to convert and on their website they say they have a linux
version. Wish someone here would convert it for use with n800. Although it would
be terribly slow. Just a thought. Let's hope n900 has a more robust cpu and
graphhics card. :) Dan

jmk 2008-01-21 22:38

Re: play 624x352 DivX smoothly
 
Mplayer can play some 624x352 videos perfectly, but it depends on bitrate. If bitrate is under 1000Kbps videos are usually not choppy.

GeneralAntilles 2008-01-21 22:45

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by OppositeOfIgnorance (Post 131662)
OR howbout someone develop an ON-DEVICE video converter (YES, ON MAEMO) not on a PC.

Ha . . . hahaha. Yeah, no. Performance issues aside, I'm not even sure anybody has done any ARM video encoders.

Quote:

Originally Posted by OppositeOfIgnorance (Post 131662)
but someone tell me, why the hell cant the N800 playback high-res files to begin with? lack of hardware?

Because the LCD resolution exceeds the ability of the SoC's built-in controller (limited to 640x480, LCD is 800x480), Nokia had to use a 3rd party LCD controller that is attached through a slow serial interface. This has three consequences, firstly, datarate and resolution to the controller is limited to about 1500Kbps and 400x240 respectively (not quite hard limits, as the heavy optimizations in mplayer show, but still), second, we are unable to use the built-in video decoder and, third, the performance of the built-in PowerVR would probably be sub-par, so we don't have drivers for it.

Thankfully, we shouldn't have any of these issues with the next NIT release. :D

ArnimS 2008-01-21 22:51

Re: play 624x352 DivX smoothly
 
You can get legal movies (some awesome, some horrrrrible) at

http://www.publicdomaintorrents.com

They offer a variety of formats. Unfortunately a lot of them are poorly seeded, so if you grab one, please seed as long as you can.

WRT the OP's question: Fastest player is mplayer. If that can't play your vid you're out of luck (save up for the N9x0).

pipeline 2008-01-21 23:34

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by GeneralAntilles (Post 131688)
Thankfully, we shouldn't have any of these issues with the next NIT release. :D

hmm so hypothetically what resolution would the screen be and would it have 3d acceleration... oh and hypothetically what exact dimensions :)

GeneralAntilles 2008-01-21 23:39

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by pipeline (Post 131709)
hmm so hypothetically what resolution would the screen be and would it have 3d acceleration... oh and hypothetically what exact dimensions :)

That I can't speculate on, but I can't imagine they'd go over about ~1024x612, as the OMAP3430 is limited to 1024x768.

Certainly hardware wont be the barrier to 3d acceleration, anyway, but there could still be driver issues if Nokia doesn't pony up.

qole 2008-01-22 01:00

Re: play 624x352 DivX smoothly
 
I downloaded some small-sized TV episodes the other day. They are 608x352 resolution, but only 24 fps with a bitrate of 250kbps. They look a bit too compressed for me to watch on my big screen TV, but I found they play really nicely on my N800 using MPlayer.

I can't imagine trying to watch video on anything but MPlayer.

I've watched a lot of video on my tablet, and I've found that increased resolution is theoretically better, but in practice I can't see the improvement. I guess the pixels are just too dense on the screen or something. I notice compression artifacts a lot more. So in the end, I'd rather watch a 400x240 or 320x240 video at 550 to 800kbps than a higher resolution video with higher compression.

I've found that it is quite straightforward to run a one-pass XviD transcode using VirtualDub, using lanczos3 resize to something-by-240. I find that I can often optimize the video for the IT's screen at this point, too, by sacrificing a bit of the horizontal resolution to get the aspect ratio closer to the IT's 15:9 ratio.

I must say, I was completely mystified when I installed OS2008 and I discovered that the new media player still couldn't play my bog-standard 320x240 AVI files.

Can someone post a HOWTO for making the tablet (File Manager, etc) open video files in MPlayer by default?

EDIT: I figure at the rate that I'm banging up my N800, it will probably conk out just in time for the N900 or whatever. My only sadness is that it probably won't have full-size SD slots... just as the price of SD cards is hitting rock bottom.

OppositeOfIgnorance 2008-01-22 01:19

Re: play 624x352 DivX smoothly
 
well duh! hi resolutions on a 4.1'' screen is ******ed, but see im saying this bcuz the movies u download off torrent sites (legally) are all around dvd-res or similar (such as 624x352).

converting vids takes ssoooo long and i wish i could bypass that step.

arsa 2008-01-22 10:20

Re: play 624x352 DivX smoothly
 
iirc n8** already has 3d, the chip has implementation of PowerVR, but no proper drivers in kernel

GeneralAntilles 2008-01-22 11:12

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by OppositeOfIgnorance (Post 131747)
well duh! hi resolutions on a 4.1'' screen is ******ed

Maybe for a stupid PMP, but being able to browse most websites without having to scroll horizontally is what really makes the NITs. If it were actually ******ed, why do you think all the new competition is using 800x480 or better? :)

Quote:

Originally Posted by arsa (Post 131905)
iirc n8** already has 3d, the chip has implementation of PowerVR, but no proper drivers in kernel

Yes, as I said, the OMAP2420 SoC does have a PowerVR (and a hardware video decoder), but since we're not using the built-in LCD controller, there are some hardware issues involved beyond just not having drivers. I believe Nokia has chosen not to release/port drivers because of the poor performance we will get out of 3d acceleration with a 3rd-party LCD controller. I don't particularly agree with this decision (any acceleration is better than none), but I can certainly imagine why they'd choose to go this route.

Cyker 2008-01-22 11:49

Re: play 624x352 DivX smoothly
 
I'm finding I have to feed the N800 the same videos I transcode for my TH55 to get them to play smoothly, and considering the TH55 has a 123MHz CPU vs the N800's 400MHz+DSP, this doesn't seem *right* somehow!

My Zodiac2 has been consistently better than the N800 by a significant amount for video playback, MPEG4 derivatives at least, 'tho the Zod2 is known for having a very good MPEG4 decoder.
Is the N800 DSP even used for decoding??

GeneralAntilles 2008-01-22 11:51

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by Cyker (Post 131921)
I'm finding I have to feed the N800 the same videos I transcode for my TH55 to get them to play smoothly, and considering the TH55 has a 123MHz CPU vs the N800's 400MHz+DSP, this doesn't seem *right* somehow!

As I stated more than one above, it's due to the low-bandwidth to the 3rd-party LCD controller.

Quote:

Originally Posted by Cyker (Post 131921)
Is the N800 DSP even used for decoding??

For audio, yes, but the video decoding, no, due to the same reason I outlined above.

fanoush 2008-01-22 12:26

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by GeneralAntilles (Post 131688)
Nokia had to use a 3rd party LCD controller that is attached through a slow serial interface. This has three consequences, firstly, datarate and resolution to the controller is limited to about 1500Kbps and 400x240 respectively (not quite hard limits, as the heavy optimizations in mplayer show, but still)

it is not that bad. The interface is not serial (i.e. 1 bit) and should be able to pump 640x480 at 25fps in 12bit YUV mode, see
http://www.gossamer-threads.com/list...rs/22014#22014
Bitrate matters only for decoding (=CPU time) and is not relevant to 'slow' RFBI interface. If I understand it correctly the limitation is that mplayer does not decode frames in advance so everything is time critical and decoding of each frame must wait until previous frame is displayed (i.e. sent to epson chip over rfbi). That's because it is done directly to internal video ram[1] (the only place from which it can be sent via DMA (= no overhead) to epson chip over RFBI) . If we had one extra frame in internal video buffer, decoding frame and displaying frame could be decoupled with no waits. If we even had more frames we could smooth out short more CPU intensive (high motion) scenes.

1. internal video ram is for 770 in normal RAM (64MB SDRAM), for N800 there is one 800x480 plane in SDRAM and one 640x480 plane in internal OMAP2 SRAM, this one is usable via Xv extension as video overlay.

EDIT: maybe mplayer does decode frame in advance to some off-screen memory but then it still must wait for display update to finish so it can do the final copy to video memory (possibly with conversion to specific videochip framebuffer format) without overwriting previous (still not fully transferred) frame. Maybe Serge will correct me if he cares to explain it one more time :-)

zehjotkah 2008-01-22 12:39

Re: play 624x352 DivX smoothly
 
sorry for offtopic:
@Cyker:
which device you like more: the zodiac2 or the internet tablet.
my zodiac2 was stolen so i´m in need for a new device. currently i´m in love with the n810. what do you recommend more?
i would like the device for:
surfing via wlan at home...(zodiac doesn´t have wlan)
watch videos
No music!
use pim (kde...)
play little games...(battle for wesnoth:D)
so please help me a little bit...
thanks.
if you wanna have some zodiac stuff, email me!
zehjotkah[at]googlemail[dot]com

Cyker 2008-01-22 19:41

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by GeneralAntilles (Post 131922)
As I stated more than one above, it's due to the low-bandwidth to the 3rd-party LCD controller.

I don't even know what that means...! :confused:

Quote:

Originally Posted by zehjotkah (Post 131930)
sorry for offtopic:
@Cyker:
which device you like more: the zodiac2 or the internet tablet.
my zodiac2 was stolen so i´m in need for a new device. currently i´m in love with the n810. what do you recommend more?
i would like the device for:
surfing via wlan at home...(zodiac doesn´t have wlan)
watch videos
No music!
use pim (kde...)
play little games...(battle for wesnoth:D)
so please help me a little bit...
thanks.
if you wanna have some zodiac stuff, email me!
zehjotkah[at]googlemail[dot]com

Ah bummer man... I'd be pissed if my Z2 got stolen :(

I don't think the Zod would be able to do most of that stuff (I *know* you wouldn't be able to run something as bloated as KDE on it... and I doubt there is a Wesnoth port...!)

In a head to head comparison 'tho, I find the Zod is better at 'informative' web browsing than the N800 (I'm a bit lucky there because I managed to snag the last Universe browser beta, and a Sandisk WiFi+256MB SDIO card!! \o/)
The N800 does generally well because of its wider screen, but it's so f'ing slow, while Universe is a lot quicker, even over the slow-*** SDIO 11b WiFi, but chops out any Flash and larger images.

Of course, because it does that, there will be a good few mainstream sites it can't browse, so the N800 has an advantage there.

With Videos, the Zod2 also does a *much* better job than the N800 if you're using TCPMP and watching MPEG4 (i.e. MP4 (Not H.264!), DivX and XviD vids), because of the ATI hardware chip. For other stuff it struggles a bit, and also the 2GB SD limits the amount of stuff you can watch anyway.

At the moment, I like my Zod2 better than the N800.
Tapwave were a bit Zen-of-Palm when they made it, and there a lots of little niceities that show they paid attention to detail.
The N800 is typical Linux - i.e. it's a f'ing PITA to get anything done in it because you have to jump through so many hoops. I'm a sucker for that sort of thing 'tho ;)

The area the N800 has my Zod2 soundly thrashed is the games department. ScummVM and OpenTTD are leaps and bounds ahead of the Zod versions ('tho one advantage the Zod has is that you can TYPE IN SAVE FILENAMES! :mad: ), and I imagine a lot of suitable opensource games will make their way to the NIT's.


You'd probably be better off with the N810 at this stage 'tho - It is more capable than the Zod2 bar a few things, and most of the things I dislike about it will probably fixed or hacked around in the future. This is all a bit moot 'tho, as I doubt you'll have much luck finding a Zodiac these days unless Olympic Systems is still selling the 'Tank Edition' Zodiac2s they had...! ;)

HTH!

OppositeOfIgnorance 2008-01-22 19:54

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by GeneralAntilles (Post 131913)
Maybe for a stupid PMP, but being able to browse most websites without having to scroll horizontally is what really makes the NITs. If it were actually ******ed, why do you think all the new competition is using 800x480 or better? :)



Yes, as I said, the OMAP2420 SoC does have a PowerVR (and a hardware video decoder), but since we're not using the built-in LCD controller, there are some hardware issues involved beyond just not having drivers. I believe Nokia has chosen not to release/port drivers because of the poor performance we will get out of 3d acceleration with a 3rd-party LCD controller. I don't particularly agree with this decision (any acceleration is better than none), but I can certainly imagine why they'd choose to go this route.

sorry i forgot to say- thats wut i meant (hi-res is dumb for Video only)

fanoush 2008-01-22 21:13

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by Cyker (Post 132098)
With Videos, the Zod2 also does a *much* better job than the N800 if you're using TCPMP and watching MPEG4 (i.e. MP4 (Not H.264!), DivX and XviD vids), because of the ATI hardware chip. For other stuff it struggles a bit, and also the 2GB SD limits the amount of stuff you can watch anyway.

Got Zod2 too. Even if it is great device I hardly use it now when I have N800 and 770. When playing video I can't stand the 2 pixel white border around the screen. And the 200MHz CPU is slow for some emulation stuff. But it beats tablets in gaming control department :-) Today I'm using it mostly just to play Duke3D.

And BTW 4GB SD (non-SDHC) cards work too with Zodiac. You only need hacked fat32 driver.

Serge 2008-01-22 21:46

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by fanoush (Post 131928)
EDIT: maybe mplayer does decode frame in advance to some off-screen memory but then it still must wait for display update to finish so it can do the final copy to video memory (possibly with conversion to specific videochip framebuffer format) without overwriting previous (still not fully transferred) frame. Maybe Serge will correct me if he cares to explain it one more time :-)

Yes, you are completely right here. MPlayer decodes frames in planar YV12 format to system memory, then when it is time to display the decoded frame, it moves frame data from system memory to framebuffer (*) converting it to YUV420 or YUV422 format in the process (format names according to Epson documentation) and initiates asynchronous DMA transfer of frame data from the framebuffer to LCD controller memory. We don't need to wait for the completion of this transfer, and start decoding the next frame immediately. Anyway, after the next frame is decoded, we can't write next frame data to the framebuffer unless we are sure that the previous transfer to the LCD controller memory is complete at this point. We get a stall here if the graphics bus is not fast enough to complete the transfer in time (and this stall gets higher if tearsync is enabled as we additionally need to wait for the next screen refresh cycle).

The process of copying from system memory to framebuffer with color format conversion is a small gap, where graphics bus is not used (and graphics bus bandwidth is a scarce resource). Fortunately copying is quite fast and does not take too much time, but improvements in this area can help to avoid some framedrops for high resolution movies playback with tearsync enabled (and tearsync is always enabled for video). We could use something like 'page flipping' if we had enough framebuffer memory.

(*) actually framebuffer physically is a region of the system memory too (unless it is that SRAM which is allocated for Xv overlay, which is not used by mplayer anyway).

Cyker 2008-01-22 23:42

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by fanoush (Post 132158)
Got Zod2 too. Even if it is great device I hardly use it now when I have N800 and 770. When playing video I can't stand the 2 pixel white border around the screen. And the 200MHz CPU is slow for some emulation stuff. But it beats tablets in gaming control department :-) Today I'm using it mostly just to play Duke3D.

And BTW 4GB SD (non-SDHC) cards work too with Zodiac. You only need hacked fat32 driver.

Yeah, me too admittedly; The battery's practically gone :(

I did try the hacked fat32 driver but it didn't work for me... do you have a copy of the one you got to work still?
I'd like to try it :)

I got one set to work in my TH55, but that disables the MP3-playback DSP and anything that depends on it, so had to remove it :(
That driver didn't work in the Zod alas... just made it crash a lot ;)

fanoush 2008-01-23 09:07

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by Cyker (Post 132235)
I did try the hacked fat32 driver but it didn't work for me... do you have a copy of the one you got to work still?
I'd like to try it :)

Try this one http://www.tapland.com/forums/viewtopic.php?t=6455
I got mine from elsewhere so PM me if this doesn't work. Also if card is unreadable it may be better to format the card in PC with usb reader first, I'm not sure Zodiac can format it. But once formatted it works fine.

fanoush 2008-01-23 09:24

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by Serge (Post 132173)
The process of copying from system memory to framebuffer with color format conversion is a small gap, where graphics bus is not used (and graphics bus bandwidth is a scarce resource). Fortunately copying is quite fast and does not take too much time, but improvements in this area can help to avoid some framedrops for high resolution movies playback with tearsync enabled (and tearsync is always enabled for video). We could use something like 'page flipping' if we had enough framebuffer memory.

I guess you tried to start copying earlier to narrow the gap? It just needs to write to framebuffer data which is already transferred and do not outrun the DMA in progress. Maybe some timestamp when DMA transfer started could help with timing this? But this would need modified kernel anyway (unless the timestamp can be figured out somehow) so we could also preallocate second framebuffer in such kernel too (but this eats memory). Is the timing worth the effort?

qole 2008-01-23 17:42

Re: play 624x352 DivX smoothly
 
I have my biggest video playback problems when some background process (like the N800 connecting to a nearby open wireless network while the bus is stopped at a red light) tries to draw an info box on the screen in the middle of my 1970s Doctor Who episode. By the way, did you know that in a 1976 episode, Doctor Who hooks his brain up to a giant computer and then chases a villain through a computer-simulated reality... called the Matrix? Hmmm, sounds like prior art, to me.

Cyker 2008-01-23 23:06

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by fanoush (Post 132413)
Try this one http://www.tapland.com/forums/viewtopic.php?t=6455
I got mine from elsewhere so PM me if this doesn't work. Also if card is unreadable it may be better to format the card in PC with usb reader first, I'm not sure Zodiac can format it. But once formatted it works fine.

Ahh thanks! I'll try it ;)

Although if it works, I think I will have trouble finding a 4GB SD card these days... unless someone's hacked the Treo SDHC driver for Zodiac 2 as well.... :D

Serge 2008-01-24 07:37

Re: play 624x352 DivX smoothly
 
Quote:

Originally Posted by fanoush (Post 132419)
I guess you tried to start copying earlier to narrow the gap? It just needs to write to framebuffer data which is already transferred and do not outrun the DMA in progress. Maybe some timestamp when DMA transfer started could help with timing this?

Yes, I thought about it, but that's a bit unportable as the timings depend on memory and graphics bus performance difference (and I don't know how this performance may change depending on various factors, for example frequency scaling). And it does not solve the problem completely. Having two pages in the framebuffer seems like a better option. I considered splitting current framebuffer into two parts, doing software downscaling to fit video frames into each part, and do screen updates with hardware upscaling each of the parts to fullscreen. All of this supposedly could be done with a new framebuffer screen update ioctl (which allows to specify destination x and y coordinates), but it did not work as I expected when I tried it earlier (was its implementation buggy?). I can try to experiment with this trick again on OS2008 firmware.

Quote:

But this would need modified kernel anyway (unless the timestamp can be figured out somehow) so we could also preallocate second framebuffer in such kernel too (but this eats memory). Is the timing worth the effort?
Kernel modifications are rather hard to deliver to end users. We still even can't use YUV420 color format reliably in mplayer on 770 (for ~2% faster video playback) as there is no way to know beforehand if it will work properly (fixed kernel) or deadlock (original kernel). Also such a small speedup may be not enough to provide motivation for the users to install new kernel.


All times are GMT. The time now is 12:58.

vBulletin® Version 3.8.8