- Nov 22, 2013
-
-
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
-
- Nov 19, 2013
-
-
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
-
- Nov 16, 2013
-
-
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
-
- Nov 15, 2013
-
-
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
-
- Nov 11, 2013
-
-
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
-
- Nov 06, 2013
-
-
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
-
- Oct 24, 2013
-
-
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
-
- Jun 12, 2013
-
-
John Koleszar authored
Allows vpxdec to operate multiple times on the same input. Mostly useful for debugging/development. Change-Id: Icf25ece22e387052eade4438971eee5ff4f798ba
-
- Jun 10, 2013
-
-
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
-
- Jun 07, 2013
-
-
Scott LaVarnway authored
to work like vpxenc. This is required for the frame-based multithreading. Change-Id: I338ae9c7d52b0541f3536cc033d6b89f00866e74
-
- May 10, 2013
-
-
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
-
- Apr 30, 2013
- Apr 29, 2013
-
-
Jim Bankoski authored
Change-Id: Ia16f167d904d53bc38cb3a8c841c6c52daad500f
-
- Apr 18, 2013
-
-
James Zern authored
should have no effect as they are used in nestegg mappings, but aligns the defines with vpxenc.c Change-Id: Ic2295cd63701894c2963274239602b54cbb58631
-
- Mar 14, 2013
-
-
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
-
- Mar 11, 2013
-
-
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
-
- Mar 04, 2013
-
-
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
-
- Feb 27, 2013
-
-
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
-
- Nov 15, 2012
-
-
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
-
- Nov 06, 2012
-
-
John Koleszar authored
Change-Id: I69fd876dd51eb2b4a4a449faa5922225e9508b42
-
- Nov 01, 2012
-
-
Ronald S. Bultje authored
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
-
- Oct 11, 2012
-
-
Yaowu Xu authored
Change-Id: Id7d1f25078be92dd6cda246738ad6fb50579f555
-
- Sep 19, 2012
-
-
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
-
- Aug 20, 2012
-
-
Yaowu Xu authored
Change-Id: Iaa947e640f27e6f6eaf7d845f243536bca2df513
-
- Jul 23, 2012
-
-
Jim Bankoski authored
Change-Id: I74e50b4dfbe73eb98e1dce1695a9973f637220c0
-
- Jul 17, 2012
-
-
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
-
- Jun 11, 2012
-
-
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
-
- Jun 04, 2012
-
-
Johann Koenig authored
Using if(); triggers an empty body warning with clang Change-Id: I0fa2ee676400a974b40f8eaafca9ae668107eebb
-
- Mar 15, 2012
-
-
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
-
- Feb 15, 2012
-
-
Paul Wilkins authored
Remove error concealment code. Change-Id: I882705174fbfea212e96f7f684e47a671dbe5c67
-
- Jan 05, 2012
-
-
Deb Mukherjee authored
Adds a multiframe postprocessing module to enhance the quality of certain frames that are coded at lower quality than preceding frames. The module can be invoked from the commandline by use of the --mfqe option, and will be most beneficial for enhancing the quality of frames decoded using scalable patterns. Uses the vp8_variance_var16x16 and vp8_variance_sad16x16 function pointers to compute SAD and Variance of blocks. Change-Id: Id73d2a6e3572d07f9f8e36bbce00a4fc5ffd8961
-
- Nov 10, 2011
-
-
James Zern authored
Correct ifdef check for Visual Studio's compiler, mingw builds can use unistd.h. Change-Id: I25c5ee46ef75ffbff03f560293dfb3d6bed55f70
-
- Sep 22, 2011
-
-
James Berry authored
For partial droped frames using *buf_sz could incorrectly terminate a decode. Change-Id: Id4a1166fa9ae6c0aa7e9f214bfa4c0be0ea82c1c
-
- May 19, 2011
-
-
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
-
- May 09, 2011
-
-
Johann Koenig authored
Change-Id: I9467d7a50eac32d8e8f3a2f26db818e47c93c94b
-
- Apr 27, 2011
-
-
John Koleszar authored
This change simply exercises the VP8D_GET_FRAME_CORRUPTED control, outputting a warning message at the end if the bit was set for any frames. Should never produce any output for good input. Change-Id: Idaf6ba8f53660f47763cd563fa1485938580a37d
-
- Jan 28, 2011
-
-
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
-