summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-20loongarch: Modify the representation of macrosyuanhecai
Some macros have been changed to "#define do {...} While (0)", change the rest to "static INLINE ..." Bug: webm:1755 Change-Id: I445ac0c543f12df38f086b479394b111058367d0
2022-05-19loongarch: Reduce the number of instructionsyuanhecai
Replace some redundant instructions to improve the efficiency of the program. 1. txfm_macros_lsx.h 2. vpx_convolve8_avg_lsx.c 3. vpx_convolve8_horiz_lsx.c 4. vpx_convolve8_lsx.c 5. vpx_convolve8_vert_lsx.c 6. vpx_convolve_copy_lsx.c 7. vpx_convolve_lsx.h Bug: webm:1755 Change-Id: I9b7fdf6900338a26f9b1775609ad387648684f3d
2022-05-18vp9[loongarch]: Optimize vpx_quantize_b/b_32x32yuanhecai
1. vpx_quantize_b_lsx 2. vpx_quantize_b_32x32_lsx Bug: webm:1755 Change-Id: I476c8677a2c2aed7248e088e62c3777c9bed2adb
2022-05-17vp8[loongarch]: Optimize vp8_sixtap_predict4x4yuanhecai
1. vp8_sixtap_predict4x4 Bug: webm:1755 Change-Id: If7d844496ef2cfe2252f2ef12bb7cded63ad03dd
2022-05-17vp8[loongarch]: Optimize fdct8x4/diamond_search_sadyuanhecai
1. vp8_short_fdct8x4_lsx 2. vp8_diamond_search_sad_lsx 3. vpx_sad8x8_lsx Bug: webm:1755 Change-Id: Ic9df84ead2d4fc07ec58e9730d6a12ac2b2d31c1
2022-05-17vp8[loongarch]: Optimize sub_pixel_variance8x8/16x16yuanhecai
1. vpx_sub_pixel_variance8x8_lsx 1. vpx_sub_pixel_variance16x16_lsx 2. vpx_mse16x16_lsx Bug: webm:1755 Change-Id: Iaedd8393c950c13042a0597d0d47b534a2723317
2022-05-17vp8[loongarch]: Optimize vp8 encoding partial functionHao Chen
1. vp8_short_fdct4x4 2. vp8_regular_quantize_b 3. vp8_block_error 4. vp8_mbblock_error 5. vpx_subtract_block Bug: webm:1755 Change-Id: I3dbfc7e3937af74090fc53fb4c9664e6cdda29ef
2022-05-15vp9-rtc: Fix to usage of active_maps when aq_mode=0Marco Paniconi
If aq_mode=0 the segmentation feature may still be used for active_maps, so the condition active_maps.enabled needs to be added in two places regarding segmentation logic in encodeframe.c. Otherwise the active_maps would have no effect. This also resolves why the assert in bug webm:1762 was not triggered when aq_mode=0. Change-Id: Ibd68e9b5c3f81728241a168d3fb3567d6845633d
2022-05-13Merge changes I7d68c7f2,If283fc08,I3b1e0a2c into mainJames Zern
* changes: vp9[loongarch]: Optimize avg_variance64x64/variance8x8 vp9[loongarch]: Optimize fdct4x4/8x8_lsx vp9[loongarch]: Optimize vpx_hadamard_16x16/8x8
2022-05-13vp9[loongarch]: Optimize avg_variance64x64/variance8x8yuanhecai
1. vpx_variance8x8_lsx 2. vpx_sub_pixel_avg_variance64x64_lsx Bug: webm:1755 Change-Id: I7d68c7f2f5c8d27dc31cfd32298aeefb68f5d560
2022-05-13vp9[loongarch]: Optimize fdct4x4/8x8_lsxyuanhecai
1. vpx_fdct4x4_lsx 2. vpx_fdct8x8_lsx Bug: webm:1755 Change-Id: If283fc08f9bedcbecd2c4052adb210f8fe00d4f0
2022-05-13vp9[loongarch]: Optimize vpx_hadamard_16x16/8x8yuanhecai
1. vpx_hadamard_16x16_lsx 2. vpx_hadamard_8x8_lsx Bug: webm:1755 Change-Id: I3b1e0a2c026c3806b7bbbd191d0edf0e78912af7
2022-05-12Add aq mode 0 and 3 to active map testJerome Jiang
Bug: webm:1762 Change-Id: Ia827f6686e8d0cdc09f3d07d07dacaa4fcd801ab
2022-05-12vp9-rtc: Fix to interp_filter for segment skipMarco Paniconi
For segment skip feature: allow for setting the mi->interp_filter to BILINEAR, if cm->interp_filter is set BILIENAR. This can happen at speed 9 when the segment skip feature is used (e.g., active_maps) Without this fix the assert can be triggered with the active_map_test.cc for speed 9 included. Updated the test. Fixes the assert triggered in the issue: Bug: webm:1762 Change-Id: I462e0bdd966e4f3cb5b7bc746685916ac8808358
2022-05-09Merge "[NEON] Optimize vp9_diamond_search_sad() for NEON" into mainJames Zern
2022-05-07[NEON] Optimize vp9_diamond_search_sad() for NEONKonstantinos Margaritis
About 50% improvement in comparison to the C function. I have followed the AVX version with some simplifications. Change-Id: I72ddbdb2fbc5ed8a7f0210703fe05523a37db1c9
2022-05-06add some missing realloc checksJames Zern
Change-Id: I0fd1e094085c18b1d9a32333e876c2affeb6de23
2022-05-06vp8[cd]x.h: document vpx_codec_vp[89]_[cd]x*James Zern
+ mark the _algo variables as deprecated. this quiets some doxygen warnings Bug: webm:1752 Change-Id: I53b9b796c3d8fef5c713ee4278641198f95b5864
2022-05-03vp9 svc sample: set fps from y4m fileJerome Jiang
Change-Id: I082c0409910da4cda5bf852b20ffa11ba5c2ebd6
2022-04-28examples: add missing argv_dup alloc checksJames Zern
Change-Id: Ia3080cbf50071d599c7168a20466392a963f101a
2022-04-28Merge changes I99ee0ef3,Ie087e8be,I6b19d016,I6fb7771d,I54f83733, ... into mainJames Zern
* changes: y4m_input_open: check allocs fastssim,fs_ctx_init: check alloc vp9_get_smooth_motion_field: check alloc vp9_row_mt_alloc_rd_thresh: check alloc simple_encode,init_encoder: check buffer_pool alloc VP9RateControlRTC::Create: check segmentation_map alloc vp9_speed_features.c: check allocations vp9_alloc_motion_field_info: check motion_field_array alloc vp9_enc_grp_get_next_job: check job queue alloc vp9: check postproc_state.limits allocs vp9,encode_tiles_buffer_alloc: fix allocation check
2022-04-28vp9[loongarch]: Optimize sad8x8/32x64/64x32x4dyuanhecai
1. vpx_sad8x8x4d_lsx 2. vpx_sad32x64x4d_lsx 3. vpx_sad64x32x4d_lsx Bug: webm:1755 Change-Id: I08a2b8717ec8623ffdd4451a04e68fa3a7228668
2022-04-28vp9[loongarch]: Optimize sad64x64/32x32_avg,comp_avg_predyuanhecai
1. vpx_sad64x64_avg_lsx 2. vpx_sad32x32_avg_lsx 3. comp_avg_pred_lsx Bug: webm:1755 Change-Id: I58dabdcdd4265bd6ebd5670db8a132d2e838683f
2022-04-27y4m_input_open: check allocsJames Zern
Change-Id: I99ee0ef3ab28a22923cb413ccf5935fdc38862be
2022-04-26fastssim,fs_ctx_init: check allocJames Zern
Change-Id: Ie087e8be1e943b94327ed520db447a0e3a927738
2022-04-26vp9_get_smooth_motion_field: check allocJames Zern
Change-Id: I6b19d0169d127f622abf97b3b8590eee957bdc51
2022-04-26vp9_row_mt_alloc_rd_thresh: check allocJames Zern
Change-Id: I6fb7771d9fa6ec54d81f24a02a289e8b852e7332
2022-04-26simple_encode,init_encoder: check buffer_pool allocJames Zern
Change-Id: I54f83733260abf828166400c5fd0c4c7e3ccec2f
2022-04-26VP9RateControlRTC::Create: check segmentation_map allocJames Zern
Change-Id: I17b23915c32accf834def5ab26a8e4e188f9993a
2022-04-26vp9_speed_features.c: check allocationsJames Zern
Change-Id: If3b319c1ce7036c2259440f4eeb2e645bf559f4c
2022-04-26vp9_alloc_motion_field_info: check motion_field_array allocJames Zern
Change-Id: I4ae11242e645feb3b85eaea186f14b3676ae40a8
2022-04-26vp9_enc_grp_get_next_job: check job queue allocJames Zern
+ reverse conditional order; var == constant is more readable Change-Id: I9f2b4394024c262fd5fe9576a8bf33afe197c050
2022-04-26vp9: check postproc_state.limits allocsJames Zern
Change-Id: I9d5df96580074375e4847d2e2f60a6a6d56eeea5
2022-04-26vp9,encode_tiles_buffer_alloc: fix allocation checkJames Zern
previously vp9_bitstream_worker_data was checked after it was memset(); this change uses CHECK_MEM_ERROR for consistency to ensure the pointer is checked first Change-Id: I532d0eb0e746dc6b8d694b616eba693c5c0053ac
2022-04-26vp9[loongarch]: Optimize fdct/get/variance16x16yuanhecai
1. vpx_fdct16x16_lsx 2. vpx_get16x16var_lsx 3. vpx_variance16x16_lsx Bug: webm:1755 Change-Id: I27090406dc28cfdca64760fea4bc16ae11b74628
2022-04-26Merge changes Ib8bcefd2,I84f789ca into mainJames Zern
* changes: register_state_check.h: add compiler barrier add_noise_test.cc: remove stale TODO
2022-04-25register_state_check.h: add compiler barrierJames Zern
around ASM_REGISTER_STATE_CHECK() this helps keep the call ordering consistent avoiding some code reordering which may affect the registers being checked fixes issue with armv7 and multiple versions of gcc: [ RUN ] C/AddNoiseTest.CheckNoiseAdded/0 test/register_state_check.h:116: Failure Expected equality of these values: pre_store_[i] Which is: 0 post_store[i] Which is: 4618441417868443648 Bug: webm:1760 Change-Id: Ib8bcefd2c4d263f9fc4d4b4d4ffb853fe89d1152 Fixed: webm:1760
2022-04-25add_noise_test.cc: remove stale TODOJames Zern
this was completed in: 0dc69c70f postproc : fix function parameters for noise functions. Change-Id: I84f789ca333e9690e70e696d44475dd59339593b
2022-04-24vp9[loongarch]: Optimize sub_pixel_variance32x32/sad16x16yuanhecai
1. vpx_sad16x16_lsx 2. vpx_sub_pixel_variance32x32_lsx Bug: webm:1755 Change-Id: I9926ace710903993ccbb42caef320fa895e90127
2022-04-22vp9[loongarch]: Optimize horizontal/vertical_4/dualyuanhecai
1. vpx_lpf_horizontal_4_lsx 2. vpx_lpf_vertical_4_lsx 3. vpx_lpf_horizontal_4_dual_lsx 3. vpx_lpf_vertical_4_dual_lsx Bug: webm:1755 Change-Id: I12e9f27cafd9514b24cfbf2354cc66c7d1238687
2022-04-22vp9[loongarch]: Optimize convolve8_avg_vert/convolve_copyyuanhecai
1. vpx_convolve8_avg_vert_lsx 2. vpx_convolve_copy_lsx 3. vpx_idct32x32_135_add_lsx Bug: webm:1755 Change-Id: I6bdfe5836a91a5e361ab869b26641e86c5ebb68d
2022-04-22vp9[loongarch]: Optimize vertical/horizontal_8_dualyuanhecai
1. vpx_lpf_vertical_8_dual_lsx 2. vpx_lpf_horizontal_8_dual_lsx Bug: webm:1755 Change-Id: I354df02cc215f36b4edf6558af0ff7fd6909deac
2022-04-22Merge "vp8_decode: free mt buffers early on resolution change" into mainJames Zern
2022-04-19fdct16x16_neon.h,cosmetics: fix include-guard caseJames Zern
Change-Id: I593735bb7f88d63f2ddab57484099479c8759a3d
2022-04-19vp8_decode: free mt buffers early on resolution changeJames Zern
this avoids a desynchronization of mb_rows if an allocation prior to vp8mt_alloc_temp_buffers() fails and the decoder is then destroyed Bug: webm:1759 Change-Id: I75457ef9ceb24c8a8fd213c3690e7c1cf0ec425f
2022-04-18webmdec: fix double freeJames Zern
when no frames were decoded, for example due to a decoder initialization failure, an orphan buffer pointer from webm_guess_framerate() via webm_read_frame() would have been freed during cleanup Change-Id: I6ea3defdd13dd75427f79c516e207b682391e4fa
2022-04-18vp9_dx_iface,init_buffer_callbacks: return on alloc failureJames Zern
use an error code as a jmp target is not currently set in init_decoder() Change-Id: If7798039439f13c739298a8a92a55aaa24e2210c
2022-04-18vp9_encoder: check context buffer allocationsJames Zern
previously the returns for alloc_context_buffers_ext() and vp9_alloc_context_buffers() were ignored which would result in a NULL access during encoding should they fail Change-Id: Icd76576f3d5f8d57697adc9ae926a3a5be731327
2022-04-18vp9_alloc_internal_frame_buffers: fix num buffers assignmentJames Zern
avoid setting num_internal_frame_buffers until the allocation is checked, avoiding an invalid access in vp9_free_internal_frame_buffers() Change-Id: I28a544a2553d62a6b5cb7c45bf10591caa4ebab6
2022-04-18vp9_alloccommon: add missing pointer checksJames Zern
in vp9_free_ref_frame_buffers() and vp9_free_context_buffers(); pool and free_mi may be NULL due to earlier allocation failures Change-Id: I3bd26ea29b3aea6c58f33d5b7f5a280eb6250ec7