The TradeOffs of Software Programmability in Video Processors
The Trade-Offs of Software Programmability in Video Processors Jonah Probell Sorin Cismas Amit Gulati Steve Leibson Design. Con 2005
Jonah Probell w Digital video & microprocessor designer w Entrepreneur w Intellectual property developer http: //jonahprobell. com Design. Con 2005
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); } Design. Con 2005 CPU
Fixed Function display State Machine frame buffer memory Fixed Function Hardwired modes / vectors DMA predicted + bitstream symbol inverse decode coefficients DCT residuals Design. Con 2005 deblock filter
Enhanced CPU Accelerators coprocessors ISA extensions 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 memory DMA deblock filter CPU inverse DCT frame_buffer[frame][row][col] = deblock(prediction + residuals); } Design. Con 2005
Multiprocessor display frame buffer memory modes / vectors communicate(); function(); communicate(); bitstream DMA predicted + symbol decode CPU coefficients inverse DCT CPU residuals communicate(); function(); communicate(); Design. Con 2005 deblock filter CPU function(); communicate();
Other Video Tasks w Decompression n n w w w w Symbol decode Prediction DMA Inverse DCT Deblocking filter Frame scaling Color space conversion Stream mixing Stream synchronization Overlays Color correction Interlacing w Digital audio decode and playback Design. Con 2005
- Slides: 7