- 13 Jan, 2014 - 3 commits
-
-
Dmitry Kovalev authored
File type check inside ivf_read_frame() is not necessary (it is done before this function get called). Change-Id: Iede8feb358d25878b340473d85c3b01d701fc624
-
Adrian Grange authored
There are three contributors to the definition of how the display size is set: (1) display width/height set in the container. (2) display size (optional in the frame header) (3) decoded frame size (from the frame header) This patch modifies the way that vpxdec defines the display size to give preference to these three criteria in the order given above. If the container sets a non-zero size, it is used, otherwise the display size specified in the first decoded frame is used (if specified), with the raw decoded frame size of the first frame used as a last resort. The display size set in frames other than the first is always ignored in this implementation. Change-Id: I7e98d817d3f5894d559dd2aeb0a6cb1959b9092b
-
Dmitry Kovalev authored
Change-Id: Ie2a4606daf35b327d6f2ac8d7fd8f6cacf4c5b6a
-
- 28 Dec, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We don't need compile time md5 configuration because --md5 is a runtime option. Change-Id: Ic0a2427ae5de5a18f31e5ee60c3732481b377ca1
-
- 16 Dec, 2013 - 2 commits
-
-
Frank Galligan authored
Add an option for libvpx to return the least recently used frame buffer. Change-Id: I886a96ffb94984f1c42de53086e0131922df3260
-
Frank Galligan authored
VP9 decoder can now use frame buffers passed in by the application. Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
-
- 04 Dec, 2013 - 1 commit
-
-
Adrian Grange authored
Modifications to the spatial scalable encoder to match changes made to the scaling code in the decoder. In particular, the use of a dummy first frame was removed now that the decoder is able to handle a smaller first frame. SvcTest.FirstFrameHasLayers unit test re-enabled. Change-Id: Ic2e91fbe4eadf95895569947670d36d68abaf458
-
- 02 Dec, 2013 - 1 commit
-
-
Adrian Grange authored
This fixes issue 667. In the case where the frame was an odd number of pixels wide or high, the border was being extended by one col or row too far. The calculation of color plane dimensions was modified to use those already computed at the time the frame buffer was allocated. Also freed the temporary scaling buffer in vpxdec to prevent a memory leak. Change-Id: I195bc81d84c0fc5d8260c1232200d62399e4b51f
-
- 22 Nov, 2013 - 2 commits
-
-
Adrian Grange authored
The decoder ignored the display width & height specified in the frame header. This patch adds a control, VP9D_GET_DISPLAY_SIZE, to allow the application to obtain the display width and height from the frame header. vpxdec has been modified to scale the output frame to this size. Should the request for the display size fail vpxdec will use the native width and height of the raw decoded frame instead. Change-Id: I25db04407426dac730263720c75a7dd6400af68a
-
Adrian Grange authored
This fixes issue 667. In the case where the frame was an odd number of pixels wide or high, the border was being extended by one col or row too far. The calculation of color plane dimensions was modified to use those already computed at the time the frame buffer was allocated. Also freed the temporary scaling buffer in vpxdec to prevent a memory leak. Change-Id: Ied04bdcdfd77469731408c05da205db1a6f89bf5
-
- 19 Nov, 2013 - 2 commits
-
-
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
-
Tom Finegan authored
Change-Id: I6ea460af884d522319735e4416a2dd66c2f35d27
-
- 16 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
Refactored IVF frame reading code out into ivf_read_frame(). Forgot to actually make the function call in read_frame(). Change-Id: Ie9f6917e70bd26d0352a761932465c60a29a1f81
-
- 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
-
- 11 Nov, 2013 - 1 commit
-
-
Tom Finegan authored
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
-
- 06 Nov, 2013 - 1 commit
-
-
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
-
- 24 Oct, 2013 - 1 commit
-
-
Frank Galligan authored
If the webm file did not have a Cues then vpxdec would fail when creating a y4m file. If there is no Cues element print out a warning and set fps to 30. Change-Id: Ieea7040265dfdac7dff4ccf917c6f756160a96bc
-
- 12 Jun, 2013 - 1 commit
-
-
John Koleszar authored
Allows vpxdec to operate multiple times on the same input. Mostly useful for debugging/development. Change-Id: Icf25ece22e387052eade4438971eee5ff4f798ba
-
- 10 Jun, 2013 - 1 commit
-
-
John Koleszar authored
If the codec fails to return a frame on the second frame (as in a VP8 alt-ref, then img will be a null pointer and dereferencing it while trying to write the color format (again) will crash. Change-Id: Ie48710d4c5715f532d453c879c71c20ccdeb81cc
-
- 07 Jun, 2013 - 1 commit
-
-
Scott LaVarnway authored
to work like vpxenc. This is required for the frame-based multithreading. Change-Id: I338ae9c7d52b0541f3536cc033d6b89f00866e74
-
- 10 May, 2013 - 1 commit
-
-
John Koleszar authored
Make framebuffer allocations according to the chroma subsamping factors in use. A bit is placed in the raw part of the frame header for each of the two subsampling factors. This will be moved in a future commit to make them part of the TBD feature set bits, probably only set on keyframes, etc. Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
-
- 30 Apr, 2013 - 1 commit
-
-
Jim Bankoski authored
Change-Id: Ia16f167d904d53bc38cb3a8c841c6c52daad500f (cherry picked from commit 296421d8) reverts: dbd050c5 vpxdec: correct VP[89] fourccs
-
- 29 Apr, 2013 - 1 commit
-
-
Jim Bankoski authored
Change-Id: Ia16f167d904d53bc38cb3a8c841c6c52daad500f
-
- 18 Apr, 2013 - 1 commit
-
-
James Zern authored
should have no effect as they are used in nestegg mappings, but aligns the defines with vpxenc.c Change-Id: Ic2295cd63701894c2963274239602b54cbb58631
-
- 14 Mar, 2013 - 1 commit
-
-
John Koleszar authored
Updates the YV12_BUFFER_CONFIG structure to be crop-aware. The exiting width/height parameters are left unchanged, storing the width and height algined to a 16 byte boundary. The cropped dimensions are added as new fields. This fixes a nasty visual pulse when switching between scaled and unscaled frame dimensions due to a mismatch between the scaling ratio and the 16-byte aligned sizes. Change-Id: Id4a3f6aea6b9b9ae38bdfa1b87b7eb2cfcdd57b6
-
- 11 Mar, 2013 - 1 commit
-
-
John Koleszar authored
This fixes a potential crash with VP8 streams that have an alt-ref on the first frame, as well as potentially scaling the output in cases where that wasn't desired. Change-Id: I1fd74b5ab43329fbbffecb004dfd44de34c4dc22
-
- 04 Mar, 2013 - 1 commit
-
-
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
-
- 27 Feb, 2013 - 1 commit
-
-
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
-
- 15 Nov, 2012 - 2 commits
-
-
John Koleszar authored
Tags VP9 tracks with the V_VP9 video type when writing to .webm files, and supports decoding both from vpxdec without specifying --codec. Change-Id: I0ef61dee06f4db2a74032b142a4b4976c51faf6e
-
John Koleszar authored
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
-
- 06 Nov, 2012 - 1 commit
-
-
John Koleszar authored
Change-Id: I69fd876dd51eb2b4a4a449faa5922225e9508b42
-
- 01 Nov, 2012 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
-
- 11 Oct, 2012 - 1 commit
-
-
Yaowu Xu authored
Change-Id: Id7d1f25078be92dd6cda246738ad6fb50579f555
-
- 19 Sep, 2012 - 1 commit
-
-
Scott LaVarnway authored
This change is necessary for the frame-based multithreading implementation. Since the postproc occurs in this call, vpxdec was modified to time around vpx_codec_get_frame() Change-Id: I389acf78b6003cd35e41becc16c893f7d3028523
-
- 20 Aug, 2012 - 1 commit
-
-
Yaowu Xu authored
Change-Id: Iaa947e640f27e6f6eaf7d845f243536bca2df513
-
- 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
-
- 11 Jun, 2012 - 1 commit
-
-
John Koleszar authored
Allows building the library with the gcc -pedantic option, for improved portabilty. In particular, this commit removes usage of C99/C++ style single-line comments and dynamic struct initializers. This is a continuation of the work done in commit 97b766a4, which removed most of these warnings for decode only builds. Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966
-
- 04 Jun, 2012 - 1 commit
-
-
Johann authored
Using if(); triggers an empty body warning with clang Change-Id: I0fa2ee676400a974b40f8eaafca9ae668107eebb
-
- 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
-