- 06 Jan, 2017 5 commits
-
-
Nathan E. Egge authored
The bit accounting was broken when refactor portions of PVQ to use the aom_reader / aom_writer API because the daala_ec calls were using OD_ACCOUNTING instead of CONFIG_ACCOUNTING. This fixes them so that bit accounting will still work with pvq while the full port to --enable-accounting is in review. Change-Id: I99e6b6debc716f1a6780116d5602085f7a2bb827
-
Jingning Han authored
This commit reworks the transform block partition context update to support cb4x4 mode in the recursive transform block partition. It resolves the remaining enc/dec mismatch issue when both cb4x4 and var-tx are turned on. Change-Id: I850d121204fe4c68e81488f1d2848c570d9d08b9
-
Jingning Han authored
Fix the 8x4 inverse transform for ADST row process. Change-Id: Iceff4ab356a51218a952b53b1134606548832eac
-
Jingning Han authored
Replace hard coded 4x4 transform block step size assumption with scalable table access. Change-Id: Ib1cc555c2641e5634acdd91ca33217f00aeb0b89
-
Debargha Mukherjee authored
Enables Wiener based loop restoration only for the UV frames. The selfguided and domaintranform filters do not work very well for UV components, hence they are disabled. For each UV frame a single set of wiener parameters are sent. They are applied tile-wise, but all tiles use the same parameters. BDRATE (Global PSNR) results: ----------------------------- lowres: -1.266% (up from -0.666%, good improvement) midres: -1.815% (up from -1.792%, tiny improvement) Tiling on UV components will be explored subsequently. Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
-
- 05 Jan, 2017 26 commits
-
-
Nathan E. Egge authored
The functions generic_encode() and generic_decode() code the lsb values as raw bits using the od_ec_enc_bits() and od_ec_dec_bits() functions. These code bits in the reverse order as the aom_write_literal() and aom_read_literal() functions, so both the encoder and decoder must be changed at the same time. This commit has no impact on metrics but is a bitstream change. Change-Id: I83546e2d4b73c28a7f269ddc850742df53d227ce
-
Nathan E. Egge authored
Delete the unused od_laplace_decode(), od_laplace_decode_vector(), and laplace_decode_vector_delta() functions. Change-Id: Iec581e8cdb0bc9cac9199c09486891500c707c03
-
Nathan E. Egge authored
Change the od_decode_band_pvq_splits() and od_decode_pvq_split() functions to take an aom_reader struct instead of an od_ec_dec struct. Rename od_decode_band_pvq_splits() to aom_decode_band_pvq_splits() and od_decode_pvq_split() to aom_decode_pvq_split(). Change-Id: I5979b32977377e1541c609a13242852e5cfab233
-
Nathan E. Egge authored
Change the od_decode_pvq_codeword() function to take an aom_reader struct instead of an od_ec_dec struct. Rename od_decode_pvq_codeword() to aom_decode_pvq_codeword(). Change-Id: I9fc2dda28a6169cb04410e822070991f3bcbc25a
-
Nathan E. Egge authored
Change the generic_decode() function to take an aom_reader struct instead of an od_ec_dec struct. Change-Id: Ifa19ab1dbdd9fa1af19e6740839708b27ab4a44b
-
Nathan E. Egge authored
Change the pvq_decode_partition() function to take an aom_reader struct instead of an od_ec_dec struct. Change-Id: I7247aaa0be3eedd336371ba677dc2d9f16f27d20
-
Nathan E. Egge authored
Use the generic AOM entropy decoder in the daala_dec_ctx struct. This is done in preparation for migrating other entropy coder calls to use the more generic entropy coding API. Change-Id: I473a278174195401bcf35730fb5db7eb368b097a
-
Nathan E. Egge authored
Change-Id: Ied21efe93b2508e052087d84deebaf46c61e9c3d
-
Nathan E. Egge authored
Change the od_encode_band_pvq_splits() and od_encode_pvq_split() functions to take an aom_writer struct instead of an od_ec_enc struct. Rename od_encode_band_pvq_splits() to aom_encode_band_pvq_splits() and od_encode_pvq_split() to aom_encode_pvq_split(). Change-Id: I72e6684e032f4c8f9f9133c6102f870830001712
-
Nathan E. Egge authored
Change the od_encode_pvq_codeword() function to take an aom_writer struct instead of an od_ec_enc struct. Rename od_encode_pvq_codeword() to aom_encode_pvq_codeword(). Change-Id: I1254eca06291740770a4371dc01c78c12e613c3a
-
Nathan E. Egge authored
Change the generic_encode() function to take an aom_writer struct instead of an od_ec_enc struct. Change-Id: Icb447fe5ada27aba45fbaea08b28e9fe42c5a404
-
Nathan E. Egge authored
Change the pvq_encode_partition() function to take an aom_writer struct instead of an od_ec_enc struct. Change-Id: I459d31c600467958c9a1cbebd632fec05e01f534
-
Nathan E. Egge authored
Delete the unused od_laplace_encode(), od_laplace_encode_vector(), and laplace_encode_vector_delta() functions. Change-Id: I92e393836c0ba4e5149b2565e7142a161c44c612
-
Nathan E. Egge authored
Use the generic AOM entropy encoder in the daala_enc_ctx struct. This is done in preparation for migrating other entropy coder calls to use the more generic entropy coding API. Change-Id: Id627d12402a397bcb21d48d896c0de249d4d8657
-
Nathan E. Egge authored
Add aom_write_symbol_unscaled() and aom_read_symbol_unscaled() calls for encoding and decoding symbols with non-dyadic CDFs, e.g. that don't add up to 32768. This currently only works with the DAALA_EC backend, but does support AOM bit accounting. Change-Id: Icb37500f1b051dd2e8893ff0920302ece1d6ccfd
-
Nathan E. Egge authored
Change the od_decode_cdf_adapt_q15() function to take an aom_reader struct instead of an od_ec_enc struct. Rename od_decode_cdf_adapt_q15() to aom_decode_cdf_adapt_q15(). Change-Id: I72315c6e89d689e232c53a99a7d4e0f9cdcfbd0c
-
Nathan E. Egge authored
Change the od_encode_cdf_adapt_q15() function to take an aom_writer struct instead of an od_ec_enc struct. Rename od_encode_cdf_adapt_q15() to aom_encode_cdf_adapt_q15(). Change-Id: I631af7be4b553fbb10a4c72e1958aa48a4c8245a
-
Nathan E. Egge authored
Change-Id: I79addac857ff10c89f2ad79a5d2bf8d4c5e89ef4
-
Nathan E. Egge authored
Change-Id: I74d6cd507460d418c7be7faa31394fbcd8bb0d5d
-
Nathan E. Egge authored
Change-Id: I0cacd4e8cdd07458b36bbdd56e4f005327854b34
-
Nathan E. Egge authored
Change-Id: Ic0eba16329d7b63dd7d18e9cd28b89be4b5f2710
-
Nathan E. Egge authored
Change-Id: Ia5046d9158d5421a7f6e0397f4fa1e1925ae2ccb
-
Nathan E. Egge authored
Change-Id: I1cf27d2f029c1e985cafb468f60e7117d92593f5
-
Nathan E. Egge authored
Change-Id: I3f7eeff102fc30e2cef59c2c07df94826587d100
-
Nathan E. Egge authored
Change-Id: I21785bec0563299b4b0c1d17aaaa788e4e8df4d7
-
Nathan E. Egge authored
Change-Id: I76259d6ec925a0c7024e7c70a517debe2d3bf1ab
-
- 04 Jan, 2017 8 commits
-
-
David Barker authored
* Remove some unused variables * Reduce need for casts by typing intermediate buffers appropriately * Avoid copying data which is never modified; use the original data instead. * Reduce number of intermediate buffers required, saving allocations of 576KiB in the decoder and ~1MiB in the encoder No effect on performance Change-Id: I55243904dd8e818fb6d43fa431903736475d23ff
-
Angie Chiang authored
This CL aims at simplify transform code. Change-Id: Ibaf1dd8607e37d44a0f77788a72e344583f81fa0
-
Sarah Parker authored
Change-Id: I5ad51375287b40170882c4816d34858be50afacd
-
Jingning Han authored
This commit enables the cb4x4 mode to support ext-tx experiment. The coding performance gains are: ext-tx cb4x4 ext-tx + cb4x4 lowres 2.7% 2.6% 4.9% midres 2.1% 1.2% 3.0% Change-Id: I6c566b6073527262abcdbb1a0c6bcb8729988f3b
-
Jingning Han authored
Remove unnecessary #if statements from the implementation. Change-Id: I09c2f046aec2c43894f8dcfd99216fdf0a50451d
-
Angie Chiang authored
Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
-
Yushin Cho authored
Similarly to the refactoring of PVQ codes for 4x4 intra, instead of calling tx and pvq_encode_helper() in 4x4 inter, av1_xform_quant() is called. This commit gives no change in metrics. Change-Id: Ib69efb00ed5a5b2254478bf5db5a19d9dac12b3b
-
Ryan Lei authored
This commit adds a new experiment to allow disabling of loop filtering on tile boundaries. It is implemented by adding a syntax field "loopfilter_across_tiles_enabled" into the uncompressed frame header. If it is set to 0, decoder and encoder will disables loop filtering for block edges that are also tile boundaries. Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
-
- 03 Jan, 2017 1 commit
-
-
Yushin Cho authored
In 4x4 intra search for RDO, AV1 codes has been changed to call av1_xform_quant() while ago, while PVQ did not but call txfm and pvq_encode_helper() instead, which caused duplicated codes and thus worse maintenance and testing. This refactor also has fixed the long-sitting bug, which we couldn't find before refactoring. PSNR PSNR-HVS SSIM FAST-SSIM CIEDE 2000 MS-SSIM -2.77 -2.62 -2.90 -4.07 -2.94 -2.63 Change-Id: I6e526123a64af810897962d11d53028719e82e16
-