webm/webm-tools.git
8 hours agovpx_ios/VPXExample: Silence LD PIE warning. 78/71978/1 master
Tom Finegan [Wed, 22 Oct 2014 18:07:42 +0000 (11:07 -0700)]
vpx_ios/VPXExample: Silence LD PIE warning.

This is a new warning issued by Xcode 6. Just quieting it to
avoid providing any point of confusion for people looking at
the example.

Change-Id: I3de3d3f9ce1a596356a87eb4239280a66cd2dc84

8 hours agovpx_ios/VPXExample: Rename vpx_test_common.h to vpx_example_common.h 77/71977/1
Tom Finegan [Wed, 22 Oct 2014 17:57:29 +0000 (10:57 -0700)]
vpx_ios/VPXExample: Rename vpx_test_common.h to vpx_example_common.h

Remove the last vestiges of the original app name, and hopefully make
the example code more clear for the intended audience.

Change-Id: I83ccd48b0d4a38252d1524ab62c75a3b446eabf3

8 hours agovpx_ios/VPXExample: Play at input frame rate. 05/71905/6
Tom Finegan [Wed, 22 Oct 2014 17:39:28 +0000 (10:39 -0700)]
vpx_ios/VPXExample: Play at input frame rate.

Use input time stamps to control display of video frames instead
of rendering as fast as frames are decoded.

Change-Id: I9f3bc81adf0cb38e58ca9b9c33961abf88c723a1

5 days agovpx_ios/VPXExample: Fixes for iOS 8. 26/71926/3
Tom Finegan [Thu, 16 Oct 2014 21:16:49 +0000 (14:16 -0700)]
vpx_ios/VPXExample: Fixes for iOS 8.

- plist HACK: Tell Xcode that Main_iPhone.storyboard is the launch screen.
  This works around a bug that appears to occur only when targeting the iPhone
  6 plus: For reasons unknown the simulator (and very likely the device based
  on observed behavior with older devices) reports incorrect dimensions when the
  application has no launch screen.
- OpenGL renderer:
    - compile error fix: The definitions of GL_RG_EXT and GL_RED_EXT
      are not longer supplied for free via the inclusion of GLKit/GLKit.h.
      Added include of glext.h.
    - orientation does influence device dimensions beginning with iOS 8
      (observed in simulator and on device). While changing this I've
      also taken the liberty of omitting the change of contentScaleFactor
      to 1.0, and using the device screen scale directly when setting up the
      view port.

Change-Id: If6949d9e4ef663f8aaa292b44a80abed552bd856

7 days agovpx_ios/VPXExample: Fix some nits. 02/71902/2
Tom Finegan [Wed, 15 Oct 2014 22:15:13 +0000 (15:15 -0700)]
vpx_ios/VPXExample: Fix some nits.

- Fix include order (one place).
- Remove unnecessary include (one place).
- Remove extra new lines (two places).

Change-Id: Id4a8841eb77d65d59c69fa3103742ca39909e41c

7 days agoMerge "vpx_ios/VPXExample: Use tap instead of touch in instructions."
Tom Finegan [Wed, 15 Oct 2014 20:56:55 +0000 (13:56 -0700)]
Merge "vpx_ios/VPXExample: Use tap instead of touch in instructions."

7 days agovpx_ios/VPXExample: Use tap instead of touch in instructions. 97/71897/3
Tom Finegan [Wed, 15 Oct 2014 18:13:11 +0000 (11:13 -0700)]
vpx_ios/VPXExample: Use tap instead of touch in instructions.

Per Apple UI guidelines.

Change-Id: Ied81153c4c3d9edb8237b9b892c28e98215e267a

7 days agovpx_ios/VPXExample: Disambugate ownership and usage of VideoBuffer struct. 00/71900/2
Tom Finegan [Wed, 15 Oct 2014 19:50:21 +0000 (12:50 -0700)]
vpx_ios/VPXExample: Disambugate ownership and usage of VideoBuffer struct.

Make VideoBuffer a member of VideoBufferPool.

Change-Id: I15d61633146287f03077f9d75c97ec6fe446d2c8

7 days agoMerge "vpx_ios/VPXExample: Lint appeasement."
Tom Finegan [Wed, 15 Oct 2014 19:51:33 +0000 (12:51 -0700)]
Merge "vpx_ios/VPXExample: Lint appeasement."

7 days agovpx_ios: Add a README. 00/71800/5
Tom Finegan [Wed, 15 Oct 2014 18:11:50 +0000 (11:11 -0700)]
vpx_ios: Add a README.

Change-Id: I44dbc25bb68265e2be2ea6a43f9cd628519d1240

8 days agovpx_ios/VPXExample: Lint appeasement. 72/71872/4
Tom Finegan [Tue, 14 Oct 2014 18:45:20 +0000 (11:45 -0700)]
vpx_ios/VPXExample: Lint appeasement.

Linted everything; fixed stuff that made sense (in other words, stuff
that wasn't cpplint barfing up objective-C).

Change-Id: Ic7ccfa210ed83a2fec1a22ce33a7879808085fc2

9 days agovpx_ios/VPXExample: Fix include guard names. 02/71802/3
Tom Finegan [Mon, 13 Oct 2014 17:49:39 +0000 (10:49 -0700)]
vpx_ios/VPXExample: Fix include guard names.

Missed these during the mass renaming from VPXTEST -> VPXEXAMPLE.

Change-Id: Ia7786a16d32226a1c9ec7cb632bdcfa74c88d6ea

12 days agovpx_ios/VPXExample: Fix directions. 01/71801/1
Tom Finegan [Fri, 10 Oct 2014 23:16:26 +0000 (16:16 -0700)]
vpx_ios/VPXExample: Fix directions.

The in app directions for local and download based playback were
flipped.

Change-Id: I66d8b814f2aca97df7c19ba8ca3902ab79ea18aa

12 days agovpx_ios/VPXTest: Rename to VPXExample. 84/71784/2
Tom Finegan [Fri, 10 Oct 2014 18:31:01 +0000 (11:31 -0700)]
vpx_ios/VPXTest: Rename to VPXExample.

- namespace VpxTest -> VpxExample
- dirs/files/projects VPXTest -> VPXExample
- gitignore update: DO NOT ignore VPXExample-Prefix.pch; it's not
  a generated file.
- add VPXExample-Prefix.pch to the repo.
- mark debug/release schemes as shared and add them to the repo.

Change-Id: I7b8fbae87a6ab1368b585c3504b36f0950743858

13 days agovpx_ios/VPXTest: Add video buffer pool. 44/71744/3
Tom Finegan [Thu, 9 Oct 2014 21:32:31 +0000 (14:32 -0700)]
vpx_ios/VPXTest: Add video buffer pool.

Add VideoBufferPool with kNumVideoBuffers of 8. Instead of leaking
CVPixelBufferRefs to GlkVideoViewController, VpxPlayer instead uses
VideoBufferPool to manage buffers. Buffers are preallocated immediately
after container parsing initialization is completed.
VpxPlayer obtains buffers from the pool via VideoBufferPool::GetBuffer(),
and copies the output image to the buffer. It then hands the buffer off
to GlkVideoViewController for display via :receiveVideoBuffer. After
display, GlkVideoViewController returns the buffer to VpxPlayer via
VpxPlayer::ReleaseVideoBuffer(), which is a simple wrapper for
VideoBufferPool::ReleaseBuffer().

Change-Id: I0b2c7d5938e5bdeafdacd63d69df3e50bcc65129

2 weeks agovpx_ios/VPXTest: Add script for downloading test files. 23/71723/8
Tom Finegan [Sun, 5 Oct 2014 18:29:40 +0000 (11:29 -0700)]
vpx_ios/VPXTest: Add script for downloading test files.

Downloads VP8 and VP9 versions of the Sintel trailers from
http://downloads.webmproject.org. Both 854x364. Script runs
at build time automatically via xcode run script build phase.

Change-Id: Icaf3ef764de4dff05d28d7e063e359a70623f2f2

2 weeks agoMerge "vpx_ios/VPXTest: Use number of CPUs threads for decoding."
Tom Finegan [Mon, 6 Oct 2014 21:00:16 +0000 (14:00 -0700)]
Merge "vpx_ios/VPXTest: Use number of CPUs threads for decoding."

2 weeks agovpx_ios/VPXTest: Add local playback mode, and make it the default. 26/71726/2
Tom Finegan [Thu, 2 Oct 2014 23:03:52 +0000 (16:03 -0700)]
vpx_ios/VPXTest: Add local playback mode, and make it the default.

Change-Id: I7f3fbbe4ddb9f31b1561be80180b0062f10f1802

2 weeks agovpx_ios/VPXTest: Use number of CPUs threads for decoding. 24/71724/5
Tom Finegan [Fri, 3 Oct 2014 18:32:03 +0000 (11:32 -0700)]
vpx_ios/VPXTest: Use number of CPUs threads for decoding.

Change-Id: I8f91281663f3616af2a8fd557705caf62213f4ad

2 weeks agovpx_ios/VPXTest: Calculate viewport once per video. 21/71721/1
Tom Finegan [Thu, 2 Oct 2014 18:06:05 +0000 (11:06 -0700)]
vpx_ios/VPXTest: Calculate viewport once per video.

Instead of every openGL update. This required a few (minor) changes:
- Splitting of VpxPlayer::PlayFile() into LoadFile() and Play().
- Addition of a VpxFormat (vpx_format()) accessor on VpxPlayer.
- Addition of convenience struct ViewRectangle in GlkVideoViewController.

Change-Id: Ie263a145ae44f31e37ba63400096d1fc67ede70b

3 weeks agovpx_ios/VPXTest: Maintain video aspect ratio. 20/71620/6
Tom Finegan [Wed, 1 Oct 2014 21:22:30 +0000 (14:22 -0700)]
vpx_ios/VPXTest: Maintain video aspect ratio.

Change-Id: I42f8a6d6ac2d2683b574175c0a9011d7f5a8dcbe

5 weeks agovpx_ios/testserver: Support multiple sessions. 24/71424/3
Tom Finegan [Wed, 3 Sep 2014 17:31:46 +0000 (10:31 -0700)]
vpx_ios/testserver: Support multiple sessions.

Also, add a port argument.

Change-Id: I3e90accec9ead144033a9195f32813d279f3c977

8 weeks agovpx_ios/VPXTest: Wire up video playback. 40/71340/5
Tom Finegan [Wed, 27 Aug 2014 19:34:00 +0000 (12:34 -0700)]
vpx_ios/VPXTest: Wire up video playback.

- Rendering is handled via a specialized GLKViewController.
- OpenGLES 2.0 video rendering via two textures (and a shader to offload
  the YUV -> RGB heavy lifting onto the GPU).
- No timing; plays at 60 frames per second (assuming the decoder keeps up).

Change-Id: I0bf946dd91f781edcb9ff38bbb975c1db8676b26

2 months agoMerge "vpx_ios/VPXTest: Add output frame handling to VpxPlayer."
Tom Finegan [Thu, 21 Aug 2014 19:00:13 +0000 (12:00 -0700)]
Merge "vpx_ios/VPXTest: Add output frame handling to VpxPlayer."

2 months agovpx_ios/VPXTest: Add output frame handling to VpxPlayer. 64/71264/5
Tom Finegan [Wed, 20 Aug 2014 02:25:40 +0000 (19:25 -0700)]
vpx_ios/VPXTest: Add output frame handling to VpxPlayer.

- Allocate NV12 CVPixelBufferRef and fill it.
- Interleaves chroma (YV12 -> NV12).

Change-Id: Ie363fb606ac57865db2b9446e9cad2f9691e04c2

2 months agoUpdate PATENTS to reflect s/VP8/WebM/g 62/71162/1
Lou Quillio [Mon, 11 Aug 2014 19:31:10 +0000 (12:31 -0700)]
Update PATENTS to reflect s/VP8/WebM/g

Sync with http://www.webmproject.org/license/additional/

modified:   webm_crypt/PATENTS

Change-Id: I3c34459b8535d07d63c34275e52a98b0a8558e6d

2 months agovpx_ios/VPXTest: make app landscape only 00/71000/1
Tom Finegan [Fri, 25 Jul 2014 19:14:14 +0000 (12:14 -0700)]
vpx_ios/VPXTest: make app landscape only

Remove portrait support flags and fix layout for landscape display.

Change-Id: Icf28d04baf080a1a8bc2c8cd8d010bb03d4ff630

2 months agovpx_ios/VPXTest: Fix crash when list of test files is empty. 65/70965/2
Tom Finegan [Wed, 23 Jul 2014 18:40:28 +0000 (11:40 -0700)]
vpx_ios/VPXTest: Fix crash when list of test files is empty.

Change-Id: Iadd0705a72f2653e45a693aa3ed1cdecaf01f5dd

3 months agovpx_ios/VPXTest: Fix warnings. 64/70964/1
Tom Finegan [Wed, 23 Jul 2014 18:21:51 +0000 (11:21 -0700)]
vpx_ios/VPXTest: Fix warnings.

1. Avoid loss of precision warnings by using obj-C integer types.
2. Because of 1: Use explicit casts in NSLog when logging NS* integer
   types. (Without the casts this introduces more warnings-- because
   NS* int type sizes change based on target)

Change-Id: I0fb8fadcc1704c8584773919b616ead1682cd4b1

3 months agovpx_ios/VPXTest: clang_format ViewController.mm 62/70962/1
Tom Finegan [Wed, 23 Jul 2014 18:08:39 +0000 (11:08 -0700)]
vpx_ios/VPXTest: clang_format ViewController.mm

Change-Id: Idefd63c86675b1502fec46c7a7bca3ebeed47fb8

3 months agovpx_ios/VPXTest: Add IVF support. 50/70950/2
Tom Finegan [Tue, 22 Jul 2014 23:51:42 +0000 (16:51 -0700)]
vpx_ios/VPXTest: Add IVF support.

Change-Id: I47695807f2d0c6987087c45fbaea0981bc0116b5

3 months agovpx_ios: Add VPXTest and testserver 58/70858/8
Tom Finegan [Fri, 18 Jul 2014 18:13:13 +0000 (11:13 -0700)]
vpx_ios: Add VPXTest and testserver

- VPXTest: A simple iOS app for testing libvpx performance.
- testserver: A simple python server that provides file listings
              and test files to VPXTest.

Change-Id: Ifa8ae72fe6fe04b6a2df1512644a75ce3ab45573

3 months agoAdd AUTHORS and LICENSE files. 56/70856/2
Tom Finegan [Tue, 15 Jul 2014 01:39:49 +0000 (18:39 -0700)]
Add AUTHORS and LICENSE files.

Change-Id: I7885c2a177efa1860f6d3afba5ec9acbf78037d2

4 months agowebm_info: add BlockGroup/DiscardPadding output 89/70589/1
James Zern [Fri, 20 Jun 2014 20:13:02 +0000 (13:13 -0700)]
webm_info: add BlockGroup/DiscardPadding output

Change-Id: I0fc6c17f56652fcd03e25f689e6564468443efff

4 months agowebm_info: output CodecDelay + SeekPreRoll if present 88/70588/1
James Zern [Fri, 20 Jun 2014 06:50:23 +0000 (23:50 -0700)]
webm_info: output CodecDelay + SeekPreRoll if present

Change-Id: I0d3fae82cd1f0a585c5628288b06383bcc177fb5

4 months agoMerge "webm_file.h: add opus and vp9 to codec descriptions"
James Zern [Thu, 12 Jun 2014 21:40:21 +0000 (14:40 -0700)]
Merge "webm_file.h: add opus and vp9 to codec descriptions"

4 months agoMerge "webm_file: report the correct mime/type for Opus"
James Zern [Thu, 12 Jun 2014 17:54:20 +0000 (10:54 -0700)]
Merge "webm_file: report the correct mime/type for Opus"

4 months agowebm_info: output cues relative to their file position 65/70465/2
James Zern [Wed, 11 Jun 2014 03:06:59 +0000 (20:06 -0700)]
webm_info: output cues relative to their file position

avoids somewhat confusing ordering if cues are at the front of the file

Change-Id: I9013de51337a202757abd41cc9cd5d33308012aa

4 months agowebm_info: fix Cue output w/single track files 64/70464/1
James Zern [Wed, 11 Jun 2014 03:16:31 +0000 (20:16 -0700)]
webm_info: fix Cue output w/single track files

Change-Id: Ia0db3819cc221e6bc3e53f2d1e8ab6a8ae42977c

4 months agowebm_file.h: add opus and vp9 to codec descriptions 57/70457/1
James Zern [Tue, 10 Jun 2014 22:12:19 +0000 (15:12 -0700)]
webm_file.h: add opus and vp9 to codec descriptions

Change-Id: I8590782bb99eba76936bafe7f6b7f01ea4a5c77e

4 months agowebm_file: report the correct mime/type for Opus 55/70455/1
James Zern [Tue, 10 Jun 2014 22:05:56 +0000 (15:05 -0700)]
webm_file: report the correct mime/type for Opus

"audio/webm"

missed in:
550c9b8 webm_file: add Opus support

Change-Id: I6514caea88424c900f55f7b9c32e006bfa6008f0

4 months agowebm_file: add Opus support 93/70393/1
James Zern [Tue, 3 Jun 2014 22:20:09 +0000 (15:20 -0700)]
webm_file: add Opus support

Change-Id: I12a081c28d7f9412281f53ab93f11054f99d7a51

5 months agowebm_file: Add VP9 support. 76/70076/1
Frank Galligan [Fri, 9 May 2014 23:27:41 +0000 (16:27 -0700)]
webm_file: Add VP9 support.

Change-Id: I9ccec1a826c18ab1a30d456018536f9f2af2d279

5 months agoFix end byte position 69/69869/1
Frank Galligan [Wed, 23 Apr 2014 19:34:55 +0000 (12:34 -0700)]
Fix end byte position

Dash ranges are based off RFC 2616, which says all byte positions are
inclusive. The old code had end positions which were exclusive.

Change-Id: I84f0c5191e7f5b53ad05edb204e07b2f0a246938

6 months agoModify WebM Crypt to copy CodecDelay and SeekPreRoll 07/69607/2
Vignesh Venkatasubramanian [Fri, 11 Apr 2014 21:56:44 +0000 (14:56 -0700)]
Modify WebM Crypt to copy CodecDelay and SeekPreRoll

Modify WebM Crypt so that it copies CodecDelay and SeekPreRoll on opus streams.

Change-Id: Iaeff195f26facca22d349cc02f4879dcd03fb1c5

7 months agoMerge "webm_info: Add cues support."
Tom Finegan [Wed, 5 Mar 2014 22:31:41 +0000 (14:31 -0800)]
Merge "webm_info: Add cues support."

7 months agowebm_info: Link to libwebm.lib in the vs2013 projects. 14/69114/3
Tom Finegan [Wed, 5 Mar 2014 01:39:55 +0000 (17:39 -0800)]
webm_info: Link to libwebm.lib in the vs2013 projects.

Instead of including source files directly.

Change-Id: I67a7de043874be9b59445715619d6b35ea894aa5

7 months agowebm_info: Add cues support. 60/68960/3
Tom Finegan [Wed, 5 Mar 2014 01:08:31 +0000 (17:08 -0800)]
webm_info: Add cues support.

Change-Id: Ia438acef01c8ae576a1ad0aadd09be455907a2d7

7 months agowebm_info: Add VS2013 project 53/68953/3
Tom Finegan [Tue, 25 Feb 2014 17:40:05 +0000 (09:40 -0800)]
webm_info: Add VS2013 project

- Includes libwebm sources required for parsing directly in the project.
- Uses prop sheet to locate libwebm via LIBWEBM_PATH user macro.

Change-Id: I5e18fae25db700e4b581238603264aba7cf0c0ed

7 months agoAdd support for setting VP9 codec ID. 51/68951/1
Frank Galligan [Tue, 25 Feb 2014 17:22:38 +0000 (09:22 -0800)]
Add support for setting VP9 codec ID.

Change-Id: I81b86ff21880964d0f31488635f566b164dadb60

8 months agowebm_live_muxer: Support control of track codec ID. 81/68681/3
Tom Finegan [Thu, 6 Feb 2014 20:38:41 +0000 (12:38 -0800)]
webm_live_muxer: Support control of track codec ID.

Overloads Add{Audio,Video}Track() with a codec_id argument.

Change-Id: I839f7e46788cc781cbe60b09ee2866b02b8dcbdb

8 months agoAdd configuration file for YouCompleteMe. 78/68678/2
Tom Finegan [Thu, 6 Feb 2014 20:39:56 +0000 (12:39 -0800)]
Add configuration file for YouCompleteMe.

Change-Id: Iacffa77ff72eb4a1be1f12cf050d421294ea6a5c

9 months agoChange help text to comma instead of semicolon. 70/68370/1
Frank Galligan [Fri, 10 Jan 2014 22:45:46 +0000 (14:45 -0800)]
Change help text to comma instead of semicolon.

Change-Id: I73d0a3a472acff5380f65377f055f3f205bde3f9

13 months agofix regular file permissions 64/67164/1
James Zern [Thu, 12 Sep 2013 23:22:17 +0000 (16:22 -0700)]
fix regular file permissions

0755 -> 0644

Change-Id: I2cedfada1ff9906efe38c4611e7932429e9aec6f

13 months agoLoadCueDescList: fix end_offset in single cue case 50/67150/2
James Zern [Wed, 11 Sep 2013 21:44:06 +0000 (14:44 -0700)]
LoadCueDescList: fix end_offset in single cue case

the CueDesc offsets are segment relative. with a single cue at the end
of the file the end_offset was using the absolute cue position.

Change-Id: I50205223a5db582e9bdcc799325822c53f93553e

13 months agoLoadCueDescList: fix offsets with cues at the front 49/67149/1
James Zern [Wed, 11 Sep 2013 21:41:32 +0000 (14:41 -0700)]
LoadCueDescList: fix offsets with cues at the front

Change-Id: I89101493fd83403ea05605f738a24600be706943

15 months agoMerge "update vp9 codec info"
James Zern [Tue, 9 Jul 2013 19:20:10 +0000 (12:20 -0700)]
Merge "update vp9 codec info"

15 months agoMerge "webm_crypt: Change scoped_array to scoped_ptr."
Frank Galligan [Tue, 9 Jul 2013 15:00:38 +0000 (08:00 -0700)]
Merge "webm_crypt: Change scoped_array to scoped_ptr."

15 months agoupdate vp9 codec info 32/61132/3
James Zern [Mon, 8 Jul 2013 20:50:54 +0000 (13:50 -0700)]
update vp9 codec info

split from vp8 as they've diverged sufficiently
+ rename -vp8_info to -codec_info and drop -vpnext

Change-Id: I8e83fb28218128d06b9a2d419cddf059b6147ec4

15 months agoconvert boolean options to -option/-nooption style 31/61131/2
James Zern [Sat, 6 Jul 2013 19:26:00 +0000 (12:26 -0700)]
convert boolean options to -option/-nooption style

Change-Id: I055579bc6af62204460a32efef67e21890cd6fe8

15 months agowebm_crypt: Change scoped_array to scoped_ptr. 10/61210/1
Frank Galligan [Mon, 8 Jul 2013 22:11:40 +0000 (15:11 -0700)]
webm_crypt: Change scoped_array to scoped_ptr.

- Tested on Linux.

Change-Id: Iad50b409a9f7f6bcc836be6d4c4424bdd0a464ab

17 months agoAdding VP8 Alpha Encoder 06/49006/9
Vignesh Venkatasubramanian [Mon, 1 Apr 2013 23:01:28 +0000 (16:01 -0700)]
Adding VP8 Alpha Encoder

Adding new directory alpha_encoder which has the source file for the
VP8 alpha encoder. More on how alpha encoding works can be found
here: http://goo.gl/wCP1y

Change-Id: I5ac6d5c0a44c3c2e1deb25b3f531e0c91b911a3b

22 months agowebm_file: Add support to pass in a reader object. 04/39204/1
Frank Galligan [Tue, 4 Dec 2012 20:22:52 +0000 (12:22 -0800)]
webm_file: Add support to pass in a reader object.

Change-Id: Idbf5d631061681d4ed5f4fe5938eaab9e4e90fea

23 months agoAdding support for vpnext bitstream 84/37084/5
Vignesh Venkatasubramanian [Wed, 31 Oct 2012 23:51:00 +0000 (16:51 -0700)]
Adding support for vpnext bitstream

webm_info enhancement with support for vpnext bitstream through
a command line switch to say if the input file should be
parsed as a vpnext encoded file.

Change-Id: I395e66f376eec4171ae7630702b616571cbda5bb

23 months agowebm_crypt: Add support for matching source clusters. 58/36558/2
Frank Galligan [Thu, 25 Oct 2012 16:49:59 +0000 (09:49 -0700)]
webm_crypt: Add support for matching source clusters.

http://code.google.com/p/webm/issues/detail?id=425

Change-Id: I80fd855dd60441384516e9e1a5ba3dd63887247b

2 years agowebm_crypt: Treat IV as raw stream. 50/35450/2
Frank Galligan [Fri, 12 Oct 2012 21:25:17 +0000 (14:25 -0700)]
webm_crypt: Treat IV as raw stream.

- The IV is now stored as raw data. Do not switch the bytes from
  host to network byte order before writing the IV to the file.
  Also do switch the bytes from network to host byte order before
  reading the IV from the file.

Change-Id: Ie236090bed459ef92032e324aa12e9637f02d614

2 years agowebm_tools/shared: Removed NOLINT comment. 00/35200/1
Frank Galligan [Wed, 10 Oct 2012 22:34:09 +0000 (15:34 -0700)]
webm_tools/shared: Removed NOLINT comment.

Change-Id: I20b498ac16f251c1629823125d204da4372d0bc3

2 years agowebm_tools/live_muxer: Update forward declarations 73/35173/1
Frank Galligan [Wed, 10 Oct 2012 21:23:03 +0000 (14:23 -0700)]
webm_tools/live_muxer: Update forward declarations

Change-Id: Ic2000f141af404b8995bec8ac291deaa67f165b3

2 years agowebm_tools: Add encryption support to live muxer. 41/34841/4
Frank Galligan [Sat, 6 Oct 2012 00:34:00 +0000 (17:34 -0700)]
webm_tools: Add encryption support to live muxer.

Change-Id: I8c144efb02948d1b90ec777bd870cf226854b9c0

2 years agoMerge "Add WebMLiveMuxer"
Frank Galligan [Sat, 6 Oct 2012 00:23:09 +0000 (17:23 -0700)]
Merge "Add WebMLiveMuxer"

2 years agoAdd WebMLiveMuxer 81/34481/4
Frank Galligan [Tue, 2 Oct 2012 22:56:49 +0000 (15:56 -0700)]
Add WebMLiveMuxer

- The code was modified from the webm_live project.
- Added webm_chunk_writer.

Change-Id: I28da0c34098f87ca4d9fdb65238218052c4d27c1

2 years agoMerge "webm_crypt: Remove the HMAC"
Frank Galligan [Fri, 5 Oct 2012 21:42:39 +0000 (14:42 -0700)]
Merge "webm_crypt: Remove the HMAC"

2 years agoAccessor function to return the reader object. 69/34469/2
Frank Galligan [Tue, 2 Oct 2012 22:32:36 +0000 (15:32 -0700)]
Accessor function to return the reader object.

Change-Id: I982929385faf3eb0cef57147f714d309143a04e4

2 years agowebm_crypt: Remove the HMAC 34/33434/4
Frank Galligan [Mon, 17 Sep 2012 15:31:11 +0000 (08:31 -0700)]
webm_crypt: Remove the HMAC

- Removed the code to check the integrity on decryption.
- webm_info: Remove the HMAC.

Change-Id: Id966e0cad03d4cfbae7a8875f8e52b91bb2257a7

2 years agowebm_file: Add function to return Segment element. 14/33814/1
Frank Galligan [Fri, 21 Sep 2012 22:16:06 +0000 (15:16 -0700)]
webm_file: Add function to return Segment element.

Change-Id: I18ca660906907ea177d855f6c0dae22f27779966

2 years agowebm_file: Fix ParseNextChunk to return -1 87/33787/1
Frank Galligan [Fri, 21 Sep 2012 19:01:33 +0000 (12:01 -0700)]
webm_file: Fix ParseNextChunk to return -1

- If size passed in was 0, bytes_read could return what ever
  value was passed in.

Change-Id: I85eee22b64772927aaf6f8075ac6485b898be1b4

2 years agowebm_crypt: Add webm_constants 32/33432/1
Frank Galligan [Mon, 17 Sep 2012 15:35:42 +0000 (08:35 -0700)]
webm_crypt: Add webm_constants

Change-Id: Iedc051a689bffa41de3f69dc45f9392751e7465b

2 years agowebm_dash_manifest: Fix application with recent webm_file changes. 59/33359/3
Frank Galligan [Fri, 14 Sep 2012 21:42:36 +0000 (14:42 -0700)]
webm_dash_manifest: Fix application with recent webm_file changes.

- webm_file added support for incremental parsing, but changed
  how the file parser was initialized.

Change-Id: Ib06a02f6d10433c9d0f9c676431645d0653319ca

2 years agoFix SetEndOfFilePosition. 28/33328/1
Frank Galligan [Fri, 14 Sep 2012 18:18:54 +0000 (11:18 -0700)]
Fix SetEndOfFilePosition.

- An app could not set the end file position for the incremental
  parser before the first call to ParseNextChunk created the
  incremental parser.

Change-Id: I31066123c358a486a8165372211ca02e0965bb70

2 years agowebm_tools: Add incremental parsing to webm_file. 65/32965/10
Frank Galligan [Tue, 11 Sep 2012 18:14:55 +0000 (11:14 -0700)]
webm_tools: Add incremental parsing to webm_file.

- Removed Init function.
- Added ParseFile, GetState, ParseNextChunk, SetEndOfFilePosition,
  ParseCluster, and ParseSegmentHeaders.
- Added checking state to functions.

Change-Id: I952f8889e654295c780946eb7afba4cd70411493

2 years agowebm_file: Add support to parse WebM files without Cues. 50/33150/1
Frank Galligan [Thu, 13 Sep 2012 00:34:49 +0000 (17:34 -0700)]
webm_file: Add support to parse WebM files without Cues.

Change-Id: Ib457b11d9afef1fe0db9abefd396cbb12f8ab9d5

2 years agowebm_info: fix build 55/33055/1
James Zern [Wed, 12 Sep 2012 04:52:47 +0000 (21:52 -0700)]
webm_info: fix build

webm_tools::kNanosecondsPerSecond lives in webm_constants.h

2 years agowebm-tools: Comments on incremental reader. 04/33004/2
Frank Galligan [Tue, 11 Sep 2012 23:08:35 +0000 (16:08 -0700)]
webm-tools: Comments on incremental reader.

- Addressing comments on PS3 from
  https://gerrit.chromium.org/gerrit/#/c/32826/3

Change-Id: Ie0eeda12887a2e817c3c5767382836a5316df39e

2 years agowebm_tools: Add incremental reader. 26/32826/3
Frank Galligan [Mon, 10 Sep 2012 23:25:40 +0000 (16:25 -0700)]
webm_tools: Add incremental reader.

This is the reader class of an incremental parser.

Change-Id: Ia81ccb4ceaa4262addfb9524707636e14083b790

2 years agoAdd webm_constants file to shared. 68/31968/4
Frank Galligan [Thu, 30 Aug 2012 22:53:21 +0000 (15:53 -0700)]
Add webm_constants file to shared.

- Updated scope for using statements in webm_file.

Change-Id: I8212f7092bcd5fd5e762ae99e45f6127af92f7f8

2 years agowebm_file: Add includes in the source file. 95/31495/2
Frank Galligan [Mon, 27 Aug 2012 19:04:08 +0000 (12:04 -0700)]
webm_file: Add includes in the source file.

- See note here:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Header_File_Dependencies#Header_File_Dependencies

Change-Id: I6eea3f2793e0724d56535e95ed326f7fadb61d5a

2 years agoMerge "webm_file: Fix comment format."
Frank Galligan [Mon, 27 Aug 2012 18:59:01 +0000 (11:59 -0700)]
Merge "webm_file: Fix comment format."

2 years agowebm_file: Fix comment format. 83/31483/3
Frank Galligan [Mon, 27 Aug 2012 17:16:26 +0000 (10:16 -0700)]
webm_file: Fix comment format.

Change-Id: I00b51c415f579a0f7e4b0e33c42d999484a3ee58

2 years agowebm_info: Output IV as uint64. 82/31482/1
Frank Galligan [Mon, 27 Aug 2012 17:00:45 +0000 (10:00 -0700)]
webm_info: Output IV as uint64.

Change-Id: I2e9894ff6e4d55b98d2885474fe805311df528f4

2 years agoChange webm_file to only parse the file once to generate stats. 66/30566/6
Frank Galligan [Thu, 16 Aug 2012 16:00:36 +0000 (09:00 -0700)]
Change webm_file to only parse the file once to generate stats.

- webm_file will parse through the Blocks of the file in Init()
  and keep data around for the Tracks which can be queried later
  for information on the file.
- Dropped "Get" from functions GetAudio, GetAudioChannels,
  GetAudioSampleRate, GetAudioSampleSize, GetVideoFramerate,
  GetVideoHeight, and GetVideoWidth.
- Marked file wide functions with "File".
- Added public FileLength, TrackAverageBitsPerSecond, TrackCount,
  TrackFrameCount, TrackSize, and TrackStartNanoseconds.
- Changed all function names with Bitrate or Bandwidth to
  BitsPerSecond.
- Functions that returned kilobits per second now return bits per
  second.
- Using Track type enums from mkvparser.
- Changed representation.cc to use renamed functions.

Change-Id: I03648111592b30f39dd857aefe4b86e6d1d6bf18

2 years agowebm_info: Better output format for ContentEncKeyID. 61/30561/1
Frank Galligan [Thu, 16 Aug 2012 15:16:25 +0000 (08:16 -0700)]
webm_info: Better output format for ContentEncKeyID.

Change-Id: Idc9825194c2fd3cf9ac54982d227868aea401540

2 years agoAdd CTR encryption to webm_crypt. 62/21062/20
Frank Galligan [Wed, 18 Apr 2012 15:11:22 +0000 (11:11 -0400)]
Add CTR encryption to webm_crypt.

- Add support for CTR encryption based on WebM encryption RFC v0.3.
- Add version information.
- Add support to encrypt audio and video stream with independent settings.
- Add EncryptModule and DecryptModule classes.
- Added shared/webm_endian files.
- Added support for creating the HMAC data.
- Added support for checking the integrity of the data during decryption.
- Added support to not perform encrypt or decrypt for testing.
- Removed asserts.
- Added comments to classes and functions.
- Added ContentEncodings output to webm_info.
- Added IV output to webm_info.
- Fixed audio or video only encryption.
- Prepend a signal byte to all frames to signify if the frame data
  is compressed or not.
- Add a command line parameter to not encrypt frames on a stream
  from [0, <value>) milliseconds.
- Update webm_info to output encrypted info.
- Added "Release DLL" and "Debug DLL" configurations to Windows solution.
- PS15 Addressed comments.
- PS16 Addressed comments. Created swap64_check_little_endian to handle
  swapping bytes.
- PS17 Addressed comments. Fix copy/paste bug in swap64_check_little_endian.
- PS18 Addressed comments.
- PS20 Changed errors to log to stderr. Addressing comments.

Change-Id: I10a94c372cda9722900de9a09a5bd1b198e70e94

2 years agoCreate VS2010 project and solution files for webm_crypt. 40/27240/2
Frank Galligan [Tue, 10 Jul 2012 19:10:56 +0000 (12:10 -0700)]
Create VS2010 project and solution files for webm_crypt.

- Update crypto support in chromium to v22.
- Update pulling libwebm from new directory.
- Removed VS2008 files.

Change-Id: I2adcd3a989d2af9b939550b6be4e5ce7001e8c82

2 years agowebm_dash_manifest change Initialisation name. 07/21207/1
Frank Galligan [Thu, 26 Apr 2012 16:07:31 +0000 (12:07 -0400)]
webm_dash_manifest change Initialisation name.

- Change element name from Initialisation to Initialization per
  DASH spec change.

Change-Id: I10760830b32f4bb5a20f8f277cf8b2c978b25e51

2 years agoFix two issues reported with the mpd. 85/19385/2
Frank Galligan [Fri, 30 Mar 2012 21:55:33 +0000 (17:55 -0400)]
Fix two issues reported with the mpd.

- Changed the default name of the manifest file from
  'manifest.xml' to 'mainfest.mpd'.
- Changed output of 'mimetype' to 'mimeType' to match the DASH
  spec.

Change-Id: I07dd1246ff67082880fdbe74b1430e031c2003d4

2 years agoMove webm_file to shared. Add some functions to WebMFile. 87/18987/7
Frank Galligan [Fri, 23 Mar 2012 19:55:03 +0000 (15:55 -0400)]
Move webm_file to shared. Add some functions to WebMFile.

- Moved webm_file.h/.cc from webm_dash_manifest to shared.
- Added functions CheckCuesAlignementList, GetSegmentInfo,
  GetFirstBlockTime, GetIndexedBlock, IsFrameAltref, and
  StartsWithKey to WebMFile.
- Added Track type parameter to WebMFile::CuesFirstInCluster.
- Updated code because of libwebm's Track->GetNumber() change to
  return long.

Change-Id: I26e2986aa546f8dcbff1adfe8b3414e968b8884d

2 years agoInitial commit of webm_info application. 57/18657/4
Frank Galligan [Wed, 21 Mar 2012 15:54:55 +0000 (11:54 -0400)]
Initial commit of webm_info application.

- webm_info will output information on a WebM file to stdout.

Change-Id: I5b080d80664370cc8769a98e66ea538ec4f02353

2 years agoMoved .gitignore and .gitattributes to the root of webm-tools. 68/18668/1
Frank Galligan [Wed, 21 Mar 2012 17:14:51 +0000 (13:14 -0400)]
Moved .gitignore and .gitattributes to the root of webm-tools.

- Moved webm_crypt/.gitattributes -> .gitattributes
- Added .gitignore
- Deleted webm_crypt/.gitignore
- Deleted webm_das_manifest/.gitignore

Change-Id: I0c8f575d454d728931478c71032c7fbb40b5514e

2 years agoMoved indent files to shared directory. Add snprintf define. 66/18566/3
Frank Galligan [Tue, 20 Mar 2012 21:02:48 +0000 (17:02 -0400)]
Moved indent files to shared directory. Add snprintf define.

- Moved indent.cc and indent.h to shared directory.
- Changed webm_indent namespace to webm_tools namespace.
- Removed Indent references from webm_file.
- Added define for snprintf to sprintf_s in MSVC.

Change-Id: Ib6b45b5529ed2713de876f7e623b9b258e2e8c78

2 years agoSet default profile to WebM On-Demand. 32/18132/1
Frank Galligan [Wed, 14 Mar 2012 16:40:55 +0000 (12:40 -0400)]
Set default profile to WebM On-Demand.

Change-Id: I915393e7e62c012cad7dfc109f3a557a0a131699