- 29 Sep, 2017 1 commit
-
-
Angie Chiang authored
Change-Id: Ie29d5fa261a9c7f790f170493ed0c9d59d1482e2
-
- 28 Sep, 2017 29 commits
-
-
Cheng Chen authored
Experiment LOOPFILTER_LVL has 4 deblocking filter levels for: y plane horizontal, y plane vertical, u plane, and v plane. The patch supports segment updates for each of the four filter levels. Change-Id: I494e8d9ab67e37c5f6234b8d9db8e3e3abf70d52
-
Rupert Swarbrick authored
With ext-partition and tx64x64 enabled, the encoder could choose TX_64X64 to encode the transform for a subsampled plane of a BLOCK_128X128 block. This broke an assumption in the nested loop in write_tokens_b and also caused bug 827 (with a rather cryptic failure). This patch changes get_vartx_max_txsize to ensure that the encoder and decoder don't think they can use TX_64X64 in this situation. It also adds a couple of assertions to the loop mentioned above so that if something comes unstuck it'll be much more obvious what went wrong. BUG=aomedia:827 Change-Id: Ie093f2f20f6242949d68e950c8f95b100867ee17
-
Ryan authored
1. seg->temporal_update flag is only read when seg->update_map flag is set to 1 in the bit stream. in case update_map flag is different from frame to frame, the temporal_update flag will not be reset to 0 when update_map flag changed from 1 to 0. i.e, the previous temporal_update flag will be used in the later process. in the read_inter_segment_id function, temporal_update flag is used to read the segment id. it will cause bit stream parsing error. Change-Id: I663975bc84bbed7409d4f5dd1c1005480b2fbcf8
-
Thomas Davies authored
Change-Id: Ief98301e44a63faacd5f8725f89ef4e0c596a591
-
Angie Chiang authored
Change-Id: I15bd90245adc85d17ef8429b9c5f3e41e26b0904
-
Angie Chiang authored
Change-Id: I164add43e9d75af82312b464a176cdf0045ef9e1
-
Angie Chiang authored
Change-Id: I18de826d8b8bdec6f57d108906ee5df959243f90
-
Angie Chiang authored
Change-Id: I25030297e0333f326d39f6c5b64cb2e4f3906852
-
Sebastien Alaiwan authored
And reduce scope of 'get_max_bit', which is only used by the test code. Change-Id: I9af7be426f7bec6958419ca02957db87e7963f50
-
Thomas Daede authored
Although they are called "sync codes", nothing is synchronized using them. Change-Id: I2dbd67daf9f4822438323212bb96cac489c38c5d
-
Angie Chiang authored
Observe 0.1% gain on lowres wo optimize_b before rebase Change-Id: I0cb5b5e4be2563093efb2f6dfbefdce9b554e910
-
Ryan authored
AV1 encoder's logic for handling current_delta_lf_from_base value has a hole, which could cause enc/dec mismatch due to deblocking filter level mismatch. On the encoder side, when delta_lf is used. current_delta_lf_from_base value is only written into the bit stream when the following condition is true: ((bsize != BLOCK_LARGEST || skip == 0) && super_block_upper_left) i.e., it is only written into the bit stream when current mi is the top left corner of a super block, and it is not skipped or block size is not 64x64. this is applied to both INTRA and INTER blocks in write_mbmi_b(). And the following code is used to handle the case when the above condition is not true. if (!dry_run) { mbmi = &xd->mi[0]->mbmi; if (bsize == BLOCK_64X64 && mbmi->skip == 1 && is_inter_block(mbmi) && cpi->common.delta_lf_present_flag) { mbmi->current_delta_lf_from_base = xd->prev_delta_lf_from_base; } The idea is that if the above condition is not true, then the current_delta_lf_from_base should be reset to the previous delta lf, which is prev_delta_lf_frame_base. However, there is a hole in this logic. For INTRA 64x64 blocks, even it is skipped, the current_delta_lf_frame_base is not reset back to the previous delta_lf. So, in this case, decoder side won't receive any new delta_lf from bit stream, so it will use previous delta_lf. encoder side will use the new delta_lf value. this mismatch will cause final loop filter level calculation inconsistent in the deblocking stage and thus cause encoder and decoder mismatch. BUG=aomedia:826 Change-Id: I90c1dcca5da106e4f3e0bcba1ed539c1cd99c370
-
Ola Hugosson authored
This experiment offset the filter tile grid 8 pixels upwards. Deblocked pixels (rather than CDEFed pixels) are used for the 2 lines above and below the filter processing unit. The 8 pixel offset is the offset produced by deblock/cdef. This way the loop_restoration does not need additional line buffers in a single pass hardware implementation. Change-Id: I89e0831dc28413a5d3e02d7a426ce2885ab629d7
-
Monty Montgomery authored
They're unused, disabled in the prototype setup, but still built and complicating the already convoluted ifdef mess in TX experiment configuration. Don't leave dead code in the sourcebase. That's what SCM is for. Change-Id: Idb2adf597ac064c7b5027df8af1cf65054984aa4
-
Yi Luo authored
Function speedup sse2 v. C Predictor V_PRED H_PRED 4x8 ~1.7x ~1.8x 8x4 ~1.8x ~2.2x 8x16 ~1.5x ~1.4x 16x8 ~1.9x ~1.3x 16x32 ~1.6x ~1.4x 32x16 ~2.0x ~1.9x This patch disables speed tests to save Jenkins build time. Developer can manually enable them by using, --gtest_also_run_disabled_test flag in test command line. Change-Id: I81eaee5e8afc55275c7507c99774f78cc9e49f9a
-
Tom Finegan authored
Change-Id: I6d75d3955bd8dd2218fb07b36c10361e032eb66e
-
Tom Finegan authored
$GIT_EXECUTABLE was being passed as the value of CMAKE_INSTALL_PREFIX to pkg_config.cmake. Pass $CMAKE_INSTALL_PREFIX as intended. BUG=aomedia:814 Change-Id: I86126f472447eaa6a2196dca3a8c68fb4de9415a
-
Luc Trudeau authored
To facilitate HBD support, we extract the loop that builds the prediction from cfl_predict_block. This change does not alter the bitstream. Change-Id: Ie88d1c5872a90303b7fa0692fed8c2855e1d315f
-
Luc Trudeau authored
Pixels are subsampled when they are stored in the CfL prediction buffer. This allows to avoid having two buffers. No impact on the bitstream. Results on subset1 (Compared to parent) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 https://arewecompressedyet.com/?job=cfl-avg-on-fly%402017-09-23T21%3A38%3A04.440Z&job=cfl-Sub-On-Store%402017-09-24T15%3A01%3A41.161Z Change-Id: If051e34d6d7078d77609542305a2afebef5cb177
-
Rupert Swarbrick authored
This is just a code cleanup, moving the calculation of cm->tile_rows and cm->tile_cols into get_tile_size, which is already calculating cm->tile_width and cm->tile_height. The patch also gets rid of a spurious AOMMIN and replaces it with an assertion. Change-Id: I46666c4a197ac26d4b3746d9ea6575dc4af0d570
-
Rupert Swarbrick authored
This patch slightly reorders the fields in yv12_buffer_config and then uses anonymous unions in order to make it possible to write code that iterates uniformly over planes. The patch also ports some code (mostly in yv12extend.c and aom_scale.c) to show how this can make things more concise. This should make no difference to the coded results. I think it's unlikely to have any significant performance impact (the reordered fields in a yv12_buffer_config only come to 17*4 = 68 bytes in total, so almost fit in a normal sized cache line). Change-Id: Iebb46344500b9df82915f34cfd193e189d712062
-
Jonathan Matthews authored
BUG:aomedia:824 Change-Id: I67bfd16a9ba994055ccbaf624c58117c7939d5c8
-
Thomas Davies authored
CDFs are used for coding and costs, so there is no need to base the CDF on the obsolete tree and remap filter indices. No change to common test conditions BDR. Change-Id: I441dd21b127bc07ba33eef8ddcfd147eef21d0d4
-
Ola Hugosson authored
This change enables using 13 taps for luma plane deblocking and 5 taps for chroma plane deblocking when pixels are in flat area. The aim for the experiment is to make sure that luma line 57 and chroma line 29 of the current superblock is not changed by the deblocking process of the superblock below. Previously this was already the case for luma line 56 and chroma line 28 (but not for 57 and 29). This experiment is part of an effort to reduce the overall line buffer size for DEBLOCK+CDEF+LR. With this change it is possible to CDEF line -8 to +55 direcly on the output of deblock (which require line +56 and +57 to be final). Change-Id: I7779a08d6ad5683bf35c3372b1526786eaac8472
-
Urvang Joshi authored
This has been cleared by Tapas. Change-Id: Ie62ffe84d2b285ae83939e7bcc354c2964fb5938
-
Sebastien Alaiwan authored
Also, print the actual out-of-bounds values, instead of just printing the input buffer. Change-Id: Ia6b73d98e41c3285d8fd9f39963f9d556d2d95f7
-
Sebastien Alaiwan authored
Change-Id: Ic1aa7dfd4da4e9e29318665d5ecff7ea75fd41e9
-
Debargha Mukherjee authored
Re-enables most of the previously disabled tests. The ones that are still disabled expect resize to be triggered through rate control, which is no longer supported in Av1. Change-Id: Ie5e9ba3eb0843cd44ff1ac988500081470ba0fe2
-
Luc Trudeau authored
Instead of storing the transform block average, it is immediately subtracted from the subsampled pixels. This change does not alter the bitstream and it reduces CfL complexity. Change-Id: Ia5038b336abf1ec01e295b235734318906d3bae6
-
- 27 Sep, 2017 10 commits
-
-
Angie Chiang authored
Change-Id: Ia33e9962fce962e4f45281537d3e90b4d88543a5
-
Rupert Swarbrick authored
With convolve round, tmp_buf32 should be set to tmp_buf rather than tmp_dst because we want the actual pointer value rather than the funky rescaled one when the frame is high bit depth. Change-Id: I614ca1ebb4b6db8c4957fdced9dc2009a7ac107e
-
Pavel Frolov authored
This fixes global motion read/write mismatch. Minimal test case would be 3 encoded frames with: 1) frame0: KEY frame 2) frame1: INTER frame with refresh_frame_flags not 0x00 and not 0xFF, say 0x01 (refresh first slot) 3) frame2: INTER frame with all reference indices equal to 3 (i.e. no reference to frame1) When decoding frame2 decoder will use cm->prev_frame=frame1 for gm params decoding, then switch to cm->prev_frame=frame0 for the rest of the frame. This makes frame2 dependent on frame1 which is not used as reference. And also it is different from what encoder does. BUG=aomedia:750 Change-Id: I42ba19c03d909286af12ba3149910693a12249e8
-
Luc Trudeau authored
When using uv_mode the corresponding enum is the UV_PREDICTION_MODE not the PREDICTION_MODE enum. Change-Id: I44b19e4db5947a2d44281430b34ed61b82f999eb
-
Luc Trudeau authored
The buffer width and height are updated after adding to padding data to the CfL buffer. This way, padding is not repeated. This change does not alter the bitstream Change-Id: I7e709fc4e18b03a516b1345099b334c9d33d71aa
-
James Zern authored
Change-Id: I612517c6218c561ee94888c8c14298964851484a
-
Cheng Chen authored
Change-Id: I24d129aceb66e00388bedf98bc8e46524c0812eb
-
Thomas Davies authored
Enable the RESTRICT_COMPRESSED_HDR experiment when NEW_MULTISYMBOL is on and apply when there is no backward update also. Change-Id: I5f6812df2cb3f9bc32fe533b2689fd51235aedbc
-
James Zern authored
and to CONFIG_LIST + CMDLINE_SELECT. the experiment list should now match cmake Change-Id: I724d35b3a16ed5c641207525949093bc0caf4a49
-
Angie Chiang authored
Change-Id: I8080a860c32d465810a960bf25f4299c40122937
-