Struct rk3399_pac::Vdpu

source ·
pub struct Vdpu { /* private fields */ }
Expand description

Video Processor Unit (VPU) Decoder Registers

Implementations§

source§

impl Vdpu

source

pub const PTR: *const RegisterBlock = {0xff650400 as *const vdpu::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn swreg0(&self) -> &Swreg0

0x00 - axi control

source

pub fn swreg1(&self) -> &Swreg1

0x04 - color coeff register

source

pub fn swreg2(&self) -> &Swreg2

0x08 - color coeff register

source

pub fn swreg3(&self) -> &Swreg3

0x0c - color coeff register

source

pub fn swreg4(&self) -> &Swreg4

0x10 - scl ctrl register

source

pub fn swreg5(&self) -> &Swreg5

0x14 - scl ctrl register

source

pub fn swreg6(&self) -> &Swreg6

0x18 - scl ctrl register

source

pub fn swreg7(&self) -> &Swreg7

0x1c - Amount of pixels beyond border

source

pub fn swreg8(&self) -> &Swreg8

0x20 - Amount of pixels beyond border

source

pub fn swreg9(&self) -> &Swreg9

0x24 - Rmask register

source

pub fn swreg10(&self) -> &Swreg10

0x28 - Gmask register

source

pub fn swreg11(&self) -> &Swreg11

0x2c - Bmask register

source

pub fn swreg12(&self) -> &Swreg12

0x30 - PP input picture base address for Y bottom field

source

pub fn swreg13(&self) -> &Swreg13

0x34 - PP input picture base for Ch bottom field

source

pub fn swreg14(&self) -> &Swreg14

0x38 - coordinate used in macroblock crop

source

pub fn swreg15(&self) -> &Swreg15

0x3c - range map register

source

pub fn swreg16(&self) -> &Swreg16

0x40 - total num of padded for RGB

source

pub fn swreg17(&self) -> &Swreg17

0x44 - hw support informan,read only

source

pub fn swreg18(&self) -> &Swreg18

0x48 - base address for reading post-processing input picture uminan

source

pub fn swreg19(&self) -> &Swreg19

0x4c - Base address for reading post-processing input picture Cb/Ch

source

pub fn swreg20(&self) -> &Swreg20

0x50 - input cr component address

source

pub fn swreg21(&self) -> &Swreg21

0x54 - Base address for writing post-processed picture luminance/RGB

source

pub fn swreg22(&self) -> &Swreg22

0x58 - Base address for writing post-processed picture Ch

source

pub fn swreg23(&self) -> &Swreg23

0x5c - Display width and PP input size extension register

source

pub fn swreg24(&self) -> &Swreg24

0x60 - alpha blending base address

source

pub fn swreg25(&self) -> &Swreg25

0x64 - ablend of pixels scanline

source

pub fn swreg26(&self) -> &Swreg26

0x68 - x-coordinate of mask area 1 for Horizontal start pixel

source

pub fn swreg27(&self) -> &Swreg27

0x6c - y-coordinate of mask area 1 for Horizontal start pixel

source

pub fn swreg28(&self) -> &Swreg28

0x70 - x-coordinate of mask area 2 for Horizontal start pixel

source

pub fn swreg29(&self) -> &Swreg29

0x74 - y-coordinate of mask area 2 for Horizontal start pixel

source

pub fn swreg30(&self) -> &Swreg30

0x78 - register for deinterlace ctrl

source

pub fn swreg31(&self) -> &Swreg31

0x7c - contrast adjust threshold

source

pub fn swreg32(&self) -> &Swreg32

0x80 - contrast adjust offset

source

pub fn swreg33(&self) -> &Swreg33

0x84 - Synthesis configuration register post-processor (read only)

source

pub fn swreg34(&self) -> &Swreg34

0x88 - PP input pic size register

source

pub fn swreg35(&self) -> &Swreg35

0x8c - PP output pic size register

source

pub fn swreg36(&self) -> &Swreg36

0x90 - the dither mode for RGB

source

pub fn swreg37(&self) -> &Swreg37

0x94 - PP input/output data format

source

pub fn swreg38(&self) -> &Swreg38

0x98 - PP input/output data format

source

pub fn swreg39(&self) -> &Swreg39

0x9c - Register0000 Abstract

source

pub fn swreg40(&self) -> &Swreg40

0xa0 - pp int register

source

pub fn swreg41(&self) -> &Swreg41

0xa4 - enable ctrl flag

source

pub fn swreg50(&self) -> &Swreg50

0xc8 - video decoder ctrl register

source

pub fn swreg51(&self) -> &Swreg51

0xcc - the stream length

source

pub fn swreg52(&self) -> &Swreg52

0xd0 - error concealment case related

source

pub fn swreg53(&self) -> &Swreg53

0xd4 - decoder format

source

pub fn swreg54(&self) -> &Swreg54

0xd8 - endian for input/output data

source

pub fn swreg55(&self) -> &Swreg55

0xdc - decoder int register

source

pub fn swreg56(&self) -> &Swreg56

0xe0 - axi ctrl for decoder

source

pub fn swreg57(&self) -> &Swreg57

0xe4 - enable flag for decoder

source

pub fn swreg58(&self) -> &Swreg58

0xe8 - soft reset register

source

pub fn swreg59(&self) -> &Swreg59

0xec - H264, MPEG4, VP6 Prediction filter tap

source

pub fn swreg60(&self) -> &Swreg60

0xf0 - additional chrominance address

source

pub fn swreg61(&self) -> &Swreg61

0xf4 - standard dependent tables start address

source

pub fn swreg62(&self) -> &Swreg62

0xf8 - Direct mode motion vector write/read start address

source

pub fn swreg63(&self) -> &Swreg63

0xfc - write decoder output picture or field start address

source

pub fn swreg64(&self) -> &Swreg64

0x100 - rlc or vlc mode input data start addr

source

pub fn swreg65(&self) -> &Swreg65

0x104 - refbufferd related

source

pub fn swreg66(&self) -> &Swreg66

0x108 - ID register

source

pub fn swreg67(&self) -> &Swreg67

0x10c - Synthesis configuration register decoder 1(read only)

source

pub fn swreg68(&self) -> &Swreg68

0x110 - sum of partitions(read only)

source

pub fn swreg69(&self) -> &Swreg69

0x114 - sum information (read only)

source

pub fn swreg70(&self) -> &Swreg70

0x118 - sum of the decoded motion vector y-components(read only)

source

pub fn swreg71(&self) -> &Swreg71

0x11c - information for read only register

source

pub fn swreg72(&self) -> &Swreg72

0x120 - debug0

source

pub fn swreg73(&self) -> &Swreg73

0x124 - debug registers

source

pub fn swreg74(&self) -> &Swreg74

0x128 - MV address for h264

source

pub fn swreg75(&self) -> &Swreg75

0x12c - H.264 Intra prediction 4x4 mode start address

source

pub fn swreg76(&self) -> &Swreg76

0x130 - the number of referance pic

source

pub fn swreg77(&self) -> &Swreg77

0x134 - the number of referance pic

source

pub fn swreg78(&self) -> &Swreg78

0x138 - the number of referance pic

source

pub fn swreg79(&self) -> &Swreg79

0x13c - the number of referance pic

source

pub fn swreg80(&self) -> &Swreg80

0x140 - the number of referance pic

source

pub fn swreg81(&self) -> &Swreg81

0x144 - the number of referance pic

source

pub fn swreg82(&self) -> &Swreg82

0x148 - the number of referance pic

source

pub fn swreg83(&self) -> &Swreg83

0x14c - the number of referance pic

source

pub fn swreg84(&self) -> &Swreg84

0x150 - referance frame0 address for h264

source

pub fn swreg85(&self) -> &Swreg85

0x154 - referance frame1 address for h264

source

pub fn swreg86(&self) -> &Swreg86

0x158 - referance frame2 address for h264

source

pub fn swreg87(&self) -> &Swreg87

0x15c - referance frame3 address for h264

source

pub fn swreg88(&self) -> &Swreg88

0x160 - referance frame4 address for h264

source

pub fn swreg89(&self) -> &Swreg89

0x164 - referance frame5 address for h264

source

pub fn swreg90(&self) -> &Swreg90

0x168 - referance frame6 address for h264

source

pub fn swreg91(&self) -> &Swreg91

0x16c - referance frame7 address for h264

source

pub fn swreg92(&self) -> &Swreg92

0x170 - referance frame8 address for h264

source

pub fn swreg93(&self) -> &Swreg93

0x174 - referance frame9 address for h264

source

pub fn swreg94(&self) -> &Swreg94

0x178 - referance frame10 address for h264

source

pub fn swreg95(&self) -> &Swreg95

0x17c - referance frame11 address for h264

source

pub fn swreg96(&self) -> &Swreg96

0x180 - referance frame12 address for h264

source

pub fn swreg97(&self) -> &Swreg97

0x184 - referance frame13 address for h264

source

pub fn swreg98(&self) -> &Swreg98

0x188 - referance frame14 address for h264

source

pub fn swreg99(&self) -> &Swreg99

0x18c - referance frame15 address for h264

source

pub fn swreg100(&self) -> &Swreg100

0x190 - initial reference picture list related

source

pub fn swreg101(&self) -> &Swreg101

0x194 - initial reference picture list related

source

pub fn swreg102(&self) -> &Swreg102

0x198 - initial reference picture list related

source

pub fn swreg103(&self) -> &Swreg103

0x19c - initial reference picture list related

source

pub fn swreg104(&self) -> &Swreg104

0x1a0 - initial reference picture list related

source

pub fn swreg105(&self) -> &Swreg105

0x1a4 - initial reference picture list related

source

pub fn swreg106(&self) -> &Swreg106

0x1a8 - initial reference picture list related

source

pub fn swreg107(&self) -> &Swreg107

0x1ac - long term flag for reference pictuure index

source

pub fn swreg108(&self) -> &Swreg108

0x1b0 - valid flag for reference picture index

source

pub fn swreg109(&self) -> &Swreg109

0x1b4 - the stream start word for decoder

source

pub fn swreg110(&self) -> &Swreg110

0x1b8 - h264 pic mb size

source

pub fn swreg111(&self) -> &Swreg111

0x1bc - h264 ctrl related

source

pub fn swreg112(&self) -> &Swreg112

0x1c0 - current frame related

source

pub fn swreg113(&self) -> &Swreg113

0x1c4 - reference picture related

source

pub fn swreg114(&self) -> &Swreg114

0x1c8 - maximum reference

source

pub fn swreg115(&self) -> &Swreg115

0x1cc - enable flag

source

pub fn swreg120(&self) -> &Swreg120

0x1e0 - multi format reuse register0

source

pub fn swreg121(&self) -> &Swreg121

0x1e4 - multi format reuse register1

source

pub fn swreg122(&self) -> &Swreg122

0x1e8 - multi format reuse register2

source

pub fn swreg123(&self) -> &Swreg123

0x1ec - multi format reuse register3

source

pub fn swreg124(&self) -> &Swreg124

0x1f0 - multi format reuse register4

source

pub fn swreg125(&self) -> &Swreg125

0x1f4 - multi format reuse register5

source

pub fn swreg126(&self) -> &Swreg126

0x1f8 - multi format reuse register6

source

pub fn swreg127(&self) -> &Swreg127

0x1fc - multi format reuse register7

source

pub fn swreg128(&self) -> &Swreg128

0x200 - multi format reuse register8

source

pub fn swreg129(&self) -> &Swreg129

0x204 - multi format reuse register9

source

pub fn swreg130(&self) -> &Swreg130

0x208 - multi format reuse register10

source

pub fn swreg131(&self) -> &Swreg131

0x20c - multi format reuse register11

source

pub fn swreg132(&self) -> &Swreg132

0x210 - multi format reuse register12

source

pub fn swreg133(&self) -> &Swreg133

0x214 - multi format reuse register13

source

pub fn swreg134(&self) -> &Swreg134

0x218 - multi format reuse register14

source

pub fn swreg135(&self) -> &Swreg135

0x21c - multi format reuse register15

source

pub fn swreg136(&self) -> &Swreg136

0x220 - multi format reuse register16

source

pub fn swreg137(&self) -> &Swreg137

0x224 - multi format reuse register17

source

pub fn swreg138(&self) -> &Swreg138

0x228 - multi format reuse register18

source

pub fn swreg139(&self) -> &Swreg139

0x22c - multi format reuse register19

source

pub fn swreg140(&self) -> &Swreg140

0x230 - multi format reuse register20

source

pub fn swreg141(&self) -> &Swreg141

0x234 - multi format reuse register21

source

pub fn swreg142(&self) -> &Swreg142

0x238 - multi format reuse register22

source

pub fn swreg143(&self) -> &Swreg143

0x23c - multi format reuse register23

source

pub fn swreg144(&self) -> &Swreg144

0x240 - multi format reuse register24

source

pub fn swreg145(&self) -> &Swreg145

0x244 - multi format reuse register25

source

pub fn swreg146(&self) -> &Swreg146

0x248 - multi format reuse register26

source

pub fn swreg147(&self) -> &Swreg147

0x24c - multi format reuse register27

source

pub fn swreg148(&self) -> &Swreg148

0x250 - multi format reuse register28

source

pub fn swreg149(&self) -> &Swreg149

0x254 - multi format reuse register29

source

pub fn swreg150(&self) -> &Swreg150

0x258 - multi format reuse register30

source

pub fn swreg151(&self) -> &Swreg151

0x25c - multi format reuse register31

source

pub fn swreg152(&self) -> &Swreg152

0x260 - multi format reuse register32

source

pub fn swreg153(&self) -> &Swreg153

0x264 - multi format reuse register33

source

pub fn swreg154(&self) -> &Swreg154

0x268 - multi format reuse register34

source

pub fn swreg155(&self) -> &Swreg155

0x26c - multi format reuse register35

source

pub fn swreg156(&self) -> &Swreg156

0x270 - multi format reuse register36

source

pub fn swreg157(&self) -> &Swreg157

0x274 - multi format reuse register37

source

pub fn swreg158(&self) -> &Swreg158

0x278 - multi format reuse register38

source

pub fn swreg164_perf_latency_ctrl0(&self) -> &Swreg164PerfLatencyCtrl0

0x290 - Axi performance latency module contrl register0

source

pub fn swreg165_perf_latency_ctrl1(&self) -> &Swreg165PerfLatencyCtrl1

0x294 - PERF_LATENCY_CTRL1

source

pub fn swreg166_perf_rd_max_latency_num0(&self) -> &Swreg166PerfRdMaxLatencyNum0

0x298 - Read max latency number

source

pub fn swreg167_perf_rd_latency_samp_num(&self) -> &Swreg167PerfRdLatencySampNum

0x29c - The number of bigger than configed threshold value

source

pub fn swreg168_perf_rd_latency_acc_sum(&self) -> &Swreg168PerfRdLatencyAccSum

0x2a0 - Total sample number

source

pub fn swreg169_perf_rd_axi_total_byte(&self) -> &Swreg169PerfRdAxiTotalByte

0x2a4 - perf_rd_axi_total_byte

source

pub fn swreg170_perf_wr_axi_total_byte(&self) -> &Swreg170PerfWrAxiTotalByte

0x2a8 - perf_wr_axi_total_byte

source

pub fn swreg171_perf_working_cnt(&self) -> &Swreg171PerfWorkingCnt

0x2ac - perf_working_cnt

Trait Implementations§

source§

impl Debug for Vdpu

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for Vdpu

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for Vdpu

Auto Trait Implementations§

§

impl Freeze for Vdpu

§

impl RefUnwindSafe for Vdpu

§

impl !Sync for Vdpu

§

impl Unpin for Vdpu

§

impl UnwindSafe for Vdpu

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.