summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-06Fix settings for num of tiles in samples & tests.Jerome Jiang
The control is set by log2 of number of threads (such that the number of tiles is the same of number of threads). Thus it should be log2(num_threads) instead of (num_threads >> 1). Change-Id: I2ccec5557e660048dad3e561534e1c74fc8eec1f
2018-04-04Merge "vp9-svc: Fix in choose_partitioning for different scaling."Marco Paniconi
2018-04-04Merge "Fix to svc sample enocoder for visual studio build."Marco Paniconi
2018-04-03vp9-svc: Fix in choose_partitioning for different scaling.Marco Paniconi
In the SVC encoder LAST ref frame should be the last temporal reference at the same resolution. This is the case for the default/fixed patterns, but may not be the case for arbitrary pattern in flexible mode. Add check that the LAST reference frame has same resolution as the current frame. If the reference scale for LAST is different from current treat the current frame as key frame just for the purpose of superblock partitioning. This avoids potential segfault in vp9_int_pro_motion_estimation() for different scaled reference. Change-Id: I4276ff616de46cd4e12c73316f85ae313f170242
2018-04-03rm CONVERT_TO_SHORTPTR in vpx_highbd_comp_avg_predLinfeng Zhang
BUG=webm:1388 Change-Id: I1d0dd9af52a1461e3e2b2d60e8c4b6b74c3b90b0
2018-04-03Fix to svc sample enocoder for visual studio build.Marco Paniconi
Fix to sample encoder, for visual studio buid failure: conversion from 'uint64_t' to 'int'. Change-Id: I385ab8482e1ee97da9872437f8286d9071e38e0e
2018-04-02vp9-svc: Fix to svc sample encoder for write_out.Marco Paniconi
When writing out stream for spatial layer N, make sure to include all spatial layers up to N. Fixes an issue with the streams when frame dropping occurs. Change-Id: I1e20b7dac6b94dcda751043541dd8a12f7df6d8c
2018-04-02Merge "helper script for sanitizer testing"Johann Koenig
2018-04-02Merge changes I5704bd66,I4d548e97Linfeng Zhang
* changes: Shrink size of mode_map in struct TileDataEnc Update sad4d x86 functions
2018-03-31Merge "vp9_datarate_test: relax over shoot constraints"James Zern
2018-03-30Merge "VP9 SVC: Write bitstream for each spatial layer in sample."Jerome Jiang
2018-03-30vp9_datarate_test: relax over shoot constraintsJames Zern
in BasicRateTargetingVBRLagZero and BasicRateTargetingVBRLagNonZeroFrameParDecOff after: e0b28ad69 Add extra case to wq_err_divisor() BUG=webm:1512 Change-Id: Id181613cc191ff2a2281deffe141efb982501edf
2018-03-30VP9 SVC: Write bitstream for each spatial layer in sample.Jerome Jiang
Added control for denoiser in the sample SVC encoder. Change-Id: I8e62aa2fc13a943eb110cb33e419e912a898bbc7
2018-03-30Code cleanup for datarate tests.Jerome Jiang
Add/Remove static to functions. Name change. Change-Id: I5de3efc23cd151fe8e70fe67a7a11acfcfa707dc
2018-03-29Split datarate_test.cc to vp8, vp9, svc ones.Jerome Jiang
As we add more tests to datarate_test.cc, it's growing bigger and hard to find specific test. Split it to vp8, vp9 and svc ones. Change-Id: Ie8c302010cf304a95554bee19d87ddc90498d0fb
2018-03-29Merge "test: use testing::*tuple instead of std::tr1"James Zern
2018-03-29Merge "vp9-svc: Fix in pickmode for key frames."Marco Paniconi
2018-03-29Merge "VP9 SVC: Add enum type for framedrop_mode."Jerome Jiang
2018-03-29VP9 SVC: Add enum type for framedrop_mode.Jerome Jiang
Change-Id: I3d4697b00729553e0860762b9264e29b8a89b9d4
2018-03-29helper script for sanitizer testingJohann
source tools/set_analyzer_env.sh <sanitizer> will set the compiler, flag, and sanitizer variables necessary to build and run a variety of sanitizers. Change-Id: I5dd2ae947cb337d5ccf2a11e9fe87991bc8ba0c8
2018-03-29Merge "vp9: [loongson] optimize vpx_convolve8 with mmi."xiwei gu
2018-03-28vp9-svc: Fix in pickmode for key frames.Marco Paniconi
For the fixed/default SVC patterns, GOLDEN is the spatial reference, except on key frames, where LAST is labeled as the spatial reference. The current code was assuming GOLDEN is always the spatial reference for the purpose of selecting the subpel motion (due to the downsampling filter). Fix is make sure flag_svc_subpel is set and used with spatial_ref, which is labeled as the proper spatial reference before entering mode check. Some quality improvement on key frames. Change-Id: Id236bcd47055b035731cc910ed84449d7e29f50c
2018-03-28Merge "vp9-svc: Modify logic for frame dropping with spatial layers."Marco Paniconi
2018-03-28vp9-svc: Modify logic for frame dropping with spatial layers.Marco Paniconi
In the constrained framedrop mode for svc: modify the buffer check condition relative to (non-zero) dropmark to include uppper spatial layers, in addition to the current spatial layer. But keep the single layer check if the buffer goes below zero, since in this case (buffer underflow) we should force drop of that layer regardless of upper layers. Change-Id: Id277f0b4a3ae6275effdd5f5f0c80e3229c17424
2018-03-28Shrink size of mode_map in struct TileDataEncLinfeng Zhang
To reduce the memcpy() cycles in vp9_rd_pick_inter_mode_sb(). The maximum value of mode_map is (MAX_MODES - 1) = 29. Change-Id: I5704bd66838ea0b075f0afb001f5cbebfd3f1602
2018-03-28Update sad4d x86 functionsLinfeng Zhang
Speed change is marginal. Change-Id: I4d548e9763ce43bd546f19132202f7a8509a32bf
2018-03-28test: use testing::*tuple instead of std::tr1James Zern
googletest imports tuple into testing to allow for compatibility across c++ versions where tuple may be in std::tr1 or std. fixes deprecation warnings under visual studio 2017 Change-Id: Id78b372d5478b12d8c8f63fd3f2166fec25aa8be
2018-03-28Merge "Add speed test in SADx4Test"Linfeng Zhang
2018-03-28Add speed test in SADx4TestLinfeng Zhang
Change-Id: I42dd3df8c13c0a6d08ce28e27e8917b5d831fc1a
2018-03-28vp9: [loongson] optimize vpx_convolve8 with mmi.gxw
1. vpx_convolve8_vert_mmi 2. vpx_convolve8_horiz_mmi 3. vpx_convolve8_mmi 4. vpx_convolve8_avg_mmi 5. vpx_convolve8_avg_vert_mmi Change-Id: I41a6b3b4f327d6b67d282e0163cfa0aee8648abe
2018-03-28vp9-svc: Add check in datarate unittests for frame-dropping.Marco Paniconi
Add verfication for constrained svc framedrop mode: check that if a given spatial is dropped, all uppper layers must be dropped. Change-Id: I9b4821b23c95d1d9d0c031a41af19984647ec5dc
2018-03-27vp9-svc: Add logic to enable for constrained framedrop.Marco Paniconi
Add the logic for the constrained framdrop mode for SVC. Add test case in datarate unittests. Also lower target bitrates in the tests to better test frame dropper. Change-Id: I8ee1b8cb56d835c233ad1fbe0fc1456cb2e7291f
2018-03-27Merge "third_part/googletest: update to release-1.8.0-742-g7857975"Johann Koenig
2018-03-26vp9-svc: Allow for setting frame drop thresholds per layer.Marco Paniconi
Add encoder control to set the frame drop thresholds per spatial layer, and add a frame drop mode: 0 = per-layer drop, and 1 = constrained drop mode (a drop on a given layer forces drops to all upper layers). Default is mode 0 (per-layer dropping). Implementation for mode 1 will come in subsequent change. If the control is not used, then the spatial layer frame drop thresholds (water mark) are all equal and set to the value given by the encoder config (oxcf->drop_frames_water_mark). Bump up the ABI version. Change-Id: Id038d4181b86fa98b3d44d026f96d5f344d81629
2018-03-26third_part/googletest: update to release-1.8.0-742-g7857975Johann
Address std::tr1::tuple warnings: https://github.com/google/googletest/issues/1111 The unsigned overflow fix has been superseded by: https://github.com/google/googletest/pull/1180 Change-Id: I92dc0ba08a4d0d63f5e5b2da7b64f4a4642ed9ab
2018-03-26msvs build: only fix_file_list when it is brokenJohann
Clears a warning when generating VS project files with older versions of bash: declare: -n: invalid option Change-Id: Id0c0bc17dc5a1599f7d2d73e3cc9259a45540f3f
2018-03-24Merge "Adjustment to initial q range estimate and kf boost."Paul Wilkins
2018-03-23Merge "Restore emms usage on x86_64 after 726b021a12c1b"Martin Storsjö
2018-03-23Restore emms usage on x86_64 after 726b021a12c1bMartin Storsjo
Even on x86_64, emms has to be called if the x87 state has been clobbered - the calling code (either within libvpx or in a caller outside of libvpx) may be using the x87 instructions, even though use of them isn't all that common on x86_64. This fixes builds with clang for mingw/x86_64. Change-Id: I1f6072835590b862bad156f17331ba65c813ddd9
2018-03-23Merge "thumb: Remove a brittle, ugly and unused arm->thumb conversion"Martin Storsjö
2018-03-23Merge changes from topic "llvm-mingw"Martin Storsjö
* changes: configure: Add an arm64-win64-gcc target test: Check for ARCH_X86_64 in addition to _WIN64 configure: Add an armv7-win32-gcc target ads2gas: Add a -noelf option
2018-03-23Revert "remove fldcw/fstcw from Win64 builds"Johann Koenig
This reverts commit 60a3cb9ad840377d46286bfd703c30a4a4ee56e2. Reason for revert: x87 instruction usage might not be as clear cut as I would like. At the very least, llvm mingw builds appear to having issues with emms. Original change's description: > remove fldcw/fstcw from Win64 builds > > _MCW_PC (Precision control) is not supported on x64: > https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/control87-controlfp-control87-2 > > The x87 FPU is not used on Win64 or ARM so setting the x87 control word > is not necessary. The SSE/SSE2 and ARM FPUs don't have a precision > control - the precision is embedded in each instruction - so the need to > set the control word is also gone. BUG=webm:1500 Change-Id: I25bcfa96bc9c860f6c7e03315d75fa6fd1d88ec5
2018-03-23Merge "remove fldcw/fstcw from Win64 builds"Johann Koenig
2018-03-23remove fldcw/fstcw from Win64 buildsJohann
_MCW_PC (Precision control) is not supported on x64: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/control87-controlfp-control87-2 The x87 FPU is not used on Win64 or ARM so setting the x87 control word is not necessary. The SSE/SSE2 and ARM FPUs don't have a precision control - the precision is embedded in each instruction - so the need to set the control word is also gone. BUG=webm:1500 Change-Id: I014513282a7dc320d1cdeaec48249d98a66bf09f
2018-03-23configure: Add an arm64-win64-gcc targetMartin Storsjo
This configuration doesn't require any extra custom settings, since it only uses neon intrinsics that are handled automatically by the compiler (no external assembly). Change-Id: I35415c68f483a430c0672e060a7bbd09a3469512
2018-03-23test: Check for ARCH_X86_64 in addition to _WIN64Martin Storsjo
_WIN64 is also defined when targeting windows on aarch64. Change-Id: I42b84e14079c19d0ba9362a06d8c6e7287644373
2018-03-23configure: Add an armv7-win32-gcc targetMartin Storsjo
This builds for windows on arm, with llvm-mingw. The target triplet is named -gcc since that's how similar existing targets are named, even though it technically runs clang (via frontends named "$CROSS-gcc"). Assemble using $CC -c since there's no standalone assembler available (except perhaps llvm-mc). Change-Id: I2c9a319730afef73f811bad79f488dcdc244ab0d
2018-03-23ads2gas: Add a -noelf optionMartin Storsjo
This allows skipping elf specific features from the output. Change-Id: I739299ba41286ca10415e056b4ffd561be5e0350
2018-03-23thumb: Remove a brittle, ugly and unused arm->thumb conversionMartin Storsjo
The relevant code that this conversion handled was removed in c26a9ecaa21f4. Change-Id: Iee40f95134e609c291c7c4e06bc50dcb895bc5e3
2018-03-23Merge changes Ied91c7ef,If2dcc6e2,Ib7397e71,Ib6392c79James Zern
* changes: Fix implicit-fallthrough warnings Fix dangling-else warnings Fix a strict-overflow warning Rename several static NEON iht functions