+ All Categories
Home > Documents > Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats...

Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats...

Date post: 11-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
46
Video formats David Bařina April 10, 2013 David Bařina Video formats April 10, 2013 1 / 46
Transcript
Page 1: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Video formats

David Bařina

April 10, 2013

David Bařina Video formats April 10, 2013 1 / 46

Page 2: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Contents

1 Videa compression

2 Lossless formats

3 Lossy formats

4 Containers

5 Summary

David Bařina Video formats April 10, 2013 2 / 46

Page 3: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Multimedia

multimedia:text, audio, still image, video, metadata, . . .

needs:I acquire (camera),I store (hard drive, compression),I search (by description),I play,I edit (video editing), . . .

store: containers + codecs

David Bařina Video formats April 10, 2013 3 / 46

Page 4: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Notionscontainer

I data streams/tracks (audio, video, subtitles, chapters)I e.g. AVI, Matroska, MPEG-TS

video formatI lossy, lossless compressionI e.g. H.264, MPEG-4 ASP

codecI compressor + decompressorI e.g. x264, DivX, libavcodec

FourCC (4CC, four character code)I AVII e.g. DIVX indicates DivX

bitrate [bps]bitrate per segment:CBR (constant), VBR (fixed quality),ABR (long-term average, multipass encoding)postprocessing (deblocking)

David Bařina Video formats April 10, 2013 4 / 46

Page 5: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Video3D signal (x , y , t), color (Y , Cb, Cr )

sequence of (similar) frameshierarchy:video, groups of pictures, frames, slices, macroblocks, blocks, samples

David Bařina Video formats April 10, 2013 5 / 46

Page 6: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Frame

type (key, delta)framerate [fps]timestamp

I decoding time stamp (DTS)I presentation time stamp (PTS)

index (by time, frame number)

David Bařina Video formats April 10, 2013 6 / 46

Page 7: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Picture typeskey / intra / I frame

I spatial redundancydelta / inter / P / B frame

I temporal redundancyI B-frame problemsI framedrop for B-frames

other framesI D-frameI golden and altref frames

frame reorderingI B-frame after reference frames

I P B

David Bařina Video formats April 10, 2013 7 / 46

Page 8: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Group of pictures

GOPsequence of consecutive framesbegins with I-frameopen vs. closed GOPany frame decodable from its GOP (closed)error resilienceGOP size

I seeking takes long timeI memory demandingI higher compression ratioI typically 12, max. 18

David Bařina Video formats April 10, 2013 8 / 46

Page 9: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Group of pictures

David Bařina Video formats April 10, 2013 9 / 46

Page 10: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Chroma subsampling

Y vs. Cb, Cr

unobservable by human eyesJ:a:b, 4:4:4, 4:2:2, 4:1:1, 4:2:0centroids

4:4:4 4:2:2

4:1:1 4:2:0

David Bařina Video formats April 10, 2013 10 / 46

Page 11: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Blocks, macroblocksblock = 8 × 8 samples, DCTin newer standards smaller blocks (4–16)macroblock = 6 blocks (4:2:0)2 × 2 Y + 1 Cb + 1 Cr = 616 × 16 + 8 × 8 + 8 × 8macroblocks can be divided into subblocks (H.264)fundamental element of motion compensation

Y

Cb

C r

David Bařina Video formats April 10, 2013 11 / 46

Page 12: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Intra-frame codingspatial redundancylike JPEGmacroblocks, or parts of macroblocksprediction (several modes)transform (DCT, DWT)quantization (adaptive q · Q), zigzagcoding (RLE-0, VLC)

00110101100011100110101110...

1 2 3 4 5

David Bařina Video formats April 10, 2013 12 / 46

Page 13: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Macroblock prediction

David Bařina Video formats April 10, 2013 13 / 46

Page 14: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Motion estimation and compensationtemporal redundancymacroblocks, or parts of macroblocksmotion estimation (ME)motion vector (MV) – accuracy (half-pel, Qpel), differentially encodedmotion compensation (MC)

I global (GMC) – affine transformationI block (BMC) – motion vectorI overlapped block (OBMC) – computationally demanding

David Bařina Video formats April 10, 2013 14 / 46

Page 15: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Motion vectors

David Bařina Video formats April 10, 2013 15 / 46

Page 16: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Hybrid coder

transform quantization

inversequantization

inversetransform

+ entropycoder

frame

+

motionestimation motion

vectors

motioncompensation

bitstream

David Bařina Video formats April 10, 2013 16 / 46

Page 17: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Interlacing

only even or odd lines at one timevisible artifacts on moving objects

deinterlacing (algorithms)digital video, MPEG

I odd and even lines in separate pictures (field)I odd and even lines interlaced in single picture (frame)

David Bařina Video formats April 10, 2013 17 / 46

Page 18: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Standards

organization: ISO/IEC, ITU-T (CCITT)standardization: bitstream syntax + decoderprofiles (algorithms)

I encoderI decoder

levels (technical limitations)

David Bařina Video formats April 10, 2013 18 / 46

Page 19: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Frame memory organization

...

{pixel

} row

framebuffer:

image

byte

stride

width

David Bařina Video formats April 10, 2013 19 / 46

Page 20: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Uncompressed (RAW) frames

FourCC: 0x00000000

uncompressed DIB, BGR24

David Bařina Video formats April 10, 2013 20 / 46

Page 21: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Microsoft RLE

FourCC: mrle

MSDN: 4, 8 bpp; FFmpeg: 16, 24, 32pairs of bytes A, B

A B meaning0 0–2 escape code (end of picture)0 3–255 copy next B bytes

1–255 0–255 fill next A bytes with value B

David Bařina Video formats April 10, 2013 21 / 46

Page 22: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Huffyuvfast, GPL, fork LagarithFourCC: HFYUpredictor + entropy coderpredictors: left a, plane p, median med(a, b, p)

xa

bc d

p = a + b − c

color model: R − G , G , B − Geach channel has its own Huffman table (static)Lagarith: predictor (median), RLE, arithmetic coder, null frames

David Bařina Video formats April 10, 2013 22 / 46

Page 23: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MJPEG

Motion JPEGnot a standard, incompatibility, cameras, many FourCCsI-frames, JPEGalso Motion JPEG 2000

David Bařina Video formats April 10, 2013 23 / 46

Page 24: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

VP3

short specifications (about 1000 lines), 2004, 4CC VP30, VP31

YCbCr 4:2:0, 8 × 8 DCT, kvantization, RLE-0, zig-zag, DCdifferences, Huffman codingblock motion compensation (BMC), golden(I)/inter(P)-framesfragment = block 8 × 8superblock = 4 × 4 = 16 fragments (channel independent)makroblock = blocks 2 × 2 Y + 1 U + 1 V = 6 (over channels)Hilbert curve order for blocks in superblockgolden-frames: like JPEGinter-frames: 8 modes for each macroblock(I-frame, difference from previous or I-frame, motion vector)

David Bařina Video formats April 10, 2013 24 / 46

Page 25: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Theora

for Ogg, Xiph.org Foundation, FourCC theo

based on VP3I/P-frames only8 × 8 DCT, chroma subsampling, BMC, max. 8 bits per channellibtheora

David Bařina Video formats April 10, 2013 25 / 46

Page 26: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Dirac

lossy, open source, BBC, FourCC: BBCD

YCC models; interlacing; 4:4:4, 4:2:2, 4:2:0 subsamplingDWT, choice of 7 waveletsimplementation

I Schrödinger in C (optimized)I dirac-research (originally Dirac) in C++

GOP, I/P/B-frames, motion compensation (motion vectors)context arith. coder or exp-Golomb codessubset as VC-2 (Dirac Pro) – I-frames onlyno block effect as with the MPEGspecifications 134 pages, 2008

David Bařina Video formats April 10, 2013 26 / 46

Page 27: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Dirac

frame DWTquantization

+

inverseDWT

+

motioncompensation

motionestimation

arithmeticcoding

bitstream

David Bařina Video formats April 10, 2013 27 / 46

Page 28: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

VP8Google (On2), similar to H.264implementation libvpx, support in browsers (HTML5)exact DCT, WHT (Walsh–Hadamard transform)only 8-bit YUV 4:2:0each frame into macroblocks (16 × 16 Y, 8 × 8 U a V pixels),macroblocks in raster ordermacroblocks into 4 × 4 subblocks (16 Y, 4 U, 4 V),subblocks in raster orderDCT/WHT for 4 × 4

I DCT for subblocks of 16Y, 4U, 4VI WHT for DC coefficients of 4 × 4 DCT Y blocks

no frame reorderingboolean entropy coder = variant of arith. coderspecification using sections of C source code; 303 pages, readable

David Bařina Video formats April 10, 2013 28 / 46

Page 29: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

VP8

only I(intra)/P(inter)-frames, no B-framesP-frames from any previous frame in GOPdefines golden and altref frames: every I-frame is golden and altrefany P-frame can replace last golden or altref framemacroblocks of P-frames are predicted from:previous, last golden, last altref, decoded part of current frameI(intra)-prediction: predict macroblock from already decoded row orcolumn above or on the left; 4 methodsP(inter)-prediction: motion vectors (Qpel), motion vectors for chromasubblocks as average from 4 corresponding Y subblocksframe decoding followed by loop filter – remove the blocking artifacts(do not confuse with postprocessing)

David Bařina Video formats April 10, 2013 29 / 46

Page 30: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

H.261

ITU-T, 1988, 29 pagesCIF, QCIF, YCbCr 4:2:0macroblock (16 × 16 Y + 8 × 8 Cb + 8 × 8 Cr)8 × 8 DCT, kvantization, zigzag, EC (RLE-0 + VLC)inter/intra-framesmotion compensation (MC)

I one vector per macroblockI against the previous frameI motion vectors (integer only + possible blur)

loop filter

David Bařina Video formats April 10, 2013 30 / 46

Page 31: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

H.261

frame DCTquantization

+

inv. quantizationinverse DCT

+

motion estimationand compensation

quantized coefficients

motion vectors

David Bařina Video formats April 10, 2013 31 / 46

Page 32: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG-1 Part 2

ISO/IEC 11172-2, 1993, based on H.261 and JPEGVCD, (SVCD), (DVD)YCbCr 4:2:0I/P/B/D-framesGOP (15–18)I-frames like JPEGP-frames against I/P-framesmotion vectors for each macroblock (half-pel)P-frames 1 vector / macroblock; B-frames 2 vectorsDTS (decoding time stamps) in containerD-frames DC coefficientsblocks 8 × 8, macroblocks 16 × 16 = 6 blocks (4Y + Cb + Cr)

David Bařina Video formats April 10, 2013 32 / 46

Page 33: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG-2 Part 2 / H.262

ISO/IEC 13818-2, 1995, improves MPEG-1, but more complexinterlaced video4:2:2, 4:2:0, 4:4:4 subsamplingI/P/B-frames (not D)macroblocks, 1 motion vector (MV) per macroblockstandard 243 pages

I profiles (algorithms, image formats)I levels (bitrate, frame size)I e.g. SP do not allow B-frames

SVCD, DVD, HD DVD, BD, digital TV (DVB-T)VBR

David Bařina Video formats April 10, 2013 33 / 46

Page 34: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG-2 Part 2 / H.262

David Bařina Video formats April 10, 2013 34 / 46

Page 35: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG-4 Part 2

ISO/IEC 14496-2, 1999, based on H.263YCbCr 4:2:0, I/P/B-frames, DCT, MVno loop filter (!)standard: profiles, 517 pages, complex (3D shape)

I SP: no B-framesI ASP: B-frames, interlacing, Qpel, GMC (global motion compensation)

QpelGMCmany implementations (DivX, Xvid, 3ivx, FFmpeg), many 4CCs

David Bařina Video formats April 10, 2013 35 / 46

Page 36: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG-4 Part 10 / H.264

ISO/IEC 14496-10, ITU-T H.264, AVC (Advanced Video Coding)2003, many new features4CC AVC1, H264

4:0:0 (monochromatic), 4:2:0, 4:2:2, 4:4:4BD, HD DVD, digital TV (DVB – HD stations)I/P/B-frames, DCT a WHT (Walsh–Hadamard transform)WHT for DC coefficientsloop filterstandard 680 pages

David Bařina Video formats April 10, 2013 36 / 46

Page 37: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG-4 Part 10 / H.264

various sizes of blocksfor prediction of P/B-frames up to 16 reference frames(instead of 1 or 2)motion compensation for blocks 4 × 4 to 16 × 16macroblock divided into subblocksseveral motion vectors (MV) per macroblock (subblocks)weighted prediction between two reference framesintra-coded macroblocks predicted from surrounding blocksentropy coders: exp-Golomb; CABAC or CAVLCimplementation: x264, FFmpeg, DivX, CoreAVC

David Bařina Video formats April 10, 2013 37 / 46

Page 38: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Other formats

H.265 / HEVCHigh Efficiency Video Coding, ISO/IEC 23008-2, MPEG-H Part 2in development, successor for H.264VP9WMV + VC-1. . .

David Bařina Video formats April 10, 2013 38 / 46

Page 39: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

AVI (Audio Video Interleave)

.avi extensionMicrosoft, since 1992RIFF (Resource Interchange File Format)to identify the codec uses FourCC (e.g. DIVX = DivX)cannot contain subtitles, chapters, menus (third party)formerly restriction on 1 GBindex by frame number (not time) at the end of file(not suitable for streaming)wide supportdoes not support B-frames

David Bařina Video formats April 10, 2013 39 / 46

Page 40: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Matroska

.mkv extensionopen format, announced 2002supports absolutely everything, unlimited number of tracksbased on EBML (Extensible Binary Meta Language)codec identified by CodecID (text string)

I e.g. V_MPEG4/ISO/AVC = H.264I code V_MS/VFW/FOURCC encapsulates FourCCI http://haali.su/mkv/codecs.pdf

WebM (.webm extension) is profile Matroska formatI Google, 2010, intended for the web (HTML5)I only VP8 + Vorbis codecs

David Bařina Video formats April 10, 2013 40 / 46

Page 41: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MP4 (MPEG-4 Part 14)

.mp4 extensionISO standard, since 2003 (version 2)based on MPEG-4 Part 12, which is based on QuickTimeto identify objects (also codecs) uses four-character identifiers

I e.g. avc1 for MPEG-4 AVCI code-points, http://www.mp4ra.org/codecs.html

supports any codec (priváte or registered)

David Bařina Video formats April 10, 2013 41 / 46

Page 42: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

ASF (Advanced Systems Format)

.asf, .wma, .wmv extensionsMicrosoftobjekts (also used codecs) identified by GUID

I encapsulates FourCC, e.g.DEFINE_GUID(CLSID_XVID, mmioFOURCC(’D’,’I’,’V’,’X’), . . .

theoretically any codecindex for keyframes, can be by time, frame number or ref. timestamp

David Bařina Video formats April 10, 2013 42 / 46

Page 43: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

QuickTime, Ogg

QuickTime.mov extensionApple, also QuickTime File Format (QTFF)MPEG-4 Part 12 is based on QT

Ogg.ogv, .oga, .ogx, .ogg extensionsopen formatpart of the Ogg project, Xiph.Org Foundationformerly in the HTML5 specificationhack OGM (Ogg Media)

David Bařina Video formats April 10, 2013 43 / 46

Page 44: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

FLV, 3GP

Flash Video.flv, .f4v extensionsAdobe Systems (originally Macromedia)two versions: FLV (SWF) and F4V (MPEG-4 Part 12)limited codec support

3GP, 3G2.3gp, .3g2 extensionsbased on MPEG-4 Part 12for mobile deviceslimited codec support

David Bařina Video formats April 10, 2013 44 / 46

Page 45: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

MPEG

MPEG-PSISO, specified in MPEG-1 Part 1 and MPEG-2 Part 1VOB, EVO (with limitations) – DVD-Video and HD DVDlimited codec support + private streamsES (audio, video), PES (packets),PS (combines multiple PES – e.g. audio a video)

MPEG-TSISO, 1995, specified in MPEG-2 Part 1can contain multiple PS (Program Streams)limited codec support + private streamsbroadcastingTS encapsulates several PES

David Bařina Video formats April 10, 2013 45 / 46

Page 46: Videoformats - Faculty of Information Technologyibarina/pub/video-formats-en.pdfVideoformats DavidBařina April10,2013 David Bařina Video formats April 10, 2013 1 / 46

Summary

notions: format, codec, container, FourCC, frame, GOP, macroblockmethods: intra-coding, inter-coding, hybrid codervideo formats:MS RLE, Huffyuv,VP3/Theora, Dirac, VP8, H.261, MPEG-{1,2,4}, H.264container formats:AVI, MKV, MP4 (ISO, 3GP, MOV), MPEG-{PS,TS}

David Bařina Video formats April 10, 2013 46 / 46


Recommended