Commit Graph

34 Commits

Author SHA1 Message Date
James Zern
6044fcec3e nestegg: ne_buffer_read: quiet uint64->size_t warning
the buffer length is already a size_t making the offset into it limited

Change-Id: Ibc5352e69049186cc07f7d86117696b11a98a600
2014-03-03 18:40:15 -08:00
James Zern
5ba01a5a45 nestegg: quiet read related uint64->size_t warnings
ne_read_ebml_lacing / ne_read_discard_padding
+ add some asserts

Change-Id: I28d0ec5c8f901ae0a35928a8f512c51b3ecf177d
2014-03-03 18:40:06 -08:00
James Zern
9251ff3ad7 nestegg: ne_parse: normalize size_t usage
in calls to ne_read_simple / ne_io_read_skip

Change-Id: I5c4fc3bb41832973830ad54248839d6a4944aae6
2014-03-03 18:40:00 -08:00
James Zern
483ebc30bc nestegg: ne_read_(string|binary|block): normalize size_t usage
+ nestegg_track_codec_data
quiets uint64_t -> size_t warnings
the sizes used are previously validated against their associated LIMIT_*
values

Change-Id: Ie574a3a7496d0143bd58b778145c27f38dd6a4da
2014-03-03 18:39:43 -08:00
James Zern
086dc8097d nestegg: packet_track: fix uint64->uint32 warning
Change-Id: I67b2b0d722424df9938d7c26f9d3478592bc813a
2014-02-28 19:58:44 -08:00
James Zern
eb27992d15 nestegg: fix track_scale double->uint64 warning
Change-Id: I24c024d1b328b9c34289c125c501d2fdc246e92e
2014-02-28 19:58:33 -08:00
James Zern
ba159a3b0a nestegg: fix track_number uint64->uint32 warnings
ne_read_block/ne_find_cue_position_for_track/nestegg_get_cue_point
in the use of ne_map_track_number_to_index
+ add a check to ensure it doesn't exceed the type bounds

fixes:
./third_party/nestegg/src/nestegg.c|1322| warning C4244: 'function' :
conversion from 'uint64_t' to 'unsigned int', possible loss of data

Change-Id: I3703d739dcf9a2d4d8e2b704e957e5e3fd80dca0
2014-02-28 19:58:19 -08:00
James Zern
d743bd04d5 nestegg: add ne_get_uint32 convenience function
- avoids downcasting from uint64_t in multiple locations

Change-Id: Ia6f669a9ee81336ed1ef29a6a79240d5905acab5
2014-02-28 19:58:00 -08:00
James Zern
bb3b9aa93f move nestegg to third_party
Change-Id: Idf58109195a88dec66c5e1ea6a51c61e6c659ff1
2014-02-21 17:16:04 -08:00
Ralph Giles
0901458015 libmkv: fix Makefile.
Update the local makefile to build all the files and the test
application by default to simplify build verification.

Change-Id: Ic10141ea14c85110ff7507447d16297b77d296e9
2014-02-05 23:00:22 -08:00
Ralph Giles
e5643437c5 libmkv: Use uint64_t instead of UInt64.
The rest of the code uses stdint types and this makes porting
easier.

Change-Id: Ie2f565f6a919199f0145b6aea97bb7588548e97d
2014-02-04 16:39:27 -08:00
Ralph Giles
f3bd5d82e5 libmkv: constify codec_id.
This lets the caller pass a string literal for the codec id.

From https://bugzilla.mozilla.org/show_bug.cgi?id=966044

Change-Id: I345bd7a5943f0c33b3fb368d4280100ac5038a3d
2014-02-04 16:39:27 -08:00
James Zern
b1c23f7b4b Merge "libmkv: remove unused variable." 2014-01-31 19:29:06 -08:00
Ralph Giles
7a8a63a21c libmkv: remove unused variable.
Fixes a warning.

Change-Id: I7f98ea7847cf8e776a4bbd65d273036280bfb5dd
2014-01-31 16:01:14 -08:00
Ralph Giles
a0c6c23eca libmkv: Remove spurious declaration.
Change-Id: I5a83f6651a42df8387aa8996f9353a20e60483df
2014-01-31 15:50:42 -08:00
Dmitry Kovalev
9f528ce057 Updating gtest from 1.6.0 to 1.7.0.
This is required in order to build libvpx on OS X Mavericks where gcc
compiler is deleted, clang (3.3) is the default now.

Using unmodified source files from gtest-1.7.0/fused-src folder.

Change-Id: I3d5f7278149c904e48737327daf7097a8bb0b390
2013-10-25 10:58:09 -07:00
Dmitry Kovalev
86f4681450 Moving libmkv library to third_party folder.
Change-Id: Id0bfaedf54ff3f59d4cf361c170a0b5a5711e5f2
2013-10-07 13:06:53 -07:00
Yunqing Wang
071395de6a Hide global symbols for macho32/64
Added hiding global symbols for macho32 and macho64 in x86inc.asm.
This was done to fix exported symbol issue in Chrome build.

Change-Id: I08d5c559b985b82f655b537469fee125615e78c0
2013-09-23 15:17:54 -07:00
Yunqing Wang
9d901217c6 Fix x86inc.asm to build PIC code correctly
Current x86inc.asm didn't handle 32bit PIC build properly.
TEXTRELs were seen in the library built. The PIC macros from
libvpx's x86_abi_support.asm was used to fix this problem.
The assembly code was modified to use the macros.

Notes: We need this fix in for decoder building. Functions in
encoder will be fixed later.

Change-Id: Ifa548d37b1d0bc7d0528db75009cc18cd5eb1838
2013-09-18 13:45:46 -07:00
Yunqing Wang
f9e8167ba9 libyuv: fix SSSE3 code in scale.c
This patch was provided by Frank.

Change-Id: Icebcbd96016a51a85dbe5e8a351ab7624ace962b
2013-07-22 15:42:23 -07:00
John Koleszar
98ca829f57 Fix mingw build error
Fixes an issue where newer versions of GCC would try to compile the
visual studio inline assembly.

Fixes issue #571

Change-Id: I8e4500a9277447fdab0b55e5efa1f24ca97bdc03
2013-06-04 13:08:54 -07:00
KO Myung-Hun
7f5e4fd7bd Use smartalign for long nops with NASM
'CPU amdnop' is supported by YASM only.

Change-Id: Ia3f7c2ba6d3bdf2889b62f5c6127fd515d7c7394
2013-02-03 21:51:05 +09:00
Frank Galligan
f67d740b34 Add support for x64 and win64 yasm flags.
Some projects must define only win64 for Windows 64bit builds using
yasm.

Change-Id: I1d09590d66a7bfc8b4412e1cc8685978ac60b748
2013-01-31 16:25:37 -08:00
John Koleszar
7b8dfcb5a2 Rough merge of master into experimental
Creates a merge between the master and experimental branches. Fixes a
number of conflicts in the build system to allow *either* VP8 or VP9
to be built. Specifically either:

  $ configure --disable-vp9 $ configure --disable-vp8
  --disable-unit-tests

VP9 still exports its symbols and files as VP8, so that will be
resolved in the next commit.

Unit tests are broken in VP9, but this isn't a new issue. They are
fixed upstream on origin/experimental as of this writing, but rebasing
this merge proved difficult, so will tackle that in a second merge
commit.

Change-Id: I2b7d852c18efd58d1ebc621b8041fe0260442c21
2012-11-07 11:30:16 -08:00
Ronald S. Bultje
0d53fc262c Change decoder vp8_ and vp8dx_ public symbol prefixes to vp9_.
Change-Id: Iedb4c3b4171d8640cc525727b4c3658e2bb400db
2012-10-30 22:07:14 -07:00
John Koleszar
07083903b6 Fix file permissions
Change-Id: I8d1a2c664cbeb939cf23bcd414b23e19da760a14
2012-08-22 10:17:18 -07:00
Ronald S. Bultje
5ea9e2a608 x86inc: add some more format identifiers for elf file format recognition.
Change-Id: I3582c64200eed3606a4b57a9f78624ec46041461
2012-06-20 09:49:15 -07:00
Daniel Kang
31fd84d80b x86inc: Move x86inc to the correct location.
Change-Id: I6802731a4d15feef5ce62993dc505ded55c40f7e
2012-06-18 13:36:41 -07:00
James Berry
a0769f70f5 add unit test support via google test
adds unit testing via google test

Change-Id: I144b50a976d79251fc5135186a4e0a5051ed0e8c
2012-05-11 06:19:52 -07:00
Attila Nagy
9260aa8e15 Fix missing param name in NEON scaler functions
Was generating compilation errors.

Change-Id: I68d7c320b2b2f2737bbbc9862f2c39675c7f678a
2012-05-03 13:13:38 +03:00
Yunqing Wang
153eec46e0 Align image buffer in multiple-resolution encoder
Aligned the image buffer and stride to 32 bytes. This enables
calling of optimized scaler function in libyuv, and improves
the performance.

Tested libyuv scaler(x86 optimization) on Linux and Windows,
including: Linux 32/64bit, visual studio 32/64bit, Cygwin, and
MinGW32.

Also, fixed a wrong pointer in vpx_codec_encode().

Change-Id: Ibe97d7a0a745f82c43852fa4ed719be5a4db6abc
2011-12-13 09:25:30 -05:00
Yunqing Wang
aa7335e610 Multiple-resolution encoder
The example encoder down-samples the input video frames a number of
times with a down-sampling factor, and then encodes and outputs
bitstreams with different resolutions.

Support arbitrary down-sampling factor, and down-sampling factor
can be different for each encoding level.

For example, the encoder can be tested as follows.
1. Configure with multi-resolution encoding enabled:
../libvpx/configure --target=x86-linux-gcc --disable-codecs
--enable-vp8 --enable-runtime_cpu_detect --enable-debug
--disable-install-docs --enable-error-concealment
--enable-multi-res-encoding
2. Run make
3. Encode:
If input video is 1280x720, run:
./vp8_multi_resolution_encoder 1280 720 input.yuv 1.ivf 2.ivf 3.ivf 1
(output: 1.ivf(1280x720); 2.ivf(640x360); 3.ivf(320x180).
The last parameter is set to 1/0 to show/not show PSNR.)
4. Decode:
./simple_decoder 1.ivf 1.yuv
./simple_decoder 2.ivf 2.yuv
./simple_decoder 3.ivf 3.yuv
5. View video:
mplayer 1.yuv -demuxer rawvideo -rawvideo w=1280:h=720 -loop 0 -fps 30
mplayer 2.yuv -demuxer rawvideo -rawvideo w=640:h=360 -loop 0 -fps 30
mplayer 3.yuv -demuxer rawvideo -rawvideo w=320:h=180 -loop 0 -fps 30

The encoding parameters can be modified in vp8_multi_resolution_encoder.c,
for example, target bitrate, frame rate...

Modified API. John helped a lot with that. Thanks!

Change-Id: I03be9a51167eddf94399f92d269599fb3f3d54f5
2011-12-05 17:59:42 -05:00
James Zern
f89ea3432f fix file permissions
all of googletest import (0ab00a22) was marked executable

Change-Id: Id7b7ee03efc21ab998bb03349bd91644e8af25da
2011-11-04 18:50:35 -07:00
James Berry
07c71ef7cc Add unit test support via google test
Change-Id: I0ab00a22fbea1f38c96ef92ef7eaeda782c0c8d3
2011-11-04 12:23:04 -07:00