summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-07Merge "Unify GOP structure layout setup"Jingning Han
2018-11-07Merge "Modified key frame detection."Paul Wilkins
2018-11-07Unify GOP structure layout setupJingning Han
Refactor define_gf_group_structure() to unify the single-layer, multi-layer ARF, and GF only GOP structure setup. Change-Id: Iebbe9c3742fc58ae4e77b1072ebecb3ee7bd26b2
2018-11-07Merge "vp8: remove VP8_ENTROPY_STATS code"Johann Koenig
2018-11-07Merge "vp9: postencode drop frame for screen content in CBR."Jerome Jiang
2018-11-06Merge "vp9 screen-content: Adjustments for screen content."Marco Paniconi
2018-11-06vp9: postencode drop frame for screen content in CBR.Jerome Jiang
Encode the next frame at max q. For layers: post_encode_drop is only check on base spatial layer, and if base is post-encoded-dropped, then whole superframe is dropped. Added API to guard postencode dropping. Turned off by default. Added unittest. BUG=b/112990050 Change-Id: I42fee279014aca616f7a4d9b582cb2bf5da2f2e7
2018-11-06Merge "vp8: Increase rate correction threshold for drop-overshoot"Marco Paniconi
2018-11-06Merge "Refactor Hadamard tests and add highbd tests"Sai Deng
2018-11-06vp9 screen-content: Adjustments for screen content.Marco Paniconi
Increase search area, use NSTEP, and in some cases avoid bsize below 16x16. This for base spatial layer when many blocks in the frame have motion (from scene detection analysis). Improves quality for scrolling motion. Change-Id: If77b43e738a6c43610d4727a95712667088db564
2018-11-06Merge "vp8 dec: only compute ref frame buffer pointer for non intra"Jerome Jiang
2018-11-06Refactor Hadamard tests and add highbd testssdeng
Change-Id: I306083f233e53884ac21fb4621066713edddc8f7
2018-11-06Merge "Track maximum layer depth in a GOP"Jingning Han
2018-11-06Merge "Fix gf_group->frame_end assignment"Jingning Han
2018-11-06Merge "Refactor define_gf_group_structure()"Jingning Han
2018-11-06Merge "Remove redundant assignments in define_gf_group_structure()"Jingning Han
2018-11-06Merge "Refactor find_arf_order()"Jingning Han
2018-11-06Modified key frame detection.Paul Wilkins
Address poor key frame detection in some content. This patch improves on poor key frame / scene cut detection observed with some test content. The content in question was letter boxed film style material and also had quite low contrast. For both 1080P and 4K multiple genuine scene cuts were being missed. The changes alter the conditions for marking a transition as a "flash" rather than a scene change. The new code still deals well with genuine flashes as observed in the "crew" test clip, without falsely flagging some of the the scene cuts in the "film" test clip. The new film test clip also had some "flash" frames caused by a lightning effect and in one case a flash occurred right before a scene change. This caused a misplacement of the key frame but has been addressed by a new clause that requires the coded error for the next frame after a candidate key frame to be lower than the current frame. The patch also changes the way in which neutral blocks (similar inter and inter error) are handled in the candidate key frame decision in a way which hopefully handles the letter boxed format better. During wider testing some film clips still had missed key frames but this patch does improve things. In the case of the initial test clip the encoder correctly marks all 3 scene cuts vs 0 before the patch. Testing with our standard (mainly short single kf) derf and NF test clips is neutral. Change-Id: I3b7dcfe7b2fb13fd0816ea46acc3e69c8bc581b3
2018-11-06Merge "vpx_codec_enc_config_default: disable 'usage'"Johann Koenig
2018-11-05vp8 dec: only compute ref frame buffer pointer for non intraJerome Jiang
When ref frame is INTRA_FRAME, pre buffer shouldn't be used. This CL copies behavior in single thread. That should apply to multithreading case too. BUG=webm:1496 Change-Id: Ibe9ab8ea9dc664151fa7ebac529d5fd1a481b4a3
2018-11-05Track maximum layer depth in a GOPJingning Han
Track the effective maximum layer depth in a given group of pictures. Keep it in the GF_GROUP data structure. Change-Id: If777c4e0f4a871c7226a91e3871f445e92f18b24
2018-11-05Fix gf_group->frame_end assignmentJingning Han
The previous value was set off by 1. Use the correct value. Change-Id: I1ce53cc99063ce31e7ab1c43c6e444cb9a1972db
2018-11-05Refactor define_gf_group_structure()Jingning Han
Make it a standalone operation unit. Refactor to cut off unnecessary dependency between define_gf_group_structure() and allocate_gf_group_bits(). Change-Id: I954fd4e96152471a994f2ffd38a72061ab517ddd
2018-11-05Merge changes I774a0711,I0b4fd670,Ia09935e5Johann Koenig
* changes: Fix compilation on OS/2 Use wcslen() instead of std::wcslen() Fix compilation on OS/2
2018-11-05Merge "clang-tidy: fix vpx_dsp parameters"Johann Koenig
2018-11-05vpx_codec_enc_config_default: disable 'usage'Johann
Found with clang-tidy. This value is unused in libvpx. There is an existing test which ensures this is not used: test/encode_api_test.cc: EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_enc_config_default(kCodecs[i], &cfg, 1)); Change-Id: I94bd0663c6652b4267204c02c3921972c854d0b0
2018-11-05Remove redundant assignments in define_gf_group_structure()Jingning Han
The functionality has been covered in the above set_gf_overlay_frame_type() call. Change-Id: Id4049cd9a1a5a9bad7ea62c412fcb557afa9a572
2018-11-05clang-tidy: fix vpx_img_wrap alignJohann
This function specifically only aligns the stride and not the base buffer like vpx_img_alloc does. BUG=webm:1444 Change-Id: I3092827eeec3c9e16306a3973534d3a362a337e8
2018-11-05Refactor find_arf_order()Jingning Han
Make the maximum layer depth allowed a control parameter in GF_GROUP. No coding stats would change. Change-Id: I9d17167da322831e7013d761980e1c16375a161b
2018-11-05vp8: Increase rate correction threshold for drop-overshootMarco Paniconi
For 1 pass cbr encoding mode, with frame-dropping on: increase the rate correction threshold for drop-overshoot detection, to better capture cases of large overshoot. Change-Id: I1153b1b71cf106749dd985074d6bc8f37d163c7e
2018-11-02Merge "vpx postproc: rewrite in intrinsics"Johann Koenig
2018-11-02Merge "Add highbd Hadamard transform C implementations"Sai Deng
2018-11-02Merge "fix snprintf error on windows"Johann Koenig
2018-11-02Merge "clang-tidy: normalize variance functions"Johann Koenig
2018-11-02fix snprintf error on windowsJohann
Include vpx_ports/msvc.h to handle snprintf on older versions of Visual Studio Change-Id: I06cd99b32bbae82b3df079d41ff20a9a07f6fe1c
2018-11-01vp8: remove VP8_ENTROPY_STATS codeJohann
Does not compile. Noticed while cleaning up un-namespaced functions Change-Id: I4a9048e66d051397f652e7b5412606a5e234f61f
2018-11-01Add highbd Hadamard transform C implementationssdeng
Change-Id: Ibec078c80ca1dfe6fbbc4288db89d719dac453a7
2018-11-01clang-tidy: fix vpx_dsp parametersJohann
BUG=webm:1444 Change-Id: Iee19be068afc6c81396c79218a89c469d2e66207
2018-10-31Merge "vp8 boolcoder: normalize to "bc""Johann Koenig
2018-10-31Merge "vp8: fix to address overflow in decoder."Jerome Jiang
2018-10-31Merge "vp8dx_get_quantizer: normalize VP8D_COMP"Johann Koenig
2018-10-31clang-tidy: normalize variance functionsJohann
Always use src/ref and _ptr/_stride suffixes. Normalize to [xy]_offset and second_pred. Drop some stray source/recon_strides. BUG=webm:1444 Change-Id: I32362a50988eb84464ab78686348610ea40e5c80
2018-10-31Merge "clang-tidy: fix vp9/encoder parameters"Johann Koenig
2018-10-31Merge "clang-tidy: fix vp9/decoder parameters"Johann Koenig
2018-10-31Merge "clang-tidy: fix vp9/common parameters"Johann Koenig
2018-10-31Merge "clang-tidy: fix vp8/encoder parameters"Johann Koenig
2018-10-31vp8 boolcoder: normalize to "bc"Johann
"bc" maps to BOOL_CODER better than "br" Change-Id: Idefd03e79ccc1851a1b26f8206a159b0e5c5fb2d
2018-10-31Merge "clang-tidy: fix vp8/decoder parameters"Johann Koenig
2018-10-31vp8dx_get_quantizer: normalize VP8D_COMPJohann
Use "pbi" like the rest of the functions Change-Id: I5f3036b8f8361c30353be378d83455b83b82ac9f
2018-10-31Merge "Add SSE2 support for hbd 4-tap interpolation filter."Chi Yo Tsai