Djago
19th June 2007, 01:49
Hi
I have a footage made of several photos, mixed with fades and some low speed effects (it's a photo novel). The footage is 1534x1024, RGB, 30fps, uncompressed. It's composed of 2 1024x768 frames side by side, rotated. The PC I'm using is a QuadCore with 2gb of RAM, a SATA2 500Gb WDC, nVidia 8800GT with two DVI outputs (I'm using them as VGA). The computer has 2 projectors rotated 90 degrees, each of them having filters (polarizers). They'll project on a special screen for viewing with special glasses (it's very similar to the 3DIMAX setup). The Windows is configured to use an extended desktop so 1 frame (left) is going thru one projector and the right one via the other. I use MediaPlayerClassic to see the avi.
So far, so good. Now the problem.
I can't get a decent (fps) playback. Obviously, the problem is that at this resolution the hard drive can't give me 30 fps. When I monitor with Process Explorer, I can see that the CPU is sleeping at 4% and the I/O history is at FULL work.
So I decided to give a try to some lossless codec in order to decrease the size of the data needed to be loaded from the disk at the expense of the CPU. Lagarith seems to give me the best options for my needs because: it's fast to compress, fast to decompress, has RGB space (see below), is multithreaded optimized, and has the null frame option (remember, frames are mostly photos and sometimes I have the same photo over 4 seconds without modification). I also tried MSU but it's not multithreaded optimized, so it burns one core while it's decompressing, so it's not good for me as I can't get 30fps because of the CPU. I didn't try ffb1 because bitstream is not yet decided and hhffyuv it's kind of old and I don't see any advantage over Lagarith. I didn't try h264 lossless yet because I still don't know the actual situation of the codec regarding to colorspace.
RGB for me is important because projectors don't have a real black. I mean, if I cap the 0-255 range with YUV and the projector cap more, the situation will be very bad. I need black, as black as I can get, not dark gray.
So, I think that one option is to try to max the throughput of the disk, maybe putting 4 disk in RAID0. Regarding to this I have a question: 1- Is there a way to check the fps? (preferably to log to a file the fps)
Another option is to compress with a better lossless codec, but I think that the only other option I have left to try is h264. Regarding to this, I have some questions: 2- is there a way to let the 8800 do the job? (I know there's some way of using a 8800 to decompress a h264) How? Wich set of codec+encoder+decoder+player is good for this? 3- is there any codec that can do the h264 lossless in RGB? Which? Wich set of codec+encoder+decoder+player is good for this?
I know that another option is to compress with a lossy codec, but I prefer to do this as the last option because in order to try this I need to do a lot of test regarding quality with the final setup so I have to build the setup in the actual projecting condition and this is very time consuming for me and my team.
I hope someone can enlighten me.
Thanks!
I have a footage made of several photos, mixed with fades and some low speed effects (it's a photo novel). The footage is 1534x1024, RGB, 30fps, uncompressed. It's composed of 2 1024x768 frames side by side, rotated. The PC I'm using is a QuadCore with 2gb of RAM, a SATA2 500Gb WDC, nVidia 8800GT with two DVI outputs (I'm using them as VGA). The computer has 2 projectors rotated 90 degrees, each of them having filters (polarizers). They'll project on a special screen for viewing with special glasses (it's very similar to the 3DIMAX setup). The Windows is configured to use an extended desktop so 1 frame (left) is going thru one projector and the right one via the other. I use MediaPlayerClassic to see the avi.
So far, so good. Now the problem.
I can't get a decent (fps) playback. Obviously, the problem is that at this resolution the hard drive can't give me 30 fps. When I monitor with Process Explorer, I can see that the CPU is sleeping at 4% and the I/O history is at FULL work.
So I decided to give a try to some lossless codec in order to decrease the size of the data needed to be loaded from the disk at the expense of the CPU. Lagarith seems to give me the best options for my needs because: it's fast to compress, fast to decompress, has RGB space (see below), is multithreaded optimized, and has the null frame option (remember, frames are mostly photos and sometimes I have the same photo over 4 seconds without modification). I also tried MSU but it's not multithreaded optimized, so it burns one core while it's decompressing, so it's not good for me as I can't get 30fps because of the CPU. I didn't try ffb1 because bitstream is not yet decided and hhffyuv it's kind of old and I don't see any advantage over Lagarith. I didn't try h264 lossless yet because I still don't know the actual situation of the codec regarding to colorspace.
RGB for me is important because projectors don't have a real black. I mean, if I cap the 0-255 range with YUV and the projector cap more, the situation will be very bad. I need black, as black as I can get, not dark gray.
So, I think that one option is to try to max the throughput of the disk, maybe putting 4 disk in RAID0. Regarding to this I have a question: 1- Is there a way to check the fps? (preferably to log to a file the fps)
Another option is to compress with a better lossless codec, but I think that the only other option I have left to try is h264. Regarding to this, I have some questions: 2- is there a way to let the 8800 do the job? (I know there's some way of using a 8800 to decompress a h264) How? Wich set of codec+encoder+decoder+player is good for this? 3- is there any codec that can do the h264 lossless in RGB? Which? Wich set of codec+encoder+decoder+player is good for this?
I know that another option is to compress with a lossy codec, but I prefer to do this as the last option because in order to try this I need to do a lot of test regarding quality with the final setup so I have to build the setup in the actual projecting condition and this is very time consuming for me and my team.
I hope someone can enlighten me.
Thanks!