summaryrefslogtreecommitdiff
path: root/vpx_scale
AgeCommit message (Collapse)Author
2018-01-11adopt some clang 5.0.0 formattingJohann
At least the changes that don't conflict with 4.0.1 Change-Id: I9b6a7c14dadc0738cd0f628a10ece90fc7ee89fd
2017-12-14add copyright to rtcd filesJohann
Allows them to pass the license check in chromium. BUG=chromium:98319 Change-Id: Iefc1706152a549d8c4ae774c917596bf1c9492d8
2017-11-03fail early on oversize framesJohann
Even though frame_size is calculated in uint64_t, it winds up in an int size value. This was exposed with the msan test because the memset is called with (int)frame_size, leading to a segfault. Change-Id: I7fd930360dca274adb8f3e43e5e6785204808861
2017-05-26Fix vp8 race when build --enable-vp9-highbitdepth.Jerome Jiang
Split vp8/vp9 implementations on yv12_copy_frame_c. Remove high-bitdepth codes from vp8_yv12_extend_frame_borders_c. Clean up vp8 codes usage in vp9. BUG=webm:1435 Change-Id: Ic68e79e9d71e1b20ddfc451fb8dcf2447861236d
2016-07-26vpx_scale: apply clang-formatclang-format
Change-Id: Ia07ba57756f75911d3d06318e1f9b1982e1ca8c5
2016-06-17remove vp10James Zern
development has moved to the nextgenv2 branch and a snapshot from here was used to seed aomedia BUG=b/29457125 Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0
2016-05-19Revert "Extend the external fb interface to allocate individual planes."James Zern
This reverts commit 6dd7f2b50a65373aa906d678cb5a29fb65531a55. conversion warnings, crashes in 32-bit builds Change-Id: I529ead34cd93c862dd07c9a29d8542dda2fc20ea
2016-05-19Merge "Extend the external fb interface to allocate individual planes."Daniele Castagna
2016-05-18Extend the external fb interface to allocate individual planes.Daniele Castagna
Change-Id: I73e1b9ea6f4c76ae539e2b3292ee4c751d9c7de4
2016-05-03yv12extend: make memcpy_short_addr staticJames Zern
Change-Id: I58612bd04fad6144722569d3db2899ba0fb947a6
2016-02-02yv12config.c: remove dead CONFIG_ALPHA codeJames Zern
the rest was removed with: 5926e7c Remove unfinished VP9 alpha channel. Change-Id: I0c1d92765e5334e1380ad027b069b401e4ae9b8f
2015-11-02vpx_scale: fix the issue in msan test.jackychen
Do memset to fix msan issue due to the access of uninitialized memory. BUG=https://code.google.com/p/chromium/issues/detail?id=549155 Change-Id: I02f995ede79e3574e72587cc078df1a0d11af002
2015-10-16Add a new enum type vpx_color_range_tYaowu Xu
to make meaning of color_range obvious. Change-Id: I303582e448b82b3203b497e27b22601cc718dfff
2015-09-25vp9/10: improve support for render_width/height.Ronald S. Bultje
In the decoder, map this to the output variable vpx_image_t.r_w/h. This is intended as an improved version of VP9D_GET_DISPLAY_SIZE, which doesn't work with parallel frame decoding. In the encoder, map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE). Also add render_size to the encoder_param_get_to_decoder unit test. See issue 1030. Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
2015-09-16Add support for color-range.Ronald S. Bultje
In decoder, export (eventually) into vpx_image_t.range field. In encoder, use oxcf->color_range to set it (same way as for color_space). See issue 1059. Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
2015-08-15Merge "Change vp9_ prefix function names in vpx_scale to vpx_"Jingning Han
2015-08-14Change vp9_ prefix function names in vpx_scale to vpx_Jingning Han
Change-Id: Iac85902cbbb3e752801dc85de9a3c778e47304aa
2015-08-14Remove vp10's build dependency on vp9Yaowu Xu
CONFIG_VP9_HIGHBITDEPTH is currently used by both vp9 and vp10, but in many place outside vp9/vp10, the macro was used in conjunction of CONFIG_VP9. This created a dependency on vp9 for vp10 to build. This commit removes the dependency by use CONFIG_VP9_HIGHBITDEPTH only in these places. Change-Id: I8cc007fc9cf132394c6498ce6759e606b64a6ad0
2015-08-11Fork VP9 and VP10 codebaseJingning Han
This commit folks the VP9 and VP10 codebase and makes libvpx support VP8, VP9, and VP10. Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
2015-05-14vpx_scale: add missing rtcd + vpx_scale includesJames Zern
silences missing prototype warnings Change-Id: I33320f66c789b8c5c51d69f9dc0e017f9e06b0d0
2015-05-13Relocate memory operations for common codeJohann
With the sad functions, and hopefully the variance functions soon, moving to the vpx_dsp location, place the defines used in the reference C code in a common location. Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
2015-04-28vpx_mem: remove vpx_memsetJames Zern
vestigial. replace instances with memset() which they already were being defined to. Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
2015-04-28vpx_mem: remove vpx_memcpyJames Zern
vestigial. replace instances with memcpy() which they already were being defined to. Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
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