summaryrefslogtreecommitdiff
path: root/vpx_scale
AgeCommit message (Collapse)Author
2015-04-15Reorganize *_rtcd() calling conventionsJohann
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
2015-04-14Remove unused scaleopt.cppJohann
Change-Id: Ibaeede61c128c73809332b9a853cd62b8d6d5325
2015-03-18Remove last remnants of obj_int_extractJohann
Change-Id: Icc7da6027763b5ed7cbfe70ffe271103ead59fe1
2015-02-06Prevent VP8 encoding crashYaowu Xu
This commit changes the value of highbitdepth flag to avoid conflict with vp8 refresh_last_frame flag. Change-Id: Idcff2cf44f0a200bd935b326f785c0cf32d7228a
2015-02-06Correct the miscalculation in uv dimensionsYaowu Xu
The calculation of required extension used in HBD case was wrong due to rounding for UV when y dimension is odd. This commit replace the computation with correct version. This fixes a crash caused by writting beyond buffer boundary. Change-Id: Ic7c9afeb7388cd1341ec4974a611dacfb74ac6b6
2015-01-13Enable decoder to pass through color space infoYaowu Xu
This commit added a field to vpx_image_t for indicating color space, the field is also added to YUV_BUFFER_CONFIG. This allows the color space information pass through the decoder from input stream to the output buffer. The commit also updated compare_img() function with added verification of matching color space to ensure the color space information to be correctly passed from encode to decoder in compressed vp9 streams. Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
2014-12-15Revert "Revert "Add support for setting byte alignment.""Frank Galligan
This reverts commit 91471d6aad285ff10e7582e485d8adadd1986fe2. Fixes the compile issues if post_proc is enabled. Change-Id: Ib40a15ce2c194f9b5adfa65a17ab01ddf60f5a59
2014-12-15Revert "Add support for setting byte alignment."Paul Wilkins
Fails to compile. Bad calls to vp9_alloc_frame_buffer and vp9_realloc_frame_buffer in postproc.c This reverts commit 399823b6f50fb7465f62822d1395e2192e7b07fc. Change-Id: I29f0e173f8e185d3a303cfdb17813e1eccb51e3a
2014-12-12Add support for setting byte alignment.Frank Galligan
Add support for setting byte alignment on the Y, U, and V plane of the reference buffers. The byte alignment must be a power of 2, from 32 to 1024. A value of 0 sets legacy alignment. Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
2014-12-05fix building with --disable-spatial-resamplingJames Zern
vpx_scale.c is only used by the vp8 encoder when spatial resampling is enabled. Change-Id: If3d3ad81e9ee6e0b59f8c040b9624ef52598fe03
2014-11-06Remove asm offset dependenciesJohann
The obj_int_extract code is no longer worth maintaining. It creates significant issues when adapting for different build systems and no longer offers as significant of a performance benefit due to improvements in intrinsics. Source files will remain until the various third-party builds are updated. The neon fast quantizer has been moved to intrinsics. The armv6 version has been removed because so few remaining targets require it. Compilers and processors have improved significantly since the pack_tokens code was written. The assembly is no longer faster than the C code. pack_tokens were the only optimizations for the armv5te targets so the targets will be removed after the test infrastructure has been updated. BUG=710 Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
2014-10-11yv12config: fix highbitdepth buildJames Zern
Change-Id: Ie8a4caae19fb514d5bd22e0ae35ca0edcd3484ae
2014-10-02Fix subsampling check for images 1 pixel wide/tallAlex Converse
Change-Id: I0e262ede7eb4a4ae0c86181922d744e542e93350
2014-09-15Remove memset of every external frame buffer.Frank Galligan
Libvpx was memseting every external frame buffer before decode. This was to work around a valgrind issue in our C loop filter. Most of the time this was not needed and we have noticed some significant performance loss on some platforms. Now we require the application to zero out the buffers if it is using external frame buffers. Change-Id: I7330d00a315e65137ed30edd5f813e8929b76242
2014-09-08BITSTREAM CLARIFICATION: Forbid referencing across color spaces.Alex Converse
Check image format of reference frames. Change-Id: I7d8d7f097ba547839ff9cec3880bd15a4948ee06
2014-09-02Adds config opt for highbitdepth + misc. vpxDeb Mukherjee
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles. Also includes most vpx level high bit-depth functions. However encode/decode in the highbitdepth profiles will not work until the rest of the code is in place. Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
2014-07-25Remove copy frame neonJohann
No performance benefit Change-Id: I7f0cfa98ac2bb5b823d0972827b45f32cd3f6b4c
2014-07-25Remove unused copy src frame functionJohann
Change-Id: I03798e387a656473b6ec004246e2b882c8c6bb84
2014-07-24Remove neon version of vp8 extend bordersJohann
The code fails the unit test. Speed comparisons to the C are invalid because the code frequently didn't correctly extend the right and bottom portions of the frame. Reduce maximum frame size on ARM devices to avoid OOM Change-Id: Ia664c86406f0bb8120fd7ad401f32d0bd44994fb
2014-07-24Set and use uv_crop_[width|height]Johann
Ensure consistent border extension by rounding uv_crop_* at image creation time. Where it was rounded problems could arise with the right and bottom extensions. When padding = 32, y_width = 64, and y_crop_width = 63: (padding + width - crop_width + 1) / 2 32 + 64 - 63 + 1 should equal 32 *but* 32 + 1 + 1 equals 34 giving a right buffer of 17 instead of 16. By calculating uv_crop_* earlier we round up at the appropriate time and for the same values: (y_crop_width + 1) / 2 63 + 1 / 2 64 (padding / 2) + uv_width - uv_crop_width 16 + 16 - 16 16 Change-Id: If866cd1b63444771440edb1432280ac83875969b
2014-07-18Fix visual studio build failureYunqing Wang
Cast frame_size to be int for now to fix build warnings. Change-Id: I411ba2b1fd429a383c8f6e832b4fa4147914c824
2014-07-17fail allocation of buffers if size_t < frame_sizeJim Bankoski
Change-Id: I25c595e8c197ab0a9955d2373f1a74d42fbd1638
2014-06-11Add non420 support to vp9_extend_frame_borders.Alex Converse
Fixes an encoder/decoder mismatch problem. Change-Id: I573b3a2b7ba2171a1a380ff201b082b084e7ade1
2014-05-12Only build neon assembly for armv7 targetsJohann
Allow selectively building just the intrinsics for armv8 Change-Id: I2f29b2e4508b8b8e5649c2906b3159ad1d4ec477
2014-04-24Remove test against NULL before freeing memoryAdrian Grange
Change-Id: I6ce6395b74019345c8b7242d874761f981ad53af
2014-03-14Remove the vp8_vpxyv12_copy_y_neon.hkuang
vp8_vpxyv12_copy_y_neon is slower than vp8_vpxyv12_copy_y_c. Change-Id: I7ba860619dc0714d700f232242ce915620461587
2014-03-07Disable the neon version vpx_yv12_copy_y.hkuang
For some dimensions, neon code ends up in a dead loop inside. This will fix the unit test failure in svc_test on ARM. Change-Id: Ie6098bfaefd86bcf3616a3d0c2c3ff0b154222b5
2014-03-03build: convert rtcd.sh to perlJames Zern
significantly speeds up file generation. the goal of this change is to convert rtcd.sh to perl as directly as possible to allow for simple comparison. future changes can make it more perl-like. --- Linux [CREATE] vpx_scale_rtcd.h real 0m0.485s -> 0m0.022s [CREATE] vp8_rtcd.h real 0m4.619s -> 0m0.060s [CREATE] vp9_rtcd.h real 0m10.102s -> 0m0.087s Windows [CREATE] vpx_scale_rtcd.h real 0m8.360s -> 0m0.080s [CREATE] vp8_rtcd.h real 1m8.083s -> 0m0.160s [CREATE] vp9_rtcd.h real 2m6.489s -> 0m0.233s Change-Id: Idfb71188206c91237d6a3c3a81dfe00d103f11ee
2014-02-28Fix unused parameters in vp9_extend_frame_bordersYaowu Xu
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
2014-02-27vpx_scale_rtcd.sh: fix conditionalJames Zern
previously the scale functions would always be include regardless of the CONFIG_SPATIAL_RESAMPLING setting. Change-Id: Ifbccf47b20689b5dd61bb3ddccd5c013297b4e05
2014-02-13cosmetics: yv12config.h: remove extra indentJames Zern
+ remove commented out fields from YV12_BUFFER_CONFIG Change-Id: Ie4f25df9ccae07e7b8fd31599cb4164949cf6f8f
2014-02-13Adding explicit casts in yv12config.c.Dmitry Kovalev
This patch fixes c++ compiler errors. Change-Id: I4d4b5af3bdaada101d753f3bc19819f5252b4e44
2014-02-10Add get release decoder frame buffer functions.Frank Galligan
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
2014-01-24Revert external frame buffer code.Frank Galligan
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 9e41d569d7c84dd9ca8f0047c15377a883945685. Revert "Add external constants." This reverts commit bbf53047b03106e3c2e24b28cb836cc838db5ee8. Revert "Add frame buffer lru cache." This reverts commit fbada948fa345e67acf9aa41a8f9a78f5dfe8648. Conflicts: vpxdec.c Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005 Revert "Add support to pass in external frame buffers." This reverts commit 10f891696bc4c972c13cc9fde2c53470501a03e2. 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
2014-01-21Seperate the border size for encoder and decoder.hkuang
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
2014-01-13mips dsp-ase r2 vp9 decoder fixed bug in extend frame module (seg fault)Parag Salasakar
Change-Id: Ic46da8897d2fb5351e22d6d74805fd9d78c81b32
2014-01-10Fix Issue #679: vp9 C loop filter produces valgrind warning.hkuang
Fix the valgrind error due to access uninitialized memory in loopfilter. Change-Id: I52fccf5ede845ee1f4c13d3bd909b8f220c0bdff
2013-12-16{,vpx_scale}: normalize include guardsJames Zern
Change-Id: Ib8aafeee30d59521ee256dc1801e0db6b4b8a371
2013-12-16Avoid mixed comparisonJohann
Silences warning C4018: '>' : signed/unsigned mismatch Change-Id: I07d34060043e8ada7d995ea6dc8276cb881c7d95
2013-12-15Add support to pass in external frame buffers.Frank Galligan
VP9 decoder can now use frame buffers passed in by the application. Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
2013-11-22Fix bug in extend_frame chroma extended too farAdrian Grange
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
2013-11-14fix scalling bug by buffer auto-reallocationAdrian Grange
Change-Id: Ib748eb287520c794631697204da6ebe19523ce95
2013-09-29mips dsp-ase r2 vp9 decoder extend module optimizationsJim Bankoski
Adopted again to shepherd through system. Change-Id: If1b742618a95a2198ae2e30eec4b53ad1f7353e5
2013-08-24cosmetics: yv12extend add some constJames Zern
Change-Id: I87f1ce2ceca80d3869dd72ba862329a98eb3e0c2
2013-08-23yv12extend: name variables consistentlyJames Zern
- s|source -> src - dest -> dst - use verbose names in extend_plane dropping the redundant comments + light cosmetics: - join a few lines / assignments - drop some unnecessary comments & includes Change-Id: I6d979a85a0223a0a79a22f79a6d9c7512fd04532
2013-08-22vpx_scale: correct pixel spellingJames Zern
Change-Id: Idcfab16da37134f943a4314674e2e2fcbff3a0f8
2013-08-16Fixed typos and formattingAdrian Grange
Change-Id: I3814984a624bc64147c57efa74fbdda8eda47262
2013-08-09renamed vp8_yv12_copy_y to vpx_yv12_copy_yYaowu Xu
Becuase the routine is used by both vp8 and vp9 Change-Id: I2d35b287b5bc2394865d931a27da61f4ce7edeeb
2013-07-30Cleanup typos, remove unnecessary lines, replace switchAdrian Grange
Removed unnecessary code lines, replaced switch with an if, fixed spelling errors and formatting. Change-Id: Ie48aa4604aa0ed48362ca359d792fb21b2ec1dc6
2013-07-16added missed replacementYaowu Xu
Change-Id: I2bce6f381fef0729b4dd5eb09ccb609f2eddd7ef