1 / 7

The Trade-Offs of Software Programmability in Video Processors

The Trade-Offs of Software Programmability in Video Processors. Jonah Probell Sorin Cismas Amit Gulati Steve Leibson. Jonah Probell. Digital video & microprocessor designer Entrepreneur Intellectual property developer http://jonahprobell.com. Software Programmable.

gusty
Download Presentation

The Trade-Offs of Software Programmability in Video Processors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Trade-Offs of Software Programmability in Video Processors Jonah Probell Sorin Cismas Amit Gulati Steve Leibson DesignCon 2005

  2. Jonah Probell • Digital video & microprocessor designer • Entrepreneur • Intellectual property developer http://jonahprobell.com DesignCon 2005

  3. Software Programmable struct parameters { slice_type, modes, vectors, coefficients }; loop { parameters = decode_symbols(bitstream); if(slice_type == intra) prediction = intra_pred(mode); else /* slice_type == inter */ predicted = frame_buffer[pred_frame] [row + row_vec][col + col_vec]; residuals = inverse_dct(coefficients); frame_buffer[frame][row][col] = deblock(prediction + residuals); } CPU DesignCon 2005

  4. Fixed Function State Machine Fixed Function Hardwired display frame buffer memory DMA predicted modes / vectors + deblock filter symbol decode inverse DCT bitstream coefficients residuals DesignCon 2005

  5. Enhanced CPU Accelerators coprocessors ISA extensions frame buffer memory struct parameters { slice_type, modes, vectors, coefficients }; loop { parameters = decode_symbols(bitstream); if(slice_type == intra) prediction = intra_pred(mode); else /* slice_type == inter */ predicted = frame_buffer[pred_frame] [row + row_vec][col + col_vec]; residuals = inverse_dct(coefficients); frame_buffer[frame][row][col] = deblock(prediction + residuals); } DMA deblock filter CPU inverse DCT DesignCon 2005

  6. Multiprocessor display frame buffer memory DMA predicted communicate(); function(); communicate(); modes / vectors + deblock filter CPU bitstream symbol decode CPU inverse DCT CPU residuals coefficients communicate(); function(); communicate(); communicate(); function(); communicate(); DesignCon 2005

  7. Other Video Tasks • Decompression • Symbol decode • Prediction DMA • Inverse DCT • Deblocking filter • Frame scaling • Color space conversion • Stream mixing • Stream synchronization • Overlays • Color correction • Interlacing • Digital audio decode and playback DesignCon 2005

More Related