[theora-dev] What goes to Hardware ?
Felipe Portavales Goldstein
portavales at gmail.com
Mon Jul 3 07:03:09 PDT 2006
On 7/2/06, Ralph Giles <giles at xiph.org> wrote:
> On Sun, Jul 02, 2006 at 07:10:00PM -0300, Felipe Portavales Goldstein wrote:
> > Even if the hardware IDCT had no data transfer overhead,
> > we could get only 7 ms (15%) less of decoding time per frame.
> This is what profiles on the software implementation show too, no
> individual component dominates, and particularly not the IDCT. I'm
> not surprised you see something similar. Looks like getting an
> efficient implementation is going to be all about carefully measuring
> parallelism and bus latency.
> > To put all ReconRefFrames routine in hardware I will need at least 3
> > big buffers:
> > Current Frame
> > Last Frame
> > Golden Frame
> > On a 320x240 stream, it represent about 150 Kbyte of each buffer, so I
> > will need about 500 Kbytes of memory.
> Yes. Note that Andrey's encoder implementation was also bound by memory
> bandwidth; he said writing the memory controller was where he had to
> focus most of his effort.
I see the same to me...
> > It is too much to use FPGA internal memory.
> > So I'm planning use a external SRAM of 500Kbytes.
> > SRAM data sheet: http://www.olimex.com/dev/pdf/71V416_DS_74666.pdf
> > Another alternative is to use a PC100 SDRAM of 16 Mb:
> > http://download.micron.com/pdf/datasheets/dram/sdram/128MbSDRAMx32.pdf
> > http://www.altera.com/literature/ds/ds_sdram_ctrl.pdf
> If you use the SDRAM do you think it will be possible to get to 720x480
> (or even 640x480) by the end of the summer? If there's a chance
> for that I'd vote for that. A hardware decoder is most interesting at
> higher resolution, and it's unlikely anyone will want to spring for
> enough SRAM to do that.
1024 * 768 * (Y channel + UV channel) * 3 frame buffers
1024x768 * 2 * 3 = about 4 Mbytes
this 16 Mb SDRAM is enough
But the SRAM is simpler to code and to use
I will discuss this with my friends and my professor to see what the
But I vote to use the 16Mb SDRAM , because the design will be more flexible.
> Thanks for the benchmark; it's good to see this. Hope your exams went
It was well. :-)
Felipe Portavales <portavales at gmail.com>
Undergraduate Student - IC-UNICAMP
Computer Systems Laboratory
More information about the theora-dev