| while(mbno < total_mbs+n) |
| // where n = no. of pipeline stages - 1 |
| // DMA0 Stage |
| If(mbno < total_mbs) |
| Configure DAM0 ( ) // for current MB |
| If(mbno > 0) |
| Poll DMA0( ) // for previous MB |
| End If |
| exeute DMA0( ) // for current MB |
| If(last MB) |
| Poll DMA0( ) // for current MB |
| End If |
| End If |
| // MCE Stage |
| If(slice is P_TYPE) |
| mbno_mce = mbno-1; |
| If(mbno_mce >= 0 && mbno_mce < total_mbs) |
| If(mbno_mce > 0) |
| If(current MB is inter type) |
| Configure MCE( ) // for current MB |
| End If |
| If(prvious MB is inter type) |
| poll MCE( ) // for previous MB |
| End If |
| End If |
| If(current MB is inter type) |
| exeute MCE( ) // for current MB |
| If(last MB) |
| Poll MCE( ) // for current MB |
| End If |
| End If |
| End If |
| End If |
| // VMAU Stage |
| mbno_vmau = mbno-2; |
| If(mbno_vmau >= 0 && mbno_vmau < total_mbs) |
| Configur VMAU( ) // for current MB |
| If(mbno_vmau > 0) |
| poll VMAU( ) // for previous MB |
| End If |
| exeute VMAU( ) // for current MB |
| If(last MB) |
| poll VMAU( ) // for current MB |
| End If |
| End If |
| // DBLK Stage |
| mbno_dblk = mbno-3; |
| If(mbno_dblk >= 0 && mbno_dblk < total_mbs) |
| Configur DBLK( ) // for current MB |
| If(mbno_dblk > 0) |
| Poll DBLK( ) // for previous MB |
| End If |
| exeute DBLK( ) // for current MB |
| Entropy encoding( ) // for current MB |
| If(last MB) |
| poll DBLK( ) // for current MB |
| Endif |
| End If |
| // DMA12 Stage |
| mbno_dma12 = mbno-4; |
| If(mbno_dma12 >= 0 && mbno_dma12 < total_mbs) |
| Configur DMA12( ) // for current MB |
| If(mbno_dma12 > 0) |
| Poll DMA12( ) // for previous MB |
| End If |
| exeute DMA12( ) // for current MB |
| If(last MB) |
| poll DMA12( ) // for current MB |
| End If |
| End If |
| mbno++; |
| |