- 17 Jun, 2013 - 2 commits
-
-
Dmitry Kovalev authored
The error happened because of vp8_decrypt_cb typedef redefinition in both treereader.h and vp8dx.h. Removing typedef from vp8dx.h in favor of raw function pointer declaration. Change-Id: I0266eb341ce433d40caf0abf8748694d505ee786
-
Jeff Petkau authored
This allows code calling the library can choose an arbitrary encryption algorithm. Decoder control parameter VP8_SET_DECRYPT_KEY is renamed to VP8D_SET_DECRYPTOR, and now takes an small config struct instead of just a byte array. Change-Id: I0462b3388d8d45057e4f79a6b6777fe713dc546e
-
- 06 May, 2013 - 1 commit
-
-
John Koleszar authored
Adds a new experiment CONFIG_NON420 that allows other chroma subsamplings to be passed to the codec. This commit allows the data to be passed from a y4m input file through vpxenc to the codec, where they're currently rejected. Later commits will finish support for this inside the codec. Change-Id: Ib3aac604d8cad9e24cef395fa1067f16ba7e8e43
-
- 24 Apr, 2013 - 1 commit
-
-
Paul Wilkins authored
Also some further simplification following removal of top node code. There is an issue in regards to the shared file vp8cx.h in regard to the roi_map as this interface assumes that there are only 4 segments. I have left the value here as 4 for now meaning that the roi_map interface is broken for VP9. Note that this change would have been easier if I hadn't had to search for hard wire instances of the number 4 and <= 3. Change-Id: Ia8b6deea4be4dbd20deb1656e689dd43a5f190e8
-
- 27 Mar, 2013 - 2 commits
-
-
John Koleszar authored
Restore ABI compatibility with the master branch. Change-Id: Ie9f6fdf536662bd87dfcf114d16f003422670763
-
John Koleszar authored
Restore ABI compatibility with the master branch. Change-Id: Ic57e7e1de09ab33bd37990e52a63ba7c8f1432a4
-
- 16 Mar, 2013 - 1 commit
-
-
Dmitry Kovalev authored
New decoder control paramter VP8_SET_DECRYPT_KEY to set the decryption key. Change-Id: I6fc1f44d41f74f3b3f702778af1a6f8f5cc9439f
-
- 14 Mar, 2013 - 1 commit
-
-
John Koleszar authored
This is like VP8_COPY_REFERENCE, but returns a pointer to the reference frame rather than a copy of it. This is useful when the application doesn't know what the size of the reference is, as is the case when scaling is in effect. Change-Id: I63667109f65510364d0e397ebe56217140772085
-
- 13 Feb, 2013 - 1 commit
-
-
Ronald S. Bultje authored
These allow sending partial bitstream packets over the network before encoding a complete frame is completed, thus lowering end-to-end latency. The tile-rows are not independent. Change-Id: I99986595cbcbff9153e2a14f49b4aa7dee4768e2
-
- 12 Feb, 2013 - 1 commit
-
-
Ronald S. Bultje authored
This is after discussion with the hardware team. Update the unit test to take these sizes into account. Split out some duplicate code into a separate file so it can be shared. Change-Id: I8311d11b0191d8bb37e8eb4ac962beb217e1bff5
-
- 05 Feb, 2013 - 1 commit
-
-
Ronald S. Bultje authored
This patch adds column-based tiling. The idea is to make each tile independently decodable (after reading the common frame header) and also independendly encodable (minus within-frame cost adjustments in the RD loop) to speed-up hardware & software en/decoders if they used multi-threading. Column-based tiling has the added advantage (over other tiling methods) that it minimizes realtime use-case latency, since all threads can start encoding data as soon as the first SB-row worth of data is available to the encoder. There is some test code that does random tile ordering in the decoder, to confirm that each tile is indeed independently decodable from other tiles in the same frame. At tile edges, all contexts assume default values (i.e. 0, 0 motion vector, no coefficients, DC intra4x4 mode), and motion vector search and ordering do not cross tiles in the same frame. t log Tile independence is not maintained between frames ATM, i.e. tile 0 of frame 1 is free to use motion vect...
-
- 04 Feb, 2013 - 1 commit
-
-
Yaowu Xu authored
These macros were not defined in earlier version of MSVC Change-Id: I8270a3abb7c6e9ead1931a653d7e41f877a1017b
-
- 30 Jan, 2013 - 1 commit
-
-
Scott LaVarnway authored
Started adding support for multiple internal decoder instances. Also added code to limit the vp8 config options available when using frame-based multithreading. Change-Id: I0f1ee7abcfcff59204f50162e28254b8dd6972eb
-
- 26 Jan, 2013 - 1 commit
-
-
Deb Mukherjee authored
Adds a flag to disable features that would inhibit frame parallel decoding. This includes backward adaptation and MV sorting based on search in ref frame buffer. Also includes some minor clean-ups. Change-Id: I434846717a47b7bcb244b37ea670c5cdf776f14d
-
- 14 Jan, 2013 - 1 commit
-
-
John Koleszar authored
These variables have the type int64_t, not long long. long long could be a larger type than 64 bits. Emulate INT64_MAX for older versions of MSVC, and remove the unreferenced vpx_ports/vpxtypes.h Change-Id: Ideaca71838fcd3849d816d5ab17aa347c97d03b0
-
- 27 Nov, 2012 - 1 commit
-
-
James Zern authored
fixes, e.g.: In file included from ../vpx/internal/../vpx_decoder.h:33:0, from ../vpx/internal/vpx_codec_internal.h:46, from ../vp8/common/onyx.h:21, from ../vp8/encoder/block.h:15, from ../test/subtract_test.cc:18: ../vpx/internal/../vpx_codec.h:52:0: warning: "DECLSPEC_DEPRECATED" redefined /usr/x86_64-w64-mingw32/sys-root/mingw/include/winnt.h:164:0: note: this is the location of the previous definition Change-Id: Iddc9318451d3e4e4a78b4d706518083fffff5c61
-
- 16 Nov, 2012 - 2 commits
- 15 Nov, 2012 - 2 commits
-
-
John Koleszar authored
Modify the decoder to return the ending position of the bool decoder and use that as the starting position for the next frame. The constant-space algorithm for parsing the appended frame lengths is O(n^2), which is a potential DoS concern if n is unbounded. Revisit the appended lengths for use as partition lengths when multipartition support is added. In addition, this allows decoding of raw streams outside of a container without additional framing information, though it's insufficient to be able to remux said stream into a container. Change-Id: I71e801a9c3e37abe559a56a597635b0cbae1934b
-
John Koleszar authored
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
-
- 09 Nov, 2012 - 1 commit
-
-
Vignesh Venkatasubramanian authored
The altref frame is packed along with the next P frame. So that outside of the codec there are now only two types of frames P and I. Also, now it is one frame in and one frame out with respect to the codec. Apart from that, all the frames are length encoded with the length of each frame appended to the frame itself. There are two categories of frames and each of them will look as follows: - Packed frames (an altref along with the succeeding p frame) - altref_frame_data | altref_lenngth | frame_data | length - Unpacked frames (all frames other than the above) - frame_data | length Change-Id: If1eabf5c473f7d46b3f2d026bd30c803588c5330
-
- 06 Nov, 2012 - 1 commit
-
-
John Koleszar authored
Change-Id: I44b3ad780cef6f448fa17ff8e28fea87ef9cd518
-
- 01 Nov, 2012 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
-
- 14 Aug, 2012 - 1 commit
-
-
Daniel Kang authored
Change-Id: I9c7ef4a75c37aa0e10df75e165e3066614c955ef
-
- 24 Jul, 2012 - 1 commit
-
-
Paul Wilkins authored
Change-Id: I99937cbdd6bfe52b7c8ae42f05526dfc06a602f4
-
- 23 Jul, 2012 - 1 commit
-
-
Jim Bankoski authored
Change-Id: I74e50b4dfbe73eb98e1dce1695a9973f637220c0
-
- 17 Jul, 2012 - 1 commit
-
-
John Koleszar authored
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
-
- 14 Jul, 2012 - 1 commit
-
-
Yunqing Wang authored
Added validity checking in multi-res encoder. Disable spatial resampling and frame dropping before we have those supports. Also, deallocate the memory for all resolution levels once error occurs. Change-Id: Ia5d65a645381cad1a49940ab3a19bb5696c39c09
-
- 13 Jul, 2012 - 1 commit
-
-
Yunqing Wang authored
Removed encoding_mode, which is not used anymore. Change-Id: I569b2d4afe4d2f57bda8248615108c7cfc40134c
-
- 29 Jun, 2012 - 2 commits
-
-
John Koleszar authored
We need an easy way to build the unit test driver without running the tests. This enables passing options like --gtest_filter to the executable, which can't be done very cleanly when running under `make test`. Fixed a number of compiler errors/warnings when building the tests in various configurations by Jenkins. Change-Id: I9198122600bcf02520688e5f052ab379f963b77b
-
Hui Su authored
This commit adds lossless compression capability to the experimental branch. The lossless experiment can be enabled using --enable-lossless in configure. When the experiment is enabled, the encoder will use lossless compression mode by command line option --lossless, and the decoder automatically recognizes a losslessly encoded clip and decodes accordingly. To achieve the lossless coding, this commit has changed the following: 1. To encode at lossless mode, encoder forces the use of unit quantizer, i.e, Q 0, where effective quantization is 1. Encoder also disables the usage of 8x8 transform and allows only 4x4 transform; 2. At Q 0, the first order 4x4 DCT/IDCT have been switched over to a pair of forward and inverse Walsh-Hadamard Transform (http://goo.gl/EIsfy), with proper scaling applied to match the range of the original 4x4 DCT/IDCT pair; 3. At Q 0, the second order remains to use the previous walsh-hadamard transform pair. However, to maintain the reversibility in second order transform at Q 0, scaling down is applied to first order DC coefficients prior to forward transform, and scaling up is applied to the second order output prior to quantization. Symmetric upscaling and downscaling are added around inverse second order transform; 4. At lossless mode, encoder also disables a number of minor features to ensure no loss is introduced, these features includes: a. Trellis quantization optimization b. Loop filtering c. Aggressive zero-binning, rounding and zero-bin boosting d. Mode based zero-bin boosting Lossless coding test was performed on all clips within the derf set, to verify that the commit has achieved lossless compression for all clips. The average compression ratio is around 2.57 to 1. (http://goo.gl/dEShs) Change-Id: Ia3aba7dd09df40dd590f93b9aba134defbc64e34
-
- 23 Jun, 2012 - 1 commit
-
-
Paul Wilkins authored
Update the comment that defines the allowed ranges for delta_q and delta_lf that can be used with segmentation. Change-Id: Ie56ad6f946704259e03ffd49921a4cfb7e1e2f1f
-
- 15 Jun, 2012 - 1 commit
-
-
John Koleszar authored
Avoid a pthreads dependency via pthread_once() when compiled with --disable-multithread. In addition, this synchronization is disabled for Win32 as well, even though we can be sure that the required primatives exist, so that the requirements on the application when built with --disable-multithread are consistent across platforms. Users using libvpx built with --disable-multithread in a multithreaded context should provide their own synchronization. Updated the documentation to vpx_codec_enc_init_ver() and vpx_codec_dec_init_ver() to note this requirement. Moved the RTCD initialization call to match this description, as previously it didn't happen until the first frame. Change-Id: Id576f6bce2758362188278d3085051c218a56d4a
-
- 16 May, 2012 - 1 commit
-
-
Yunqing Wang authored
In multi-resolution encoding, frame_type decision for each frame is made by the lowest-resolution encoder. For all other higher- resolution encoders, kf_mode is always set to VPX_KF_DISABLED, and they are forced to use the same frame_type picked by the lowest-resolution encoder. Change-Id: Ic4d52ec65bbc012ca9c2d236210e28a295591eaf
-
- 04 May, 2012 - 1 commit
-
-
John Koleszar authored
Remove a bunch of compatibility code dating back to before the initial libvpx release. Change-Id: Ie50b81e7d665955bec3d692cd6521c9583e85ca3
-
- 03 May, 2012 - 1 commit
-
-
John Koleszar authored
Move the notion of 0 bitrate implying skip deeper into the codec, rather than doing it at the multi-encoder API level. This preserves v1.0.0 ABI compatibility, rather than forcing a bump to v2.0.0 over a minor change. Also, this allows the case where the application can selectively enable and disable the larger resolution(s) without having to reinitialize the codec instace (for instance, if no target is receiving the full resolution stream). It's not clear how deep to push this check. It may be valuable to allow the framerate adaptation code to run, for example. Currently put the check as early as possible for simplicity, should reevaluate this as this feature gains real use. Change-Id: I371709b8c6b52185a1c71a166a131ecc244582f0
-
- 02 May, 2012 - 4 commits
-
-
John Koleszar authored
Preserved the prior names for compatibility, will remove in the future. Change-Id: I8773f959ebce72f60168a2972f7a8ffe6642b9b2
-
Timothy B. Terriberry authored
These are warnings in most builds, but show up as compile errors on some platforms when these headers are included from C++ code. Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5
-
Timothy B. Terriberry authored
These are warnings in most builds, but show up as compile errors on some platforms when these headers are included from C++ code. Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5
-
Attila Nagy authored
Fix code for following warnings: -Wimplicit-function-declaration -Wuninitialized -Wunused-but-set-variable -Wunused-variable Change-Id: I2be434f22fdecb903198e8b0711255b4c1a2947a
-