- 07 Jan, 2014 - 1 commit
-
-
Dmitry Kovalev authored
All documentation will be provided as comments in the source files. Change-Id: Ie609852747733c181191f864204c787a6b23ef3a
-
- 25 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
- Add command line args that allow display of warnings without prompting for user input. - Extend warning code to make it somewhat scalable. Change-Id: I2bad8f9315f6eed120c2e1bbe0a2a5ede15fbf35
-
- 22 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
- Rename the struct to VpxEncoderConfig. - The idea behind this is to enable checking the global settings against stream specific settings in source files other than vpxenc.c. Change-Id: Ic736cbb714845b9466acb34671780d65b83ad1a8
-
- 19 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
- 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
-
- 15 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
- 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
-
- 12 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
Change-Id: I6b245ef5017c49373ba33e30f8fbf3d1b97409b5
-
- 06 Nov, 2013 - 2 commits
-
-
Ivan Maltz authored
SVC multiple layer per frame encoding is invoked with vpx_svc_init and vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg. Additional improvements: - make dummy frame handling a bit more explicit - fixed bug with single layer encodes - track individual frame sizes and psnrs instead of averages - parameterized quantizer, 16th scalefactors, more logging, - enabled single layer encodes to generate baseline - include new mode for 3 layer I frame with 5 total layers Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
-
Tom Finegan authored
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
-
- 07 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Id0bfaedf54ff3f59d4cf361c170a0b5a5711e5f2
-
- 18 Sep, 2013 - 1 commit
-
-
James Zern authored
Change-Id: Id9ce44f3364dd57b30ea491d956a2a0d6186be05
-
- 09 Sep, 2013 - 1 commit
-
-
Ivan Maltz authored
Sample app: vp9_spatial_scalable_encoder vpx_codec_control extensions: VP9E_SET_SVC VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER VP9E_SET_MIN_Q, VP9E_SET_MAX_Q expanded buffer size for vp9_convolve modified setting of initial width in vp9_onyx_if.c so that layer size can be set prior to initial encode Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS) Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
-
- 21 May, 2013 - 3 commits
-
-
Martin Storsjo authored
Linking to this library doesn't seem to be necessary, and this library isn't available in the windows phone API subset. Change-Id: I179837d6f9c7407f1cb6101533dc978316a30adf
-
Martin Storsjo authored
This is required since the dependencies are specified within the vcxproj files themselves, not in the solution file. This doesn't do anything for the old vcproj files. Change-Id: If7818d8e9dbf4aac5bcb34abe648946cf24db51c
-
Martin Storsjo authored
Change-Id: Ifa27c7064118c24401ea4e55a64e129c4f503cd5
-
- 04 Mar, 2013 - 2 commits
-
-
John Koleszar authored
Adds an option, --scale, that will rescale any frames produced by the decoder that don't match the resolution of the first frame to that resolution. This is useful for playback of files that use spatial resampling. Change-Id: I867adc650d535df7ec5b107549359712ea3aaaa0
-
John Koleszar authored
Scales the input of the encoder using libyuv's "box filter". Each stream may have a different width and height specified. If the width (or height) parameter is missing (or is explicitly set to 0) then the value will be calculated based on the specified height (or width) and the input file's dimensions, preserving its aspect ratio. Leaving the height unspecified behaves similarly. Change-Id: I700ef89ce54fb87588420a71c39c0e3e73b1a40e
-
- 27 Feb, 2013 - 2 commits
-
-
John Koleszar authored
Adds an option, --scale, that will rescale any frames produced by the decoder that don't match the resolution of the first frame to that resolution. This is useful for playback of files that use spatial resampling. Change-Id: I867adc650d535df7ec5b107549359712ea3aaaa0
-
John Koleszar authored
Scales the input of the encoder using libyuv's "box filter". Each stream may have a different width and height specified. If the width (or height) parameter is missing (or is explicitly set to 0) then the value will be calculated based on the specified height (or width) and the input file's dimensions, preserving its aspect ratio. Leaving the height unspecified behaves similarly. Change-Id: Ic7026810b13be030826be80dc6f7fc4aaf0c35d0
-
- 28 Nov, 2012 - 1 commit
-
-
John Koleszar authored
This reverts commit b72373de. Change-Id: Ic1601160e11df1a018ef12da25967cfb5eebd5ba
-
- 15 Nov, 2012 - 2 commits
-
-
John Koleszar authored
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
-
John Koleszar authored
Rather than building an object file directory heirarchy matching the source tree's layout, rename the object files so that the object file name contains the path in the source file tree. The intent here is to allow two files in different parts of the source tree to have the same name and still not collide when put into an ar archive. Change-Id: Id627737dc95ffc65b738501215f34a995148c5a2
-
- 01 Nov, 2012 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
-
- 26 Jul, 2012 - 1 commit
-
-
jimbankoski authored
Change-Id: Ibf357eb492e7d5883fbdf1ddf455e28767c1d65d
-
- 23 Jul, 2012 - 1 commit
-
-
Jim Bankoski authored
Change-Id: I74e50b4dfbe73eb98e1dce1695a9973f637220c0
-
- 03 May, 2012 - 1 commit
-
-
Attila Nagy authored
Move it from GEN_EXAMPLES to UTILS list. Change-Id: I7ebd51b18a9cb58e3008ca3d7576589400b365ce
-
- 02 Apr, 2012 - 1 commit
-
-
Johann authored
When using 'make dist' after --disable-vp8[encoder|decoder] it would fail to recognize the option. This would only occur when also specifying --enable-install-docs and --enable-install-srcs but not --enable-codec-srcs Including vpx/ fixes builds with --enable-codec-srcs vpx_timer.h is also required for vpxenc.c Change-Id: Ie3e28b2f7ec7ee6d5961d3843f9eab869f79c35b
-
- 15 Mar, 2012 - 1 commit
-
-
Yaowu Xu authored
This is a code snapshot of experimental work currently ongoing for a next-generation codec. The codebase has been cut down considerably from the libvpx baseline. For example, we are currently only supporting VBR 2-pass rate control and have removed most of the code relating to coding speed, threading, error resilience, partitions and various other features. This is in part to make the codebase easier to work on and experiment with, but also because we want to have an open discussion about how the bitstream will be structured and partitioned and not have that conversation constrained by past work. Our basic working pattern has been to initially encapsulate experiments using configure options linked to #IF CONFIG_XXX statements in the code. Once experiments have matured and we are reasonably happy that they give benefit and can be merged without breaking other experiments, we remove the conditional compile statements and merge them in. Current changes include: * Temporal coding experiment for segments (though still only 4 max, it will likely be increased). * Segment feature experiment - to allow various bits of information to be coded at the segment level. Features tested so far include mode and reference frame information, limiting end of block offset and transform size, alongside Q and loop filter parameters, but this set is very fluid. * Support for 8x8 transform - 8x8 dct with 2nd order 2x2 haar is used in MBs using 16x16 prediction modes within inter frames. * Compound prediction (combination of signals from existing predictors to create a new predictor). * 8 tap interpolation filters and 1/8th pel motion vectors. * Loop filter modifications. * Various entropy modifications and changes to how entropy contexts and updates are handled. * Extended quantizer range matched to transform precision improvements. There are also ongoing further experiments that we hope to merge in the near future: For example, coding of motion and other aspects of the prediction signal to better support larger image formats, use of larger block sizes (e.g. 32x32 and up) and lossless non-transform based coding options (especially for key frames). It is our hope that we will be able to make regular updates and we will warmly welcome community contributions. Please be warned that, at this stage, the codebase is currently slower than VP8 stable branch as most new code has not been optimized, and even the 'C' has been deliberately written to be simple and obvious, not fast. The following graphs have the initial test results, numbers in the tables measure the compression improvement in terms of percentage. The build has the following optional experiments configured: --enable-experimental --enable-enhanced_interp --enable-uvintra --enable-high_precision_mv --enable-sixteenth_subpel_uv CIF Size clips: http://getwebm.org/tmp/cif/ HD size clips: http://getwebm.org/tmp/hd/ (stable_20120309 represents encoding results of WebM master branch build as of commit#7a159071) They were encoded using the following encode parameters: --good --cpu-used=0 -t 0 --lag-in-frames=25 --min-q=0 --max-q=63 --end-usage=0 --auto-alt-ref=1 -p 2 --pass=2 --kf-max-dist=9999 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0 --maxsection-pct=800 --sharpness=0 --arnr-maxframes=7 --arnr-strength=3(for HD,6 for CIF) --arnr-type=3 Change-Id: I5c62ed09cfff5815a2bb34e7820d6a810c23183c
-
- 15 Feb, 2012 - 1 commit
-
-
Paul Wilkins authored
Remove error concealment code. Change-Id: I882705174fbfea212e96f7f684e47a671dbe5c67
-
- 08 Feb, 2012 - 1 commit
-
-
KO Myung-Hun authored
Change-Id: I792d5236451905eb20a8ebe444ef5b2274e4f7a4
-
- 22 Dec, 2011 - 1 commit
-
-
John Koleszar authored
Makes the distribution tree (built with 'make dist') buildable with --enable-install-srcs --enable-multi-res-encoding Change-Id: If2ea7632f7b26615196e9abcfaa34618cc50112a
-
- 05 Dec, 2011 - 1 commit
-
-
Yunqing Wang authored
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
-
- 11 Oct, 2011 - 1 commit
-
-
Adrian Grange authored
Added the ability to create rate-targeted, temporally scalable, VP8 compatible bitstreams. The application vp8_scalable_patterns.c demonstrates how to use this capability. Users can create output bitstreams containing upto 5 temporally separable streams encoded as a single VP8 bitstream. (previously abandoned as: I92d1483e887adb274d07ce9e567e4d0314881b0a) Change-Id: I156250a3fe930be57c069d508c41b6a7a4ea8d6a
-
- 22 Sep, 2011 - 1 commit
-
-
Attila Nagy authored
Just a clean-up. Change-Id: Iea5b6dc925dcfa7db548bc1ab1a13d26ed5a2c9a
-
- 25 Jul, 2011 - 1 commit
-
-
James Zern authored
Fixes issue #62. Change-Id: I0567cf7897c0942666c19b3231c8c3b8e9c3e7cc
-
- 19 May, 2011 - 1 commit
-
-
Stefan Holmer authored
The error-concealer is plugged in after any motion vectors have been decoded. It tries to estimate any missing motion vectors from the motion vectors of the previous frame. Intra blocks with missing residual are replaced with inter blocks with estimated motion vectors. This feature was developed in a separate sandbox (sandbox/holmer/error-concealment). Change-Id: I5c8917b031078d79dbafd90f6006680e84a23412
-
- 02 May, 2011 - 1 commit
-
-
Ronald S. Bultje authored
Always use CFLAGS/LDFLAGS that point to headers and libvpx.a inside our build tree before ones from the environment, which could reference headers or libs outside the build tree. This fixes issue 307. Change-Id: I34d176b8c21098f6da5ea71f0147d3c49283cc45
-
- 28 Jan, 2011 - 1 commit
-
-
Tero Rintaluoma authored
Adds following targets to configure script to support RVCT compilation without operating system support (for Profiler or bare metal images). - armv5te-none-rvct - armv6-none-rvct - armv7-none-rvct To strip OS specific parts from the code "os_support"-config was added to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS specific parts such as OS specific includes and function calls for timers and threads etc. This was done to enable RVCT compilation for profiling purposes or running the image on bare metal target with Lauterbach. Removed separate AREA directives for READONLY data in armv6 and neon assembly files to fix the RVCT compilation. Otherwise "ldr <reg>, =label" syntax would have been needed to prevent linker errors. This syntax is not supported by older gnu assemblers. Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
-
- 02 Nov, 2010 - 1 commit
-
-
John Koleszar authored
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
-
- 27 Oct, 2010 - 1 commit
-
-
John Koleszar authored
Prior clean-up removed the object files, but not the binaries themselves. Change-Id: Ic2332188cea88094c14457ebb8b77680a60d581b
-
- 26 Oct, 2010 - 1 commit
-
-
John Koleszar authored
The new WebM output support should be preferred to IVF, but we can't change the default behavior of the ivf* tools. There are a few other default behaviors for these tools that are counterintuitive for historical reasons, and changing the binary name provides the opportunity to clean those up as well. This patch takes the first step by renaming the binaries. Change-Id: I647008ae37cc352dd27ec1da7ed13489e0609b24
-