webm/webm-tools.git
11 days agoAdding VP8 Alpha Encoder 06/49006/9 master
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

5 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

6 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

6 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

14 months agowebm_dash_manifest: Fix bug with code using substr. 78/17878/1
Frank Galligan [Mon, 12 Mar 2012 21:40:13 +0000 (17:40 -0400)]
webm_dash_manifest: Fix bug with code using substr.

- Code was using absolute values instead of length for second
  parameter.

Change-Id: I77ae0e08b8a1d63ffb1d5d7a9f2b144b6830ebb1

14 months agoUp version number to 1.0.1.0. 63/17863/1
Frank Galligan [Mon, 12 Mar 2012 20:56:49 +0000 (16:56 -0400)]
Up version number to 1.0.1.0.

- Did not up the version number on the last CL.

Change-Id: Iece8d3c19cc98299ff8d663fe1fb7125cce60e47

14 months agoAdd profile support to webm_dash_manifest. 59/17859/2
Frank Galligan [Mon, 12 Mar 2012 20:04:00 +0000 (16:04 -0400)]
Add profile support to webm_dash_manifest.

- Added WebM On-Demand profile.
- Added check for one stream per file if profile is WebM
  On-Demand.
- Added warnings if profile is WebM On-Demand and
  AdaptationSet's subsegmentAlignment or subsegmentStartsWithSAP
  is false.

Change-Id: I3549bdfb5ae786f98c35f04169656e2cf8a26e13

14 months agowebm_crypt: (linux) match chromium build flags 77/17777/1
James Zern [Sat, 10 Mar 2012 02:06:59 +0000 (18:06 -0800)]
webm_crypt: (linux) match chromium build flags

Define USE_NSS otherwise the Encryptor class object will be incorrectly
size causing corruption and the potential for a crash.

14 months agowebm_crypt: use scoped_array where appropriate 21/17621/1
James Zern [Thu, 8 Mar 2012 21:58:24 +0000 (13:58 -0800)]
webm_crypt: use scoped_array where appropriate

replaces use of scoped_ptr, avoiding mixed use of new[] / delete

14 months agoUpdated webm_crypt code because of libwebm changes. 47/17547/1
Frank Galligan [Wed, 7 Mar 2012 23:59:22 +0000 (18:59 -0500)]
Updated webm_crypt code because of libwebm changes.

- The API of Cluster.GetFirst() and Cluster.GetNext() changed.

Change-Id: I88bc1109bfd125a8bd96cbcec491d12d949593ec

14 months agoRemove prototype command line application. 38/17338/1
Frank Galligan [Mon, 5 Mar 2012 19:33:43 +0000 (14:33 -0500)]
Remove prototype command line application.

Change-Id: If0e26b2bf3a9fef3e545eadb62d83b821b161f57

14 months agoA command line tool to create WebM Dash manifest files. 32/16032/10
Frank Galligan [Fri, 20 Jan 2012 21:19:59 +0000 (16:19 -0500)]
A command line tool to create WebM Dash manifest files.

Squashed commit of the following:

c0efd3d Fixed setting Period options.
7f39e9a Style guide changes.
57f03f9 Changed DashModel const pointer to const ref.
52dd7ef Added const to some class member functions.
1f74ba1 Removed some commented out code.
631e48e Fix for PeakBandwidth bug.
602c60e Fix bug with dash output.
ea3ee1a Remove debug bandwidth output.
a29a4f0 Added many features to webm_dash_manifest.
e5f702e A command line tool to create WebM Dash manifest files.

Change-Id: I343fd5fc4686e8a0784c0a1f74d98a99eed3328e

15 months agoUpdate code to libwebm API change. 14/14614/1
Frank Galligan [Mon, 23 Jan 2012 15:52:05 +0000 (10:52 -0500)]
Update code to libwebm API change.

- libwebm changed the initialization sequence for the muxer.

18 months agoAdd experimental tool to encrypt and decrypt WebM files. 10/10410/8
Frank Galligan [Thu, 20 Oct 2011 14:53:45 +0000 (10:53 -0400)]
Add experimental tool to encrypt and decrypt WebM files.

See Readme.txt for building instructions.

Change-Id: I1fec7e82897e65295adf2f80f5e4ef31e5427b0a

19 months agoUpdate project file to new directories and libwebm name change. 09/10409/1
Frank Galligan [Thu, 20 Oct 2011 14:45:29 +0000 (10:45 -0400)]
Update project file to new directories and libwebm name change.

19 months agoMoved adpative-prototpe-manifest files to start webmtools repo.
Frank Galligan [Thu, 20 Oct 2011 14:22:46 +0000 (10:22 -0400)]
Moved adpative-prototpe-manifest files to start webmtools repo.

I am creating a webmtools repo where developers can put different
tools that they and other developers might find useful. I am
starting from the adpative-prototpe-manifest to keep it's history.

Change-Id: Iee94f980184ee58ad62d81fe108803040af99c66

20 months agoChange alignment to true if there is only one media.
Frank Galligan [Tue, 30 Aug 2011 17:49:59 +0000 (13:49 -0400)]
Change alignment to true if there is only one media.

Change-Id: I2100b690b1d7de889001661b502381c4f848afee

20 months agoChanged manifest header to include all of the header data.
Frank Galligan [Tue, 30 Aug 2011 15:45:39 +0000 (11:45 -0400)]
Changed manifest header to include all of the header data.

The MediaHeader range will be from 0 until the first cluster. The
player will download a little extra data but the manifest will
have more in common with live adaptive. Added a version number
to the manifest.

Change-Id: I4a4fb3c3d0cbc3c364245eb2db9facb7a7148ada

20 months agoAdd more error checking.
Frank Galligan [Wed, 24 Aug 2011 17:37:25 +0000 (13:37 -0400)]
Add more error checking.

Added code to check that the media id's are different within a
MedaiGroup. Added output if some of the checks failed.

Change-Id: I23724195db6703e27273b05c2ae4a088d0bdeb36

21 months agoChanged media index output to set the range to full Cues element.
Frank Galligan [Fri, 5 Aug 2011 14:39:23 +0000 (10:39 -0400)]
Changed media index output to set the range to full Cues element.

Change-Id: If72ce09eecdaaea75583cdd00afd6a5c53aad4f2

23 months agoAdd support to check if the MediaGroup's alignment is true.
Frank Galligan [Thu, 9 Jun 2011 21:21:26 +0000 (17:21 -0400)]
Add support to check if the MediaGroup's alignment is true.

Change-Id: Iada55a0861bd8211d67b8578f52afe28e24de7ad

23 months agoAdd media_interval to Linux. MkvReader is now part of mkvparser
Frank Galligan [Mon, 6 Jun 2011 20:17:44 +0000 (16:17 -0400)]
Add media_interval to Linux. MkvReader is now part of mkvparser
namespace.

Dependent on https://review.webmproject.org/#change,2287

Change-Id: I448e74c9b06782816c2ceaefd812c4ecad0fb799

23 months agoUpdated to newest manifest format.
Frank Galligan [Fri, 3 Jun 2011 21:39:57 +0000 (17:39 -0400)]
Updated to newest manifest format.

Change-Id: Ie6d418b578f9b30b6becd2237e28ed6a04c8056d

2 years agoRemoved MediaGroup's codec attribute and appended it to mimetype like
Frank Galligan [Thu, 19 May 2011 21:39:41 +0000 (17:39 -0400)]
Removed MediaGroup's codec attribute and appended it to mimetype like
the html5 video tag.

Change-Id: I5d65429547b2a08fff60a9361b0ef892901cacdb

2 years agoChanged media group type to mimetype.
Frank Galligan [Thu, 12 May 2011 13:37:26 +0000 (09:37 -0400)]
Changed media group type to mimetype.

Change-Id: I9f2c94567db85c797bc065f475c3932b7c626a44

2 years agoInitial commit of adaptive prototype manifest.
Frank Galligan [Fri, 6 May 2011 18:58:44 +0000 (14:58 -0400)]
Initial commit of adaptive prototype manifest.

Change-Id: If56f65a5dbd1ec48ca85d981067a0b2b0814cf4a