VE Controller

The VE (Cedar) controller manages hardware accelerated decoding and scaling of video. Don't blindly trust this information, it is not complete. Exactly how these registers are mapped is unknown at this time.

  1. VE Controller
    1. MP4 registers
      1. 0x0000 mp4mphr
      2. 0x0004 mp4mvophr
      3. 0x0008 mp4fsize
      4. 0x000C mp4picsize
      5. 0x0010 mp4mbaddr
      6. 0x0014 mp4vectrl
      7. 0x0018 mp4vetrigger
      8. 0x001C mp4vestat
      9. 0x0020 mp4trbtrdfld
      10. 0x0024 mp4trbtrdfrm
      11. 0x0028 mp4vldbaddr
      12. 0x002C mp4vldoffset
      13. 0x0030 mp4vldlen
      14. 0x0034 mp4vbvsize
      15. 0x0038 mp4mbhaddr
      16. 0x0038 mp4vldoffset
      17. 0x003C mp4vldlen
      18. 0x003C mp4dcacaddr
      19. 0x0040 mp4dblkaddr
      20. 0x0044 mp4ncfaddr
      21. 0x0048 mp4rec_yframaddr
      22. 0x004C mp4rec_cframaddr
      23. 0x0050 mp4for_yframaddr
      24. 0x0054 mp4for_cframaddr
      25. 0x0058 mp4back_yframaddr
      26. 0x005C mp4back_cframaddr
      27. 0x0060 mp4socx
      28. 0x0064 mp4socy
      29. 0x0068 mp4sol
      30. 0x006C mp4sdlx
      31. 0x0070 mp4sdly
      32. 0x0074 mp4spriteshifter
      33. 0x0078 mp4sdcx
      34. 0x007C mp4sdcy
      35. 0x0080 mp4iqminput
      36. 0x0084 mp4qcinput
      37. 0x0088 mp4msmpeg4_pichdr
      38. 0x008C mp4vp6pichdr
      39. 0x0090 mp4iqidctinput
      40. 0x0094 mp4mbh
      41. 0x0098 mp4mv1
      42. 0x009C mp4mv2
      43. 0x00A0 mp4mv3
      44. 0x00A4 mp4mv4
      45. 0x00A8 mp4mv5
      46. 0x00AC mp4mv6
      47. 0x00B0 mp4mv7
      48. 0x00B4 mp4mv8
      49. 0x00B8 mp4jpeg_sdctl
      50. 0x00BC mp4jpeg_mcu
      51. 0x00C0 mp4jpeg_resintc0
      52. 0x00C4 mp4errflag
      53. 0x00C8 mp4crtmb
      54. 0x00CC mp4rotf_yfrmaddr
      55. 0x00D0 mp4rotf_cfrmaddr
      56. 0x00D4 mp4extra_func_ctrl
      57. 0x00D8 mp4Jpg_start_mcuco
      58. 0x00DC mp4Jpg_end_mcuco
    2. VC1 registers
      1. 0x0000 vc1_ephs
      2. 0x0004 vc1_pic_ctrl
      3. 0x0008 vc1_pic_qp
      4. 0x000C vc1_pic_mv
      5. 0x0010 vc1_pic_inten_comp
      6. 0x0014 vc1_pic_interlace
      7. 0x0018 vc1_pichdrlen
      8. 0x001C vc1_fsize
      9. 0x0020 vc1_picsize
      10. 0x0024 vc1_dec_ctrl
      11. 0x0028 vc1_start_type
      12. 0x002C vc1_status
      13. 0x0030 vc1_vbv_base_addr
      14. 0x0034 vc1_vld_offset
      15. 0x0038 vc1_vld_len
      16. 0x003C vc1_vbv_end_addr
      17. 0x0040 vc1_rec_yframaddr
      18. 0x0044 vc1_rec_uvframaddr
      19. 0x0048 vc1_for_yframaddr
      20. 0x004C vc1_for_uvframaddr
      21. 0x0050 vc1_back_yframaddr
      22. 0x0054 vc1_back_uvframaddr
      23. 0x005C vc1_dcacpredaddr
      24. 0x0060 vc1_bitplaneaddr
      25. 0x0064 vc1_mvinfoaddr
      26. 0x0070 vc1_mbr
      27. 0x0074 vc1_mbhdr
      28. 0x0078 vc1_lumatransform
      29. 0x007C vc1_mbcbf
      30. 0x0080 vc1_mbmv1
      31. 0x0084 vc1_mbmv2
      32. 0x0088 vc1_mbmv3
      33. 0x008C vc1_mbmv4
      34. 0x00B8 vc1_errorcase
      35. 0x00BC vc1_crtmbnum
      36. 0x00C0 vc1_extra_ctrl
      37. 0x00C4 vc1_extra_ybufaddr
      38. 0x00C8 vc1_extra_cbufaddr
    3. VP8 registers
      1. 0x0014 vp8PicHeader
      2. 0x0018 vp8Qindex
      3. 0x001C vp8PartitionOffset
      4. 0x0020 vp8Ctrl
      5. 0x0024 vp8TriggerType
      6. 0x0028 vp8Status
      7. 0x002C vp8CurMbNum
      8. 0x0030 vp8VldBitInfo
      9. 0x0034 vp8VldOffset
      10. 0x0038 vp8VldLen
      11. 0x003C vp8VldEndAddr
      12. 0x0040 vp8SdRotCtrl
      13. 0x0044 vp8SdRotLumaBuf
      14. 0x0048 vp8SdRotChromaBuf
      15. 0x0050 vp8EntropyProbs
      16. 0x0054 vp8FstDataPartionLen
      17. 0x0058 vp8PicMbSize
      18. 0x005C vp8PicBoundarySize
      19. 0x0060 vp8MbAddr
      20. 0x006C vp8MbNeightbour3
      21. 0x0074 vp8MbNeightbour5
      22. 0x0090 vp8MbQp
      23. 0x00AC vp8ReconLumaBuf
      24. 0x00B0 vp8FwdLumaBuf
      25. 0x00B4 vp8BackLumaBuf
      26. 0x00B8 vp8ErrorCase
      27. 0x00D0 vp8ReconChromaBuf
      28. 0x00D4 vp8FwdChromaBuf
      29. 0x00D8 vp8BackChromaBuf
      30. 0x00DC vp8BasicBitsData
      31. 0x00E8 vp8AlternateLumaBuf
      32. 0x00EC vp8AlternateChromaBuf
      33. 0x00F0 vp8SegmentMbLevel0
      34. 0x00F4 vp8SegmentMbLevel1
      35. 0x00F8 vp8RefLfDelta
      36. 0x00FC vp8ModeLfDelta

MP4 registers

0x0000 mp4mphr

0x0004 mp4mvophr

0x0008 mp4fsize

0x000C mp4picsize

0x0010 mp4mbaddr

0x0014 mp4vectrl

0x0018 mp4vetrigger

0x001C mp4vestat

0x0020 mp4trbtrdfld

0x0024 mp4trbtrdfrm

0x0028 mp4vldbaddr

0x002C mp4vldoffset

0x0030 mp4vldlen

0x0034 mp4vbvsize

0x0038 mp4mbhaddr

0x0038 mp4vldoffset

0x003C mp4vldlen

0x003C mp4dcacaddr

0x0040 mp4dblkaddr

0x0044 mp4ncfaddr

0x0048 mp4rec_yframaddr

0x004C mp4rec_cframaddr

0x0050 mp4for_yframaddr

0x0054 mp4for_cframaddr

0x0058 mp4back_yframaddr

0x005C mp4back_cframaddr

0x0060 mp4socx

0x0064 mp4socy

0x0068 mp4sol

0x006C mp4sdlx

0x0070 mp4sdly

0x0074 mp4spriteshifter

0x0078 mp4sdcx

0x007C mp4sdcy

0x0080 mp4iqminput

0x0084 mp4qcinput

0x0088 mp4msmpeg4_pichdr

0x008C mp4vp6pichdr

0x0090 mp4iqidctinput

0x0094 mp4mbh

0x0098 mp4mv1

0x009C mp4mv2

0x00A0 mp4mv3

0x00A4 mp4mv4

0x00A8 mp4mv5

0x00AC mp4mv6

0x00B0 mp4mv7

0x00B4 mp4mv8

0x00B8 mp4jpeg_sdctl

0x00BC mp4jpeg_mcu

0x00C0 mp4jpeg_resintc0

0x00C4 mp4errflag

0x00C8 mp4crtmb

0x00CC mp4rotf_yfrmaddr

0x00D0 mp4rotf_cfrmaddr

0x00D4 mp4extra_func_ctrl

0x00D8 mp4Jpg_start_mcuco

0x00DC mp4Jpg_end_mcuco

VC1 registers

0x0000 vc1_ephs

0x0004 vc1_pic_ctrl

0x0008 vc1_pic_qp

0x000C vc1_pic_mv

0x0010 vc1_pic_inten_comp

0x0014 vc1_pic_interlace

0x0018 vc1_pichdrlen

0x001C vc1_fsize

0x0020 vc1_picsize

0x0024 vc1_dec_ctrl

0x0028 vc1_start_type

0x002C vc1_status

0x0030 vc1_vbv_base_addr

0x0034 vc1_vld_offset

0x0038 vc1_vld_len

0x003C vc1_vbv_end_addr

0x0040 vc1_rec_yframaddr

0x0044 vc1_rec_uvframaddr

0x0048 vc1_for_yframaddr

0x004C vc1_for_uvframaddr

0x0050 vc1_back_yframaddr

0x0054 vc1_back_uvframaddr

0x005C vc1_dcacpredaddr

0x0060 vc1_bitplaneaddr

0x0064 vc1_mvinfoaddr

0x0070 vc1_mbr

0x0074 vc1_mbhdr

0x0078 vc1_lumatransform

0x007C vc1_mbcbf

0x0080 vc1_mbmv1

0x0084 vc1_mbmv2

0x0088 vc1_mbmv3

0x008C vc1_mbmv4

0x00B8 vc1_errorcase

0x00BC vc1_crtmbnum

0x00C0 vc1_extra_ctrl

0x00C4 vc1_extra_ybufaddr

0x00C8 vc1_extra_cbufaddr

VP8 registers

0x0014 vp8PicHeader

0x0018 vp8Qindex

0x001C vp8PartitionOffset

0x0020 vp8Ctrl

0x0024 vp8TriggerType

0x0028 vp8Status

0x002C vp8CurMbNum

0x0030 vp8VldBitInfo

0x0034 vp8VldOffset

0x0038 vp8VldLen

0x003C vp8VldEndAddr

0x0040 vp8SdRotCtrl

0x0044 vp8SdRotLumaBuf

0x0048 vp8SdRotChromaBuf

0x0050 vp8EntropyProbs

0x0054 vp8FstDataPartionLen

0x0058 vp8PicMbSize

0x005C vp8PicBoundarySize

0x0060 vp8MbAddr

0x006C vp8MbNeightbour3

0x0074 vp8MbNeightbour5

0x0090 vp8MbQp

0x00AC vp8ReconLumaBuf

0x00B0 vp8FwdLumaBuf

0x00B4 vp8BackLumaBuf

0x00B8 vp8ErrorCase

0x00D0 vp8ReconChromaBuf

0x00D4 vp8FwdChromaBuf

0x00D8 vp8BackChromaBuf

0x00DC vp8BasicBitsData

0x00E8 vp8AlternateLumaBuf

0x00EC vp8AlternateChromaBuf

0x00F0 vp8SegmentMbLevel0

0x00F4 vp8SegmentMbLevel1

0x00F8 vp8RefLfDelta

0x00FC vp8ModeLfDelta