Commit Graph

39 Commits

Author SHA1 Message Date
Jerome Jiang
c10833faa6 Test decode and find mismatch in vp9 svc example encoder.
Also write it to opsnr.stt when internal stats is enabled.

Removed some redundant code in vpxenc.c and vp9cx_set_ref.c

Change-Id: I3700137fff0be92a23e4ab75713db72da1dc4076
2019-02-11 20:18:07 -08:00
Jerome Jiang
7199f78783 add y4m support to vp9 example encoders.
vp9_spatial_svc_encoder and vpx_temporal_svc_encoder.

Change-Id: I8dfa1dfad83c83a26ddac4e7c57b5f1ff161e588
2019-01-30 12:47:10 -08:00
Jerome Jiang
5e5f6db657 Clean up TODOs for vpx_img_* functions.
They should stay in tools_common.{c,h}

Change-Id: I34bd05e8b000ce780bb1f77abcb8cbfd1e83158f
2019-01-29 12:27:40 -08:00
KO Myung-Hun
c49ca22a88 Fix compilation on OS/2
off_t requires sys/types.h on OS/2

-----
    [CC] test/../ivfenc.c.o
In file included from test/.././ivfenc.h:13:0,
                 from test/../ivfenc.c:11:
test/../././tools_common.h:36:9: error: unknown type name 'off_t'
 typedef off_t FileOffset;
         ^~~~~
make.exe[1]: *** [test/../ivfenc.c.o] Error 1
-----

Change-Id: Ia09935e5de8573e63185369fc139e3355664afd1
2018-10-14 22:50:34 +09:00
James Zern
2a5805e2cb cosmetics: normalize include guards
use the recommended format [1] of:
<PROJECT>_<PATH>_<FILE>_H_

[1] https://google.github.io/styleguide/cppguide.html#The__define_Guard
"All header files should have #define guards to prevent multiple
inclusion. The format of the symbol name should be
<PROJECT>_<PATH>_<FILE>_H_."

Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
2018-09-15 12:25:43 -07:00
James Zern
b608c09781 tools_common.h: add missing ';' in generic branch
missed in:
380a26112 Fix compile warnings for target=armv7-android-gcc

Change-Id: I2820fff00858a19f7dcf6e0fff189d455b7d640f
2017-01-19 15:09:59 -08:00
Jerome Jiang
380a26112c Fix compile warnings for target=armv7-android-gcc
Fix compile warnings about implicit type conversion for
target=armv7-android-gcc in vpxenc.c.

BUG=webm:1348

Change-Id: I9fbabd843512f2a1a09f4bb934cd091e834eed9c
2016-12-22 14:56:20 -08:00
clang-format
033dab9ca0 top-level: apply clang-format
Change-Id: Ibd5395bf8956a80f7c0df4d539c7a42c927a1fc7
2016-07-19 14:34:19 -07:00
James Zern
67edc5e83b remove vp10
development has moved to the nextgenv2 branch and a snapshot from here
was used to seed aomedia

BUG=b/29457125

Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0
2016-06-17 18:26:08 -07:00
Yaowu Xu
72889a2a60 Remove vp10's build dependency on vp9
CONFIG_VP9_HIGHBITDEPTH is currently used by both vp9 and vp10, but in
many place outside vp9/vp10, the macro was used in conjunction of
CONFIG_VP9. This created a dependency on vp9 for vp10 to build. This
commit removes the dependency by use CONFIG_VP9_HIGHBITDEPTH only in
these places.

Change-Id: I8cc007fc9cf132394c6498ce6759e606b64a6ad0
2015-08-14 12:16:07 -07:00
Jingning Han
3ee6db6c81 Fork VP9 and VP10 codebase
This commit folks the VP9 and VP10 codebase and makes libvpx
support VP8, VP9, and VP10.

Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
2015-08-11 17:05:28 -07:00
Frank Galligan
09acd267bc vpxenc: Add support for pixel aspect ratio.
WebM files will adjust the display width and height according to the
input pixel aspect ratio. The default pixel aspect ratio is 1:1.

BUG=https://code.google.com/p/webm/issues/detail?id=1005

Change-Id: I23e0a601b7259fa9513cb86110c41b8437769808
2015-06-05 09:56:50 -07:00
Johann
cad0eca25c Don't #define snprintf in VS 2015 or higher.
In VS 2015 and higher snprintf is supplied and therefore vsnprintf
doesn't need to be defined. This also avoids problems caused by
_snprintf being different from snprintf.

This fixes a build break with VS 2015 and improves security.

Originally submitted via chromium by brucedawson@chromium.org
https://codereview.chromium.org/1055603003

Additionally break this MSVC-specific tweak to a new file, which will
become the home of all such MSVC-specific things.

This requires adding a dependency on msvc.h to every example which uses
args.c and tools_common.h

Change-Id: I35b5f8e7ea00f6627403aabc9ea79b0412557a99
2015-05-27 18:28:25 -07:00
James Zern
d1999cb234 tools_common.h: fix get_vpx_decoder_count() proto
silences a missing-prototype warning

Change-Id: I99f8b4a9b7df836208e93170159733c5b5c2d881
2015-05-11 20:55:02 -07:00
James Zern
5a73bbdb83 tools_common.h: fix get_vpx_encoder_count() proto
silences a missing-prototype warning

Change-Id: Icf5c7f1f3e8ae9792276068fb3c0fd04b40fc7ad
2015-05-11 20:55:01 -07:00
James Zern
59e7a47c41 tools_common.h: fix usage_exit() prototype
+ the definitions in the examples

silences a missing-prototype warning

Change-Id: I7c064cacd6d2073a6107de6c3e2cc46ef8a68411
2015-05-11 20:54:55 -07:00
Deb Mukherjee
7a2a611667 Refactoring of highbitdepth bitshift operations
Moves the high bitdepth bit-shift operations to tools_common.c

Change-Id: Ifab91574362609cd224d2d6bae5fde00652eb3e4
2014-10-08 10:44:45 -07:00
Jim Bankoski
e9b878ceff warnings.c : fixes dereference to null warning
Change-Id: I03cceb4b92b7362e90f3ea61342341246b9a11ab
2014-08-21 11:43:36 -07:00
Deb Mukherjee
f332c6305e Renames interface field in VpxInterface
Renames interface to codec_interface since it is a reserved
word on windows.

Change-Id: I84f2cbf257a4c44f16dc2464127e35ee405c2c3e
2014-07-15 16:55:12 -07:00
Deb Mukherjee
5820c5d614 Adds support for reading and writing 10/12-bit y4m
The y4m extension used is the same as the one used in ffmpeg/x264.
The patch is adapted from the highbitdepth branch.

Also adds unit tests for y4m header parsing and md5 check
of the raw frame data, as well as y4m writing.

[build fix for Mac/VS by not using tuples with strings]

Change-Id: I40897ee37d289e4b6cea6fedc67047d692b8cb46
2014-07-05 16:00:54 -07:00
Dmitry Kovalev
79199e465a Reverting "Adds support for reading and writing 10/12-bit y4m" for now because of Mac Build Failure.
This reverts commit 82dc1332af

Change-Id: I824bf42bf47c7df6985c79e451d6af913030d374
2014-07-02 22:23:38 -07:00
Deb Mukherjee
82dc1332af Adds support for reading and writing 10/12-bit y4m
The y4m extension used is the same as the one used in ffmpeg/x264.
The patch is adapted from the highbitdepth branch.

Also adds unit tests for y4m header parsing and md5 check
of the raw frame data, as well as y4m writing.

Change-Id: Ie2794daf6dbafd2f128464f9b9da520fc54c0dd6
2014-07-02 05:41:14 -07:00
Alex Converse
6c2e88e932 Rewrite encoder input format handling.
The previous approach can't scale to all of or new formats. This also
fixes YV12 input.

Change-Id: Ic4ad333770bbbd0e921f519199b57862afcbe1ab
2014-05-16 12:31:34 -07:00
James Zern
e3578af32c examples: remove off_t overrides
this is error prone, int64 will suffice for all cases

Change-Id: I94883f93518cfc356ed57b14dc39d79aebccf47d
2014-04-17 10:47:08 -07:00
James Zern
dae4cfcb70 tools_common.h: (msvs) avoid redefining off_t
in some configurations MSVS will define _off_t / off_t in wchar.h; the
former is used locally while the latter is for compatibility. this
change overrides off_t as in the past and sets _OFF_T_DEFINED to prevent
a clash in types.

Change-Id: I9b0e6db586a0a2729b545d93edfc56570d2fcf97
2014-04-02 20:59:03 -07:00
Dmitry Kovalev
3bb2ae5ccc Merge "Adding sse_to_psnr function to tools_common.{h, c}." 2014-02-27 16:33:54 -08:00
Dmitry Kovalev
2dad0e1238 Adding sse_to_psnr function to tools_common.{h, c}.
Change-Id: Id5f974172416499ff55b0929e315b12d16ff1b1b
2014-02-27 14:00:41 -08:00
Dmitry Kovalev
4334c07357 Reusing mem_get_le{16, 32} defined in vpx_ports/mem_opts.h.
Change-Id: If4b5209ac14aaba6f1c1014bc0497baa8eabfaff
2014-02-26 16:32:09 -08:00
Dmitry Kovalev
2bdd43d8d4 Adding and reusing vpx_img_plane_{width, height}() functions.
Change-Id: I668afb50614644d2eac2e968e1fafd6d73170bec
2014-02-12 18:36:36 -08:00
Dmitry Kovalev
70d9664fb2 Adding API to get vpx encoder/decoder interface.
Change-Id: I137e5e6585356792913e1e84da6c0a439c5153a5
2014-02-11 21:12:23 -08:00
Dmitry Kovalev
592936b497 Cleaning up {simple, twopass}_encoder examples.
Change-Id: Ide9c408f4cee7408741ef8c0ffac01645a5a67ca
2014-02-07 11:37:39 -08:00
Dmitry Kovalev
7ec2769687 Adapting simple_decoder to use new file reading API.
Change-Id: I374a0c4bb4a66c0d3dc874c6e57fdee9d1ab72df
2014-01-27 13:40:29 -08:00
Dmitry Kovalev
cccadd245c Removing VP8_FOURCC_MASK & VP9_FOURCC_MASK.
There is no reason to have fourcc masks, everything just works without
them.

Change-Id: I1d48100e7b7d5ef55ec49a708ba6adcb9ab4ecd8
2014-01-15 14:01:38 -08:00
Tom Finegan
2abe2d4664 vpxdec: Relocate WebM input support.
- Move it to webmdec.c and webmdec.h.
- Also, tidy up obvious style nits in the vicinity of code I was
  already touching.

Change-Id: Ie2898d06e73c1e9030d9c8d465b73ee7edc3c02a
2013-11-19 10:26:51 -08:00
Tom Finegan
00a35aab7c vpx[dec|enc]: Extract IVF support from the apps.
- Move IVF reading support into ivfdec.c and ivfdec.h
- Move IVF writing support into ivfenc.c and ivfenc.h
- Removed IVF writing code from the SVC example in favor of ivfenc.

Change-Id: I70adf6240d0320fdd232d8546ed573f0f68dd793
2013-11-15 08:33:24 -08:00
Tom Finegan
e657919ddf vpx[dec|enc]: Clean up target OS based IO focused preproc abuse.
Relocate it to tools_common.h so we can stop duping this code
everywhere.

BUG=https://code.google.com/p/webm/issues/detail?id=660

Change-Id: If8aa49b74d297273cd9fd7006b2767837055a359
2013-11-11 11:23:09 -08:00
Tom Finegan
03848f5ca7 Move WebM writing support out of vpxenc.c.
This is mainly a clean up patchset. It moves the WebM writing support
out of vpxenc and into its own source file. Changes to tools_common and
vpxdec result from relocation of shared bits of code.

Change-Id: Iee55d3285f56e0a548f791094fb14c5ac5346a26
2013-11-06 06:49:55 -08:00
John Koleszar
c6b9039fd9 Restyle code
Approximate the Google style guide[1] so that that there's a written
document to follow and tools to check compliance[2].

[1]: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
[2]: http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py

Change-Id: Idf40e3d8dddcc72150f6af127b13e5dab838685f
2012-07-17 11:46:03 -07:00
John Koleszar
c377bf0eec fix pipe support on windows
STDIO streams are opened in text mode by default on Windows. This patch
changes the stdin/stdout streams to be in binary mode if they are being
used for I/O from the vpxenc or vpxdec tools.

Fixes issue #216. Thanks to mw AT hesotech.de for the fix.

Change-Id: I34525b3ce2a4a031d5a48d36df4667589372225b
2010-11-02 09:14:24 -04:00