views:

318

answers:

3

Hi Friends, I am working on embedded device with 266 Mhz processor and 32 Bit bus and 480x272 screen. we want to play fullscreen video with 1024 kbps Bitrate and 24 fps. Is there any video file format which is bigger in size but fast to decode than H263 and H264.

Thanks, Sunny.

ADDED

I am using processor version ARM926EJS, Arch is ArmV5, Speed is 266 Mhz with VFP and 16 bit (565 RGB) screen. I have already fastest YUV to RGB conversion available. I built video player using FFMPEG library. Speed I am getting is 17 FPS on 480x272 H263 video with 1248 KBPS. It would be great if you give me some optimized decoder reference so I can buy it.

Thanks, Sunny.

+2  A: 

Maybe you want to consider MotionJPEG. But you will likely have 2000-3000 kbps Bitrate if you want reasonable quality (> 50%) for your resolution.

On the other hand the decoding is straight forward to implement and uses fewer resources than H.263 or H.264.

Frank Bollack
MotionJPEG will actually be slower than h.263 since you will be fully decoding (calculating DCTs) for EVERY macroblock, EVERY frame.
BitBank
+1  A: 

It's definitely possible to play H263 on this device with your requirements. But you need to optimize decoder or buy one ;)

Another codec, which is posed as having fast decoder is On2 VP8. But is proprietary and not available for free. Furthermore, I don't know, is this decoder fast or this is just marketing.

Also you can look at some rare codecs like Theora / Dirac. Or codecs in FFmpeg (libavcodec). Last one has optimized for ARM (sometimes up to ARMv7 with NEON) parts. Maybe you can find something, if quality is not very important. E.g. H.261 :)

But I think the best choice is optimized H263.

BTW: which ARM cpu/architecture do you use?

zxcat
I am using processor version ARM926EJS, Arch is ArmV5, Speed is 266 Mhz with VFP and 16 bit (565 RGB) screen. I have already fastest YUV to RGB conversion available. I built video player using FFMPEG library.Speed I am getting is 17 FPS on 480x272 H263 video of with 1248 KBPS.It would be great if you give me some optimized decoder reference so I can buy it.ThanksSunny.
Sunny
+1  A: 

Depending on how picky you are about your video quality, Cinepak is a very "lightweight" codec which would run full speed on that machine (depending on memory speed and so forth). H.263 could potentially run at full speed if you have very optimized code and access to the ARMv6 instruction set. You stated that it's a 266Mhz device which implies an older ARM architecture.

BitBank
you don't need ARMv6 to run at full speed. I've played VGA-resolution h263 on 200MHz TI OMAP 850 with 20 fps ;)
zxcat