- 14 Feb, 2014 - 1 commit
-
-
James Zern authored
+ remove commented out fields from YV12_BUFFER_CONFIG Change-Id: Ie4f25df9ccae07e7b8fd31599cb4164949cf6f8f
-
- 10 Feb, 2014 - 1 commit
-
-
Frank Galligan authored
This CL changes libvpx to call a function when a frame buffer is needed for decode. Libvpx will call a release callback when no other frames reference the frame buffer. This CL adds a default implementation of the frame buffer callbacks. Currently only VP9 is supported. A future CL will add support for applications to supply their own frame buffer callbacks. Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
-
- 24 Jan, 2014 - 1 commit
-
-
Frank Galligan authored
A future CL will add external frame buffers differently. Squash commit of four revert commits: Revert "Increase required number of external frame buffers" This reverts commit 9e41d569. Revert "Add external constants." This reverts commit bbf53047. Revert "Add frame buffer lru cache." This reverts commit fbada948. Conflicts: vpxdec.c Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005 Revert "Add support to pass in external frame buffers." This reverts commit 10f89169. Conflicts: test/external_frame_buffer_test.cc vp9/common/vp9_alloccommon.c vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/encoder/vp9_onyx_if.c vp9/vp9_dx_iface.c vpx/vpx_decoder.h vpx/vpx_external_frame_buffer.h vpx_scale/generic/yv12config.c vpxdec.c Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
-
- 21 Jan, 2014 - 1 commit
-
-
hkuang authored
Encoder's boarder is still 160, while decoder's boarder will be 32. With on demand and separate boarder buffer for boarder extension. The decoder's boarder does not need to to 160 anymore. Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
-
- 17 Dec, 2013 - 1 commit
-
-
James Zern authored
Change-Id: Ib8aafeee30d59521ee256dc1801e0db6b4b8a371
-
- 16 Dec, 2013 - 1 commit
-
-
Frank Galligan authored
VP9 decoder can now use frame buffers passed in by the application. Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
-
- 23 Aug, 2013 - 1 commit
-
-
James Zern authored
Change-Id: Idcfab16da37134f943a4314674e2e2fcbff3a0f8
-
- 16 Jul, 2013 - 2 commits
-
-
Yaowu Xu authored
This is a short term optimization till we work out a decoder implementation requiring no frame border extension. Change-Id: I02d15bfde4d926b50a4e58b393d8c4062d1be70f
-
Ronald S. Bultje authored
This is required because upon downscaling, if a motion vector points partially into the UMV (e.g. all minus 1 of 64+7 pixels, i.e. 70), then we can point up to 140 pixels into the larger-resolution (2x) reference buffer UMV, which means the UMV for reference buffers in downscaling needs to be 140 rounded up to the nearest multiple of 32, i.e. 160. Longer-term, we should probably handle the UMV differently by detecting edge coverage on-the-fly and using a temporary buffer for edge extensions instead of adding 160 pixels on all sides of the image (which means a CIF image uses 3x its own area size for borders). Change-Id: I5184443e6731cd6721fc6a5d430a53e7d91b4f7e
-
- 12 Jul, 2013 - 1 commit
-
-
James Zern authored
this was never fleshed out in the context of VP8, for which it was added. for VP9 it has no meaning. Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff
-
- 25 Jun, 2013 - 1 commit
-
-
Ronald S. Bultje authored
The part where we align it by 8 or 16 is an implementation detail that shouldn't matter to the outside world. Change-Id: I9edd6f08b51b31c839c0ea91f767640bccb08d53
-
- 15 May, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I8b2687138df636b2b78c8cc5156e3882b0009de0
-
- 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
-
-
John Koleszar authored
Ensures that the full 64 pixel border is available for prediction (need a minimum of 64+INTERP_EXTEND on all sides, and 32+INTERP_EXTEND on UV). Value also must be a multiple of 32 to keep UV stride alignment. The smaller border was causing the prediction to read outside the frame, which can cause a mismatch. TODO: Get rid of this explicit border and use edge emulation instead. Change-Id: I3f68453a088ec0ab4349d0f5cc02b573be06d7c4
-
- 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
-
- 08 Feb, 2013 - 1 commit
-
-
John Koleszar authored
As long as the new frame is smaller than the size that was originally allocated, we don't need to free and reallocate the memory allocated. Instead, do the allocation on the size of the first frame. We could make this passed in from the application instead, if we wanted to support external upscaling. Change-Id: I204d17a130728bbd91155bb4bd863a99bb99b038
-
- 18 Dec, 2012 - 1 commit
-
-
Ronald S. Bultje authored
For coefficients, use int16_t (instead of short); for pixel values in 16-bit intermediates, use uint16_t (instead of unsigned short); for all others, use uint8_t (instead of unsigned char). Change-Id: I3619cd9abf106c3742eccc2e2f5e89a62774f7da
-
- 02 Nov, 2012 - 2 commits
-
-
John Koleszar authored
Import changes made on the experimental branch in preparation for merging the two branches. Change-Id: I7b5b8fb4fca155cb1d72e7ba13eef18e6a94a298
-
John Koleszar authored
Update vpx_scale from current code in master, run style transform, fix lint warnings. Change-Id: I47eadeb5b6881d448ea3728537f9b8a5b5aac78e
-
- 31 Jul, 2012 - 1 commit
-
-
Deb Mukherjee authored
Merged the enhanced_interp experiment. Found and fixed a bug in the include files framework, whereby certain encoder files were still using the old INTERP_EXTEND value of 3 instead of 4. The thresholds for mv range mcomp.c need a small adjustment to prevent crashes. The results are more or less unchanged. Change-Id: Iac5008390f1efc97ce1102fbb5f8989c847fb579
-
- 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
-
- 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: * T...
-
- 30 Jan, 2012 - 1 commit
-
-
John Koleszar authored
This is the final commit in the series converting to the new RTCD system. It removes the encoder csystemdependent files and the remaining global function pointers that didn't conform to the old RTCD system. Change-Id: I9649706f1bb89f0cbf431ab0e3e7552d37be4d8e
-
- 26 Jan, 2012 - 1 commit
-
-
Deb Mukherjee authored
using an 8-tap filter. The results with 3 different 8-tap filters on the derf set are in: http://www.corp.google.com/~debargha/vp8_results/enhinterp.html The one that gives the most gain achieves an overall gain of about 0.6%. The results for a set of 12 hd (720p) videos are in: http://www.corp.google.com/~debargha/vp8_results/enhinterp_hd.html with max gain of 0.55% with the same filter. The best filter apparently achieves the best trade-off between pass band ripple and stop band attenuation. Change-Id: I919e28ae245c0493147fa0864f8c9d048a9dd530
-
- 20 Apr, 2011 - 1 commit
-
-
Attila Nagy authored
Golden and ALT reference buffers were refreshed by copying from the new buffer. Replaced this by index manipulation. Also moved all the reference frame updates to one function for easier tracking. Change-Id: Icd3e534e7e2c8c5567168d222e6a64a96aae24a1
-
- 18 Mar, 2011 - 1 commit
-
-
John Koleszar authored
A large number of functions were defined with external linkage, even though they were only used from within one file. This patch changes their linkage to static and removes the vp8_ prefix from their names, which should make it more obvious to the reader that the function is contained within the current translation unit. Functions that were not referenced were removed. These symbols were identified by: $ nm -A libvpx.a | sort -k3 | uniq -c -f2 | grep ' [A-Z] ' \ | sort | grep '^ *1 ' Change-Id: I59609f58ab65312012c047036ae1e0634f795779
-
- 19 Jan, 2011 - 1 commit
-
-
Henrik Lundin authored
A new vpx_codec_control called VP8D_GET_FRAME_CORRUPTED. The output from the function is non-zero if the last decoded frame contains corruption due to packet losses. The decoder is also modified to accept encoded frames of zero length. A zero length frame indicates to the decoder that one or more frames have been completely lost. This will mark the last decoded reference buffer as corrupted. The data pointer can be NULL if the length is zero. Change-Id: Ic5902c785a281c6e05329deea958554b7a6c75ce
-
- 28 Oct, 2010 - 2 commits
-
-
Timothy B. Terriberry authored
This eliminates a large set of warnings exposed by the Mozilla build system (Use of C++ comments in ISO C90 source, commas at the end of enum lists, a couple incomplete initializers, and signed/unsigned comparisons). It also eliminates many (but not all) of the warnings expose by newer GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite without checking the return values). There are a few spurious warnings left on my system: ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used uninitialized in this function gcc seems to be unable to figure out that the value shortcut doesn't change between the two if blocks that test it here. ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned expression >= 0 is always true ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned expression >= 0 is always true This is true, so far as it goes, but it's comparing against an enum, and the C standard does not mandate that enums be unsigned, so the checks can't be removed. Change-Id: Iead6cd561a2afaa3d801fd63f1d8d58953da7426
-
Timothy B. Terriberry authored
This eliminates a large set of warnings exposed by the Mozilla build system (Use of C++ comments in ISO C90 source, commas at the end of enum lists, a couple incomplete initializers, and signed/unsigned comparisons). It also eliminates many (but not all) of the warnings expose by newer GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite without checking the return values). There are a few spurious warnings left on my system: ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used uninitialized in this function gcc seems to be unable to figure out that the value shortcut doesn't change between the two if blocks that test it here. ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned expression >= 0 is always true ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned expression >= 0 is always true This is true, so far as it goes, but it's comparing against an enum, and the C standard does not mandate that enums be unsigned, so the checks can't be removed. Change-Id: Iaf689ae3e3d0ddc5ade00faa474debe73b8d3395
-
- 09 Sep, 2010 - 1 commit
-
-
John Koleszar authored
Changes 'The VP8 project' to 'The WebM project', for consistency with other webmproject.org repositories. Fixes issue #97. Change-Id: I37c13ed5fbdb9d334ceef71c6350e9febed9bbba
-
- 18 Jun, 2010 - 1 commit
-
-
John Koleszar authored
When the license headers were updated, they accidentally contained trailing whitespace, so unfortunately we have to touch all the files again. Change-Id: I236c05fade06589e417179c0444cb39b09e4200d
-
- 04 Jun, 2010 - 1 commit
-
-
John Koleszar authored
Change-Id: Ieebea089095d9073b3a94932791099f614ce120c
-
- 18 May, 2010 - 1 commit
-
-
John Koleszar authored
-