summaryrefslogtreecommitdiff
path: root/examples.mk
AgeCommit message (Collapse)Author
2014-02-07Converting vpx_temporal_scalable_patterns to use VpxVideoWriter.Dmitry Kovalev
Change-Id: I69e868295b9798ba1599a411926de0891680032f
2014-02-06Merge "Adding video reader/writer APIs."Dmitry Kovalev
2014-02-06Layer based rate control for CBR mode.Marco Paniconi
This patch adds a buffer-based rate control for temporal layers, under CBR mode. Added vpx_temporal_scalable_patters.c encoder for testing temporal layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns). Updated datarate unittest with tests for temporal layer rate-targeting. Change-Id: I8900a854288b9354d9c697cfeb0243a9fd6790b1
2014-02-05Adding video reader/writer APIs.Dmitry Kovalev
Right now only IVF format is supported which is enough for example code. Other formats like y4m, webm, raw yuv will be supported later. Change-Id: I34c6f20731c1851947587ca5c589d7856b675164
2014-02-05examples.mk: build examples/*.c directlyJames Zern
since 50fa585 Removing examples code generation and making them static. the examples have been c files, not generated from text. this removes GEN_EXAMPLES and replaces it with EXAMPLES, building the source directly rather than copying it to the build folder Change-Id: I5445bc49553419e3d2430963517d2c18cdba1f82
2014-02-03Revert "Layer based rate control for CBR mode."Marco Paniconi
This reverts commit 6be2b750b8968a0b19180a6474864c0b6a41db13 Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
2014-02-02Layer based rate control for CBR mode.Marco Paniconi
This patch adds a buffer-based rate control for temporal layers, under CBR mode. Added vpx_temporal_scalable_patters.c encoder for testing temporal layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns). Updated datarate unittest with tests for temporal layer rate-targeting. Change-Id: I9cb6cce2494390ae6096ee17774af7fb9308bde7
2014-01-29Merge "vpxenc: Relocate rate/quantizer histogram code."Dmitry Kovalev
2014-01-29vpxenc: Relocate rate/quantizer histogram code.Dmitry Kovalev
Adding rate_hist.{h, c} files. Change-Id: Iaa28af6b25ec8982966a7296a073d6017b3a7f96
2014-01-29Merge "Adapting decode_with_drops example to use new file reading API."Dmitry Kovalev
2014-01-29Adapting decode_with_drops example to use new file reading API.Dmitry Kovalev
Change-Id: Idd1acfcf8bb16a2ddb9c6c1c841a7741e90589d9
2014-01-29Adapting postproc example to use new file reading API.Dmitry Kovalev
Change-Id: Ib3747c81db8cc89b5d7012db557411a3b49712aa
2014-01-27Merge "Adapting simple_decoder to use new file reading API."Dmitry Kovalev
2014-01-27Adapting simple_decoder to use new file reading API.Dmitry Kovalev
Change-Id: I374a0c4bb4a66c0d3dc874c6e57fdee9d1ab72df
2014-01-25Adds a stand-alone resize utility for testingDeb Mukherjee
Adds a stand-alone resize_util app for testing. The app will not be built in the shared library configurations so as not to require the APIs to be exposed. Change-Id: I4718c8bff1abf4e57c2ab2d84be8738fc0048200
2014-01-24Implementing simple API to read video files.Dmitry Kovalev
New API is supposed to be used from example code. Current implementation only supports IVF containers (will be extended to Y4M). Change-Id: Ib7da87237690b1a28297bdf03bc41c6836a84b7e
2014-01-21Merge "Moving vp8_multi_resolution_encoder to examples folder."Dmitry Kovalev
2014-01-17Moving y4m encoding functions into separate files.Dmitry Kovalev
Change-Id: I03f614872167841515a74740d654c008b60104a4
2014-01-17Moving vp8_multi_resolution_encoder to examples folder.Dmitry Kovalev
Change-Id: If0e1cd13aecd1620d26c28bf95e4f84469f78456
2014-01-07Removing examples code generation and making them static.Dmitry Kovalev
All documentation will be provided as comments in the source files. Change-Id: Ie609852747733c181191f864204c787a6b23ef3a
2013-11-25vpxenc: Move config check code into its own source files.Tom Finegan
- 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
2013-11-21vpxenc: Add vpxenc.h and move/rename the global_config structTom Finegan
- 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
2013-11-19vpxdec: Relocate WebM input support.Tom Finegan
- 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-15vpx[dec|enc]: Extract IVF support from the apps.Tom Finegan
- 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-11vpxenc: clean up; move stats code out of vpxenc.cTom Finegan
Change-Id: I6b245ef5017c49373ba33e30f8fbf3d1b97409b5
2013-11-06Merge "Move SVC per-frame loop from sample app into libvpx proper"Ivan Maltz
2013-11-06Move SVC per-frame loop from sample app into libvpx properIvan Maltz
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
2013-11-06Move WebM writing support out of vpxenc.c.Tom Finegan
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-10-07Moving libmkv library to third_party folder.Dmitry Kovalev
Change-Id: Id0bfaedf54ff3f59d4cf361c170a0b5a5711e5f2
2013-09-17fix vp8-only buildJames Zern
Change-Id: Id9ce44f3364dd57b30ea491d956a2a0d6186be05
2013-09-09API extensions and sample app for spacial scalable encoderIvan Maltz
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
2013-05-21msvs: Don't link to winmm.libMartin Storsjo
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
2013-05-21msvs: Pass dependency project vcxproj files to the project generation scriptMartin Storsjo
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
2013-05-21msvs: Support producing both vcproj and vcxproj depending on configure variablesMartin Storsjo
Change-Id: Ifa27c7064118c24401ea4e55a64e129c4f503cd5
2013-03-04vpxdec: support scaling outputJohn Koleszar
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
2013-03-04vpxenc: support scaling prior to encodingJohn Koleszar
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
2012-11-27Revert "make: flatten object file directories"John Koleszar
This reverts commit b72373de79800e801ce730d24cb115daf78ae660. Change-Id: Ic1601160e11df1a018ef12da25967cfb5eebd5ba
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-11-15make: flatten object file directoriesJohn Koleszar
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
2012-11-07Rough merge of master into experimentalJohn Koleszar
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-01Rename vp8/ codec directory to vp9/.Ronald S. Bultje
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
2012-07-25shared object on mac osxjimbankoski
Change-Id: Ibf357eb492e7d5883fbdf1ddf455e28767c1d65d
2012-07-23Dll build of libvpxJim Bankoski
Change-Id: I74e50b4dfbe73eb98e1dce1695a9973f637220c0
2012-05-03vp8_multi_resolution_encoder.c is not a generated exampleAttila Nagy
Move it from GEN_EXAMPLES to UTILS list. Change-Id: I7ebd51b18a9cb58e3008ca3d7576589400b365ce
2012-04-02Allow disabling disabled codecsJohann
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
2012-03-15WebM Experimental Codec Branch SnapshotYaowu Xu
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#7a15907) 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
2012-02-08Add OS/2 supportsKO Myung-Hun
Change-Id: I792d5236451905eb20a8ebe444ef5b2274e4f7a4
2011-12-22Add missing includes for multi-resJohn Koleszar
Makes the distribution tree (built with 'make dist') buildable with --enable-install-srcs --enable-multi-res-encoding Change-Id: If2ea7632f7b26615196e9abcfaa34618cc50112a
2011-12-05Multiple-resolution encoderYunqing Wang
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-10-11Added rate-targeted temporal scalabilityAdrian Grange
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