SlideShare una empresa de Scribd logo
1 de 117
Descargar para leer sin conexión
Introduction to VP8
郭至軒 (KuoE0)
kuoe0.tw@gmail.com
Latest update: Jun 13, 2013
Attribution-ShareAlike 3.0 Unported
(CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
Situation
web m
web m
Video Codec
VP8
An
Open
Source
Codec
Developed by
On2 Technology
Developed by
On2 Technology
February, 2010
Acquired by
Google
February, 2010
Patent
web m
March, 2013
web m
Royalty-Free TermsMarch, 2013
web m
Successor
VP9
Successor
VP9
May 15, 2013
Feature
focus on
Internet
web-based
application
Low Bandwidth Requirement
Image Quality:
watchable (PSNR: ~30dB)
visually lossless (PSNR: ~45dB)
Heterogeneous Client Hardware
Heterogeneous Client Hardware
Heterogeneous Client Hardware
Efficient
Implementations
Web Video Format
YUV 420 color sampling
8 bit per channel depth
Up to 16383 × 16383 pixels
Processing Flow
Coding
Predict
Transform + Quantize
Entropy Code
Loop Filter
Decoding
Entropy Decode
Predict
Dequantize+Inverse Transform
Loop Filter
Reference Frame
Golden
Frame
Last Frame
Alternate
Frame
Reference
Frame
Golden
Frame
Last Frame
Alternate
Frame
At most 3 reference frames in VP8.
Last Frame
Last Frame
Last Frame
Last Frame Current Frame
Golden Frame
Choose an arbitrary frame in the past.
Define a number of flags to notify decoder
when and how to update this buffer.
Golden Frame
Choose an arbitrary frame in the past.
Define a number of flags to notify decoder
when and how to update this buffer.
set as the golden frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Golden Frame
Reconstruct
moving object
background
Alternate Frame
Other
Frame
Alternate
Frame
Alternate Frame
Other
Frame
Alternate
Frame
decode
show
Alternate Frame
Other
Frame
Alternate
Frame
decode
show
decode show
Alternate Frame
Other
Frame
Alternate
Frame
decode
show
decode show
store beneficial information
Construct from multi-frame
Construct from multi-frame
Construct from multi-frame
Construct from multi-frame
Alternate
Frame
Typical Frame
I B B P B B P B B I B B P
VP8
L G
A
G G G G G L G G G
A
G L
Prediction
Intra Prediction
Inter Prediction
use data within a single video frame
use data from previously encoded frames
Intra Prediction
Luma
Luma
Chroma
Intra Prediction
Luma
Luma
Chroma
16 4 8
H_PRED (horizontal prediction)
V_PRED (vertical prediction)
DC_PRED (DC prediction)
TM_PRED (TrueMotion prediction)
Four Prediction Modes:
Horizontal Prediction
Fills each column of the block with
a copy of the left column.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
Horizontal Prediction
Fills each column of the block with
a copy of the left column.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
e
j
o
t
y
Horizontal Prediction
Fills each column of the block with
a copy of the left column.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
e
j
o
t
y
e e e e e
j j j j j
o o o o o
t t t t t
y y y y y
Vertical Prediction
Fills each row of the block with a
copy of the above row.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
Vertical Prediction
Fills each row of the block with a
copy of the above row.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X YU V W X Y
Vertical Prediction
Fills each row of the block with a
copy of the above row.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X YU V W X Y
U V W X Y
U V W X Y
U V W X Y
U V W X Y
U V W X Y
DC Prediction
Fills the block with a single value
using the average of the pixels in
the above row and the left column.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
DC Prediction
Fills the block with a single value
using the average of the pixels in
the above row and the left column.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X YU V W X Y
e
j
o
t
y
Z = (U + V + W + X +
Y + e + j + o + t + y) ÷
10
DC Prediction
Fills the block with a single value
using the average of the pixels in
the above row and the left column.
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X YU V W X Y
e
j
o
t
y
Z = (U + V + W + X +
Y + e + j + o + t + y) ÷
10
Z Z Z Z Z
Z Z Z Z Z
Z Z Z Z Z
Z Z Z Z Z
Z Z Z Z Z
* * * * L0
* * * * L1
* * * * L2
* * * * L3
* * * * L4
* * * * *
* * * * *
* * * * *
* * * * *
A0 A1 A2 A3 A4
TrueMotion Prediction
Horizontal differences
between pixels in
above row and vertical
differences between
pixels in left column are
propagated (starting
from C).
* * * * *
* * * * *
* * * * *
* * * * *
* * * * C
* * * * L0
* * * * L1
* * * * L2
* * * * L3
* * * * L4
* * * * *
* * * * *
* * * * *
* * * * *
A0 A1 A2 A3 A4A0 A1 A2 A3 A4
L0
L1
L2
L3
L4
TrueMotion Prediction
Horizontal differences
between pixels in
above row and vertical
differences between
pixels in left column are
propagated (starting
from C).
* * * * *
* * * * *
* * * * *
* * * * *
* * * * CC
Xij = Ai + Lj - C
* * * * L0
* * * * L1
* * * * L2
* * * * L3
* * * * L4
* * * * *
* * * * *
* * * * *
* * * * *
A0 A1 A2 A3 A4A0 A1 A2 A3 A4
L0
L1
L2
L3
L4
TrueMotion Prediction
Horizontal differences
between pixels in
above row and vertical
differences between
pixels in left column are
propagated (starting
from C).
* * * * *
* * * * *
* * * * *
* * * * *
* * * * CC
Xij = Ai + Lj - C
Xij Xij Xij Xij Xij
Xij Xij Xij Xij Xij
Xij Xij Xij Xij Xij
Xij Xij Xij Xij Xij
Xij Xij Xij Xij Xij
Inter Prediction
As mentioned above...
Inter Prediction
Golden
Frame
Last Frame
Alternate
Frame
Motion Vector
Reusing vectors from neighboring
macroblocks.
Flexible partitioning of a macroblock into sub-
blocks.
Sub-pixel Interpolation
Quarter pixel accurate motion vectors for
luma pixels.
High performance six-tap interpolation
filters.
[3, -16, 77, 77, -16, 3]/128 for 1⁄2 pixel positions
[2, -11, 108, 36, -8, 1]/128 for 1⁄4 pixel positions
[1, -8, 36, 108, -11, 2]/128 for 3⁄4 pixel positions
Hybrid Transform
& Quantization
Divide into Macroblocks
One 16×16 block of luma pixels (Y)
Two 8×8 blocks of chroma pixels (U, V)
Typical Method
16 8 8
Divide into blocks
VP8 Method
All blocks of luma and chroma are 4×4
blocks
4 4 4
Discrete Cosine Transform
Fast implementation
Slightly worse in energy compaction
than KLT
Content-independency
Coding
2-D DCT
Decoding
4×4 variant of LLM
implementation
Coding
2-D DCT
Decoding
4×4 variant of LLM
implementation
Practical fast 1-D DCT algorithms with 11 multiplications
I1
I2
I3
I4
O1
O2
O3
O4
Inverse DCT Graph in VP8
y0
y1
x0
x1
y0 = √2(x0×sin(π/8)-x1×cos(π/8))
y1 = √2(x0×cos(π/8)+x1×sin(π/8))
H.264/AVC
use multiplication-less integer transform
slightly better than
Energy compaction is
It is efficient in processors with
SIMD capability.
Walsh-Hadamard Transform
Y = HXHT
H =
1 1 1 1
1 1 -1 -1
1 -1 1 -1
1 -1 -1 1
[ ]HT is the transpose of H.
Take advantage of
the correlation to
reduce redundancy.
Adaptive Quantization
128 quantization level.
Different quantization level in single frame.
1st order luma DC
1st order luma AC
2st order luma DC
2st order luma AC
2st order chroma DC
2st order chroma AC
Entropy Coding
Supports distribution updates on a per-frame
basis
Boolean arithmetic coder
Stable probability distributions within one
frame
Keyframes reset the probability values to the
defaults
Adaptive Loop Filter
Removing blocking artifacts introduced by
quantization and transformation.
Removing blocking artifacts introduced by
quantization and transformation.
Removing blocking artifacts introduced by
quantization and transformation.
Slight Filtering
Removing blocking artifacts introduced by
quantization and transformation.
Slight Filtering
Strong Filtering
Removing blocking artifacts introduced by
quantization and transformation.
Slight Filtering
Strong Filtering
No Filtering
Parallel Processing
Data Partition
Compressed Data
Data Partition
Compressed Data
marcoblock code mode
& motion vector
transform coefficients
More Transform Coefficient Partition
transform coefficients
support up to 8 token partitions
More Transform Coefficient Partition
transform coefficients
support up to 8 token partitions
Compare to H.264
100
120
140
160
180
200
220
240
260
280
300
Night 720p 2000kbps Sheriff 720p 2000kbps Tulip 720p 2000kbps
Deocding speed in Frame/second
VP8 H.264 High Profile
Intel Core i7 3.2GHz
20
25
30
35
40
45
Night 720p 2000kbps Sheriff 720p 2000kbps Tulip 720p 2000kbps
Deocding speed in Frame/second
VP8 H.264 High Profile
Intel Atom N270 1.66GHz
Any Questions?
Thanks for your listening :)

Más contenido relacionado

La actualidad más candente

HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxYoss Cohen
 
Block Matching Project
Block Matching ProjectBlock Matching Project
Block Matching Projectdswazalwar
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video CompressionYoss Cohen
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfssuserc5a4dd
 
Introduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video CompressionIntroduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video CompressionIain Richardson
 
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsVideo Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsDr. Mohieddin Moradi
 
VVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin BrossVVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin BrossMathias Wien
 
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsVideo Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsDr. Mohieddin Moradi
 
video compression techique
video compression techiquevideo compression techique
video compression techiqueAshish Kumar
 
Multimedia communication jpeg
Multimedia communication jpegMultimedia communication jpeg
Multimedia communication jpegDr. Kapil Gupta
 
High Efficiency Video Codec
High Efficiency Video CodecHigh Efficiency Video Codec
High Efficiency Video CodecTejus Adiga M
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 VideoDr. Mohieddin Moradi
 
Presentation
PresentationPresentation
PresentationVirak Sou
 

La actualidad más candente (20)

H.264 vs HEVC
H.264 vs HEVCH.264 vs HEVC
H.264 vs HEVC
 
VIDEO CODECS
VIDEO CODECSVIDEO CODECS
VIDEO CODECS
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntax
 
Block Matching Project
Block Matching ProjectBlock Matching Project
Block Matching Project
 
HEVC overview main
HEVC overview mainHEVC overview main
HEVC overview main
 
Video coding standards ppt
Video coding standards pptVideo coding standards ppt
Video coding standards ppt
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video Compression
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
 
Introduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video CompressionIntroduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video Compression
 
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsVideo Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video Codecs
 
VVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin BrossVVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin Bross
 
Unit iv
Unit ivUnit iv
Unit iv
 
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsVideo Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video Codecs
 
video compression techique
video compression techiquevideo compression techique
video compression techique
 
Mpeg 2
Mpeg 2Mpeg 2
Mpeg 2
 
Multimedia communication jpeg
Multimedia communication jpegMultimedia communication jpeg
Multimedia communication jpeg
 
High Efficiency Video Codec
High Efficiency Video CodecHigh Efficiency Video Codec
High Efficiency Video Codec
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
 
Lec-03 Entropy Coding I: Hoffmann & Golomb Codes
Lec-03 Entropy Coding I: Hoffmann & Golomb CodesLec-03 Entropy Coding I: Hoffmann & Golomb Codes
Lec-03 Entropy Coding I: Hoffmann & Golomb Codes
 
Presentation
PresentationPresentation
Presentation
 

Similar a Introduction to VP8

input output Organization
input output Organizationinput output Organization
input output OrganizationAcad
 
Recreation mathematics ppt
Recreation mathematics pptRecreation mathematics ppt
Recreation mathematics pptPawan Yadav
 
Electrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicasElectrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicasSANTIAGO PABLO ALBERTO
 
RF Circuit Design - [Ch1-1] Sinusoidal Steady-state Analysis
RF Circuit Design - [Ch1-1] Sinusoidal Steady-state AnalysisRF Circuit Design - [Ch1-1] Sinusoidal Steady-state Analysis
RF Circuit Design - [Ch1-1] Sinusoidal Steady-state AnalysisSimen Li
 
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...Flink Forward
 
Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingVasia Kalavri
 
Lecture 18 M - Copy.pptx
Lecture 18 M - Copy.pptxLecture 18 M - Copy.pptx
Lecture 18 M - Copy.pptxAzeenShahid
 
11-PLDs.pdf
11-PLDs.pdf11-PLDs.pdf
11-PLDs.pdfKoayFT
 
UNIT-II -DIGITAL SYSTEM DESIGN
UNIT-II -DIGITAL SYSTEM DESIGNUNIT-II -DIGITAL SYSTEM DESIGN
UNIT-II -DIGITAL SYSTEM DESIGNDr.YNM
 
UNIT-II : SEQUENTIAL CIRCUIT DESIGN
UNIT-II  : SEQUENTIAL CIRCUIT DESIGN UNIT-II  : SEQUENTIAL CIRCUIT DESIGN
UNIT-II : SEQUENTIAL CIRCUIT DESIGN Dr.YNM
 
新たなRNNと自然言語処理
新たなRNNと自然言語処理新たなRNNと自然言語処理
新たなRNNと自然言語処理hytae
 
Combinational logic 1
Combinational logic 1Combinational logic 1
Combinational logic 1Heman Pathak
 
Lec4 State Variable Models are used for modeing
Lec4 State Variable Models are used for modeingLec4 State Variable Models are used for modeing
Lec4 State Variable Models are used for modeingShehzadAhmed90
 
"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural NetKen'ichi Matsui
 
Cheatsheet convolutional-neural-networks
Cheatsheet convolutional-neural-networksCheatsheet convolutional-neural-networks
Cheatsheet convolutional-neural-networksSteve Nouri
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Usatyuk Vasiliy
 

Similar a Introduction to VP8 (20)

input output Organization
input output Organizationinput output Organization
input output Organization
 
Recreation mathematics ppt
Recreation mathematics pptRecreation mathematics ppt
Recreation mathematics ppt
 
2017 a
2017 a2017 a
2017 a
 
Electrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicasElectrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicas
 
RF Circuit Design - [Ch1-1] Sinusoidal Steady-state Analysis
RF Circuit Design - [Ch1-1] Sinusoidal Steady-state AnalysisRF Circuit Design - [Ch1-1] Sinusoidal Steady-state Analysis
RF Circuit Design - [Ch1-1] Sinusoidal Steady-state Analysis
 
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
 
Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processing
 
Apple 1 manual & warranty 1976
Apple 1 manual & warranty 1976Apple 1 manual & warranty 1976
Apple 1 manual & warranty 1976
 
Lecture 18 M - Copy.pptx
Lecture 18 M - Copy.pptxLecture 18 M - Copy.pptx
Lecture 18 M - Copy.pptx
 
11-PLDs.pdf
11-PLDs.pdf11-PLDs.pdf
11-PLDs.pdf
 
UNIT-II -DIGITAL SYSTEM DESIGN
UNIT-II -DIGITAL SYSTEM DESIGNUNIT-II -DIGITAL SYSTEM DESIGN
UNIT-II -DIGITAL SYSTEM DESIGN
 
UNIT-II : SEQUENTIAL CIRCUIT DESIGN
UNIT-II  : SEQUENTIAL CIRCUIT DESIGN UNIT-II  : SEQUENTIAL CIRCUIT DESIGN
UNIT-II : SEQUENTIAL CIRCUIT DESIGN
 
新たなRNNと自然言語処理
新たなRNNと自然言語処理新たなRNNと自然言語処理
新たなRNNと自然言語処理
 
Combinational logic 1
Combinational logic 1Combinational logic 1
Combinational logic 1
 
Lec4 State Variable Models are used for modeing
Lec4 State Variable Models are used for modeingLec4 State Variable Models are used for modeing
Lec4 State Variable Models are used for modeing
 
"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net
 
ML Visuals.pptx
ML Visuals.pptxML Visuals.pptx
ML Visuals.pptx
 
Cheatsheet convolutional-neural-networks
Cheatsheet convolutional-neural-networksCheatsheet convolutional-neural-networks
Cheatsheet convolutional-neural-networks
 
Drawing Tools
Drawing ToolsDrawing Tools
Drawing Tools
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...
 

Más de Chih-Hsuan Kuo

[Mozilla] content-select
[Mozilla] content-select[Mozilla] content-select
[Mozilla] content-selectChih-Hsuan Kuo
 
Ownership System in Rust
Ownership System in RustOwnership System in Rust
Ownership System in RustChih-Hsuan Kuo
 
在開始工作以前,我以為我會寫扣。
在開始工作以前,我以為我會寫扣。在開始工作以前,我以為我會寫扣。
在開始工作以前,我以為我會寫扣。Chih-Hsuan Kuo
 
Effective Modern C++ - Item 35 & 36
Effective Modern C++ - Item 35 & 36Effective Modern C++ - Item 35 & 36
Effective Modern C++ - Item 35 & 36Chih-Hsuan Kuo
 
Use C++ to Manipulate mozSettings in Gecko
Use C++ to Manipulate mozSettings in GeckoUse C++ to Manipulate mozSettings in Gecko
Use C++ to Manipulate mozSettings in GeckoChih-Hsuan Kuo
 
Pocket Authentication with OAuth on Firefox OS
Pocket Authentication with OAuth on Firefox OSPocket Authentication with OAuth on Firefox OS
Pocket Authentication with OAuth on Firefox OSChih-Hsuan Kuo
 
Protocol handler in Gecko
Protocol handler in GeckoProtocol handler in Gecko
Protocol handler in GeckoChih-Hsuan Kuo
 
面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!Chih-Hsuan Kuo
 
Windows 真的不好用...
Windows 真的不好用...Windows 真的不好用...
Windows 真的不好用...Chih-Hsuan Kuo
 
[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree IsomorphismChih-Hsuan Kuo
 
[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's AlgorithmChih-Hsuan Kuo
 
[ACM-ICPC] Disjoint Set
[ACM-ICPC] Disjoint Set[ACM-ICPC] Disjoint Set
[ACM-ICPC] Disjoint SetChih-Hsuan Kuo
 

Más de Chih-Hsuan Kuo (20)

Rust
RustRust
Rust
 
[Mozilla] content-select
[Mozilla] content-select[Mozilla] content-select
[Mozilla] content-select
 
Ownership System in Rust
Ownership System in RustOwnership System in Rust
Ownership System in Rust
 
在開始工作以前,我以為我會寫扣。
在開始工作以前,我以為我會寫扣。在開始工作以前,我以為我會寫扣。
在開始工作以前,我以為我會寫扣。
 
Effective Modern C++ - Item 35 & 36
Effective Modern C++ - Item 35 & 36Effective Modern C++ - Item 35 & 36
Effective Modern C++ - Item 35 & 36
 
Use C++ to Manipulate mozSettings in Gecko
Use C++ to Manipulate mozSettings in GeckoUse C++ to Manipulate mozSettings in Gecko
Use C++ to Manipulate mozSettings in Gecko
 
Pocket Authentication with OAuth on Firefox OS
Pocket Authentication with OAuth on Firefox OSPocket Authentication with OAuth on Firefox OS
Pocket Authentication with OAuth on Firefox OS
 
Necko walkthrough
Necko walkthroughNecko walkthrough
Necko walkthrough
 
Protocol handler in Gecko
Protocol handler in GeckoProtocol handler in Gecko
Protocol handler in Gecko
 
面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!
 
應徵軟體工程師
應徵軟體工程師應徵軟體工程師
應徵軟體工程師
 
面試心得分享
面試心得分享面試心得分享
面試心得分享
 
Windows 真的不好用...
Windows 真的不好用...Windows 真的不好用...
Windows 真的不好用...
 
Python @Wheel Lab
Python @Wheel LabPython @Wheel Lab
Python @Wheel Lab
 
Python @NCKU CSIE
Python @NCKU CSIEPython @NCKU CSIE
Python @NCKU CSIE
 
[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism
 
[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm
 
[ACM-ICPC] Disjoint Set
[ACM-ICPC] Disjoint Set[ACM-ICPC] Disjoint Set
[ACM-ICPC] Disjoint Set
 
[ACM-ICPC] Traversal
[ACM-ICPC] Traversal[ACM-ICPC] Traversal
[ACM-ICPC] Traversal
 
[ACM-ICPC] UVa-10245
[ACM-ICPC] UVa-10245[ACM-ICPC] UVa-10245
[ACM-ICPC] UVa-10245
 

Último

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Introduction to VP8