Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/MROS/jpeg_tutorial
/ functions
Functions
38 in github.com/MROS/jpeg_tutorial
⨍
Functions
38
◇
Types & classes
10
↓ 24 callers
Function
read_u8
(reader:&mut BufReader<File>)
src/reader.rs:33
↓ 10 callers
Function
read_u16
(reader: &mut BufReader<File>)
src/reader.rs:39
↓ 4 callers
Method
display
(&mut self)
src/decoder.rs:53
↓ 3 callers
Function
chomp
(x: f32)
src/decoder.rs:23
↓ 3 callers
Function
data_reader
(mut reader: BufReader<File>)
src/reader.rs:381
↓ 3 callers
Method
get_a_bit
(&mut self)
src/reader.rs:201
↓ 2 callers
Function
decoder
(reader: BufReader<File>)
src/decoder.rs:194
↓ 2 callers
Method
dequantize
(&mut self)
src/decoder.rs:73
↓ 2 callers
Method
idct
NOTE: idct 直接照定義展開 可嘗試其他優化方法
src/decoder.rs:114
↓ 2 callers
Method
matchHuffman
(&mut self, map: &HashMap<(u8, u16), u8>)
src/reader.rs:213
↓ 2 callers
Method
read_value
(&mut self, code_len: u8)
src/reader.rs:228
↓ 2 callers
Function
to_ppm
(image: Image)
src/ppm.rs:7
↓ 2 callers
Method
zigzag
(&mut self)
src/decoder.rs:92
↓ 1 callers
Function
cc
(i: usize, j: usize)
src/decoder.rs:13
↓ 1 callers
Method
decode
NOTE: dequantize, zigzag, idct 的外層迴圈其實是一樣的 把它們寫在一起可以更有效率、也可以節省很多程式碼行數 但此處爲了能夠將每個階段的狀態都打印出來,將每個階段都寫成函式
src/decoder.rs:144
↓ 1 callers
Function
marker_detector
分析檔頭、
src/marker.rs:23
↓ 1 callers
Method
read_ac
(&mut self, map: &HashMap<(u8, u16), u8>)
src/reader.rs:245
↓ 1 callers
Function
read_app0
(reader: &mut BufReader<File>)
src/reader.rs:46
↓ 1 callers
Method
read_dc
(&mut self, map: &HashMap<(u8, u16), u8>, id: usize)
src/reader.rs:239
↓ 1 callers
Function
read_dht
回傳值爲 (AC/DC, 編號, 霍夫曼表) 使用 hashmap 來儲存碼字與信源符號的對應關係 001 跟 1 雖然在編碼上代表不同含義,但是無法在數字上表示出來 必須再增加一個編碼長度的資訊,才能夠分辨開來,所以我將一個編碼表示爲一個 tuple 譬如說 001 使用 (3, 1) 來表示長度
src/reader.rs:76
↓ 1 callers
Function
read_dqt
(reader: &mut BufReader<File>)
src/reader.rs:114
↓ 1 callers
Function
read_mcu
TODO: 在 read_mcus 時就拿出各 component 的 table ,避免重複計算
src/reader.rs:267
↓ 1 callers
Function
read_mcus
(reader: &mut BufReader<File>, jpeg_meta_data: &JPEGMetaData)
src/reader.rs:316
↓ 1 callers
Function
read_sof0
(reader: &mut BufReader<File>)
src/reader.rs:164
↓ 1 callers
Function
read_sof0_component
(reader: &mut BufReader<File>)
src/reader.rs:154
↓ 1 callers
Function
read_sos
在讀取 read_sos 之前, jpeg_data 的其他欄位都讀取好了
src/reader.rs:345
↓ 1 callers
Function
read_u16
(reader: &mut BufReader<File>)
src/marker.rs:16
↓ 1 callers
Method
show_all_stage
(&mut self)
src/decoder.rs:149
↓ 1 callers
Function
show_mcu_stage
(reader: BufReader<File>, h: usize, w: usize)
src/decoder.rs:225
↓ 1 callers
Method
toRGB
(&mut self)
src/decoder.rs:162
Method
RGB
(r: u8, g: u8, b: u8)
src/image.rs:11
Function
component_name
(id: u8)
src/reader.rs:335
Function
main
()
src/main.rs:22
Function
marker_info
(marker: u8)
src/marker.rs:5
Method
new
()
src/primitives.rs:12
Method
new
(mcu: MCU, jpeg_meta_data: &'a JPEGMetaData)
src/decoder.rs:50
Method
new
初始化爲全黑的
src/image.rs:24
Method
new
(reader: &'a mut BufReader<File>)
src/reader.rs:193