webm/webm-tools.git
2 days agowebm_info: add SeekHead support 14/73314/1 master
James Zern [Thu, 18 Dec 2014 04:58:24 +0000 (20:58 -0800)]
webm_info: add SeekHead support

disabled by default, prints the raw non-EBML id from mkvparser currently.

Change-Id: Iff950828c869b2fcb7717c4c04a8153b0a0a1d9a

4 days agovpx_ios: Fix playback on the iphone 6 plus. 68/73268/1
Tom Finegan [Mon, 15 Dec 2014 21:34:59 +0000 (13:34 -0800)]
vpx_ios: Fix playback on the iphone 6 plus.

The iphone 6 plus reports dimensions of 2208x1242 while openGL
rendering actually uses a 1920x1080 surface. The discrepancy
results in a cropped video image. Override the reported
dimensions when 2208x1242 is observed and use 1920x1080 instead.

Note: override of dimensions is disabled in the simulator; the sim
reports 2208x1242 and really is using a 2208x1242 surface.

Change-Id: I183de22ee7aeb377597be8d114ddae6398ec4458

7 weeks agovpx_ios/README.VPXExample: Correct 2 more mistakes. 26/72026/2
Tom Finegan [Mon, 27 Oct 2014 23:52:52 +0000 (16:52 -0700)]
vpx_ios/README.VPXExample: Correct 2 more mistakes.

- The perils of TBR: Missed part of a problem. Removed the last remaining
  reference to VPXExample lacking playback timing.
- Updated number of targets we build for the framework (6 to 5; removed armv6).

Change-Id: I8adf3416ee87105cdd1359732bf86454d89efe5d

7 weeks agovpx_ios/README.VPXExample: Correct behavior info. 25/72025/1
Tom Finegan [Mon, 27 Oct 2014 23:47:51 +0000 (16:47 -0700)]
vpx_ios/README.VPXExample: Correct behavior info.

The README file was written before video timing was added. Since video now
plays at input framerate, remove the incorrect information.

Change-Id: I5de99fbf0f6d43671825aefd3ece59d553eed79a

8 weeks agoMerge "Add DefaultDuration reporting."
Frank Galligan [Fri, 24 Oct 2014 16:40:35 +0000 (09:40 -0700)]
Merge "Add DefaultDuration reporting."

8 weeks agoAdd DefaultDuration reporting. 07/72007/2
Frank Galligan [Fri, 24 Oct 2014 14:29:59 +0000 (07:29 -0700)]
Add DefaultDuration reporting.

Change-Id: I0acc7af98d20e86dc97dd0f24b02fbe3d1a9186c

8 weeks agovpx_ios/VPXExample: Silence LD PIE warning. 78/71978/1
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 weeks 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 weeks 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

2 months 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

2 months 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

2 months 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."

2 months 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

2 months 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

2 months 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."

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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 months 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 months 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 months 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 months 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 months 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

2 months 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

3 months 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

3 months 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

3 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."

4 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

4 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

4 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

4 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

4 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

4 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

4 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

5 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

5 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

6 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

6 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

6 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"

6 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"

6 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

6 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

6 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

6 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

6 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

7 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

7 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

8 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

9 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."

9 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

9 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

9 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

9 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

10 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

10 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

11 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

15 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

15 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

15 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

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

17 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."

17 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

17 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

17 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

19 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

2 years 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

2 years 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

2 years 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