- 19 Oct, 2016 14 commits
-
-
Jingning Han authored
Change-Id: I2228a3d1778917ac760582fbec3c868be5d9ba1c
-
Arild Fuldseth authored
This commit changes to send frame size explicitly when error_resilient_mode=1. Purpose is to allow parsing of bitstream after a packet loss. Change-Id: I7d1c010a465aa18914762cc1a3e61db377304c08
-
Yaowu Xu authored
Change-Id: I1a462675c06c4b2a5f8b4b347f23fec67feccdd0
-
Urvang Joshi authored
Now that all warnings are taken care of, add warning flag -Wshadow to configure. Note: Enabling this flag for C++ generates some useless warnings about some function parameters shadowing class member function names. So, only enabling this warning for C code. Cherry-picked from aomedia/master: b96cbc44 Change-Id: I3922dea2e6976b16519c4aa4d1bd395c198134f1
-
Peter de Rivaz authored
The tx_partition_set_contexts function changes tx_size even for blocks coded with a rectangular transform. This causes an internal rd inconsistency when using all of CONFIG_VAR_TX, CONFIG_RECT_TX, CONFIG_EXT_TX. Change-Id: Ia45d4a8893b0961534219bb96d9652719038c7a1
-
Yaowu Xu authored
Change-Id: I97487bf353471bf9d245cd620780adfb1d3fc2b1
-
Michael Bebenita authored
This patch adds bit account infrastructure to the bit reader API. When configured with --enable-accounting, every bit reader API function records the number of bits necessary to decoding a symbol. Accounting symbol entries are collected in global accounting data structure, that can be used to understand exactly where bits are spent (http://aomanalyzer.org). The data structure is cleared and reused each frame to reduce memory usage. When configured without --enable-accounting, bit accounting does not incur any runtime overhead. All aom_read_xxx functions now have an additional string parameter that specifies the symbol name. By default, the ACCT_STR macro is used (which expands to __func__). For more precise accounting, these should be replaced with more descriptive names. Change-Id: Ia2e1343cb842c9391b12b77272587dfbe307a56d
-
Jingning Han authored
Change-Id: I371297e6ee000e6dc01ba1544763cbed429b0e5a
-
Brennan Shacklett authored
Currently the RD loop traverses 4X8 blocks in inverted N order while the bitstream stores blocks smaller than 8x8 in Z order. This causes a discrepancy where the RD loop reads uninitialized data while performing intra prediction. As a temporary fix simply disable the use of the extended right edge for 4X8 blocks, until the bitstream can be changed to match the logical structure of the blocks. Change-Id: I44a9e4fc1a15cd551a7b38c3c1227bc5dac77e9a
-
Urvang Joshi authored
From code only part of nextgenv2 (and not aomedia) Change-Id: I21f7478a59d525dff23747efe5238ded16b743d2
-
Urvang Joshi authored
While we are at it: - Rename some variables to more meaningful names - Reuse some common consts from a header instead of redefining them. Cherry-picked from aomedia/master: 863b0499 Change-Id: Ida5de713156dc0126a27f90fdd36d29a398a3c88
-
Urvang Joshi authored
- Change struct name to all caps SCAN_ORDER to be locally consistent. - Rename struct pointers to 'scan_order' instead of hard to read short names 'so' and 'sc'. Cherry-picked from aomedia/master: 30abc082 Change-Id: Ib9f0eefe28fa97d23d642b77d7dc8e5f8613177d
-
Urvang Joshi authored
In the header, all we need is number of stat types, not the names for actual types. Removing it avoids names like 'Y', 'U', 'V' and 'ALL' being visible in all files that include the encoder.h header. Change-Id: I874a73a3cfe6bcb29aedea102077a52addc49af6
-
Urvang Joshi authored
- Const correctness - Refactoring - Make variables local when possible etc - Remove -Wcast-qual to allow explicitly casting away const. Cherry-picked from aomedia/master: c27fcccc And then a number of more const correctness changes to make sure other experiments build OK. Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
-
- 18 Oct, 2016 16 commits
-
-
Nathan E. Egge authored
Move computing the segmentation_probs.tree_cdf table per symbol to computing it only when the probabilities are updated. Change-Id: I3826418094bbaca4ded87de5ff04d4b27c85e35a
-
Sarah Parker authored
This fixes mismatches due to overflowing low precision parameters. Change-Id: If34e39ca7ab0adc9688d46b0e8ed62cbb6fdaff0
-
Sarah Parker authored
Change-Id: I1b41146ae844c985566f5f9fdaeb5d4a4a5927b6
-
Sarah Parker authored
Ransac's get_rand_indices originally used rand_r seeded with the same value every time, producing the same random sequence at every iteration. This causes the global motion parameters to be slightly less accurate because ransac cannot improve the model fit after the first attempt. Change-Id: Idca2f88468ea21d19ba41ab66e5a2744ee33aade
-
Angie Chiang authored
Change-Id: If497816d7f6ee094d40872a2f988c91e90b78d7b
-
Guillaume Martres authored
This function is called after `super_block_yrd` and assumes that the dst buffer is correct but that is no longer always the case after daf841b4 since we don't call `txfm_rd_in_plane` after the RDO loop in `choose_tx_size_from_rd`. We could fix this by always saving and restoring the dst buffer but removing `rd_variance_adjustment` is a better solution: - Getting the dst buffer always right is tricky as demonstrated by the fact that it is wrong now, even if we fix it now we could break it later and not notice - Perceptual weighting is a good idea but `rd_variance_adjustment` is the wrong approach as it weights both the rate and the distortion: to get meaningful units you should only weight the distortion, weighting rate means that we pretend some bits cost less than other bits, this is not the case. The distortion weighting approach is implemented by Daala in `od_compute_dist` and we plan to experiment with this in AV1 too. - Removing `rd_variance_adjustment` improves coding efficiency on all metrics, here are the results for objective-1-fast using the Low Latency settings: PSNR Y: -0.14% PSNRHVS: -0.17% SSIM: -0.12% MSSSIM: -0.12% CIEDE2000: -0.07% Change-Id: I74b26b568ee65f56521646b8f30dd53bcd29fce3
-
Yushin Cho authored
Change-Id: Ibc73b4066dcdee45d32355144124762d26a16a28
-
Urvang Joshi authored
This array was allocated and used to save and restore segmentation map, however the original segmentation map was never modified between the calls to save and restore. Change-Id: Iaf0fbfed733c097e84cf44d2aa6b8f35d2fb456b
-
Yushin Cho authored
This is not used since the commint 00cd5de5, "Remove skip_recode speed feature". Change-Id: Ic03da6c0095f6285a3889d5d22e8aaa2e6cbfd79
-
Hui Su authored
On average no compression performance changes. Encoding speed is increased by 10~20% on some test clips in the derf set. Change-Id: I9856caaa260303f6f6259686671bed7d51012277
-
Jingning Han authored
Drop some speed features used in speed 2 and above, during the algorithm development process. This helps simplify the codebase. Change-Id: I3b2f5560d90b00d2d8fd57c2cb36f6ddd3f228e4
-
Yaowu Xu authored
Change-Id: Ic11eae36c9c62a20699197847aa3ef9562d4ad7e
-
Michael Bebenita authored
This commit ports the following from aom/master: 4c462788 Add aom_reader_tell() support. b9c99350 Remove an erroneous declaration. 56c9c3bf Fix ANS build. Change-Id: I59bd910f58c218c649a1de2a7b5fae0397e13cb1
-
Peter de Rivaz authored
This computation should match the code in encode_block to increase the accuracy of the rd optimization. Change-Id: Ibc9d9ab6d88d0c0f3af62e9cc233216aba48a57e
-
Peter de Rivaz authored
When built with var_tx and ext_tx, select_tx_size_fix_type is used to compute the cost for using a particular tx_type. The code indexes the array inter_tx_type_costs at the wrong location resulting in a zero cost for signalling tx_type for rect_tx blocks. Change-Id: Iba38be3a0d822109f778f0600b242dfb40359766
-
Nathan E. Egge authored
Change-Id: I33899eca44300037816c9f20c965aa8311a1ef52
-
- 17 Oct, 2016 7 commits
-
-
Yue Chen authored
To get ready for pulling AV1 to nextgenv2. Refactoring is done to make the code structures similar, especially for the motion search part. Change-Id: I5d7636394408d97de55394d668540f5627827983
-
Nathan E. Egge authored
Change-Id: I7c088c55f1c461063976d5bd84ff2026c4f3bc69
-
Yushin Cho authored
In super_block_uvrd(),if is_cost_valid == 0, all return parameters, i.e. rate, distortion, skippable, and sse, are reset. So, should not call txfm_rd_in_plane() if is_cost_valid == 0. Also, the bug causes av1_xform_quant() to see invalid diff signal since av1_subtract_plane() is not called in super_block_uvrd(). Change-Id: Iaa06061e2e9aa8876b4611a54f4ae6b8d499332b
-
Nathan E. Egge authored
Move computing the partition_cdf tables per symbol to computing them only when the probabilities are updated. Change-Id: I442f9230ba00be7f5d0558d7c38d7324ad009ee8
-
Nathan E. Egge authored
Move computing the inter_ext_tx_cdf tables per symbol to computing them only when the probabilities are updated. Change-Id: I5e1e62f8eae8f6b2edbbd378beeb786649502c10
-
Nathan E. Egge authored
Move computing the intra_ext_tx_cdf tables per symbol to computing them only when the probabilities are updated. Change-Id: I26d5e419e103093e98a7d896c196176305b50fc9
-
Nathan E. Egge authored
Move from computing the switchable_interp_cdf per symbol to computing once per frame when the probabilities are adapted. Change-Id: I6571126239f0327e22bb09ee8bad94114291683e
-
- 14 Oct, 2016 3 commits
-
-
Nathan E. Egge authored
Move the av1_indices_from_tree() function from av1/encoder/treewriter.c to aom_dsp/prob.c so that it can be used by both the encoder and the decoder. Change-Id: Ie43c599f425c3503b1ff93f0c77b5033a05b1bb4
-
Nathan E. Egge authored
Add av1_indices_from_tree() function that computes a forward and inverse mapping of the tree leaf-node symbols to their in-order traversal. This is necessary because many of the aom_tree binary trees have their leaf nodes out of order (e.g., an in-order traversal of a tree with n nodes does not start at symbol 0 and go to symbol n - 1), but the CDFs created by tree_to_cdf() are indexed in-order. Change-Id: Icd0dbed4c171a67c9e84a634106c4fdb5b1b3488
-
Nathan E. Egge authored
When building with --enable-daala_ec, calls to aom_write() and aom_read() use the daala entropy coder to write and read bits. When the probability is exactly 0.5 (128), then raw bits are used. ntt-short-1: MEDIUM (%) HIGH (%) PSNR -0.027556 -0.020114 PSNRHVS -0.027401 -0.020169 SSIM -0.027587 -0.020151 FASTSSIM -0.027592 -0.020102 subset1: RATE (%) DSNR (dB) PSNR 0.03296 -0.00210 PSNRHVS 0.03537 -0.00281 SSIM 0.03299 -0.00161 FASTSSIM 0.03458 -0.00111 Change-Id: I48ad8eb40fc895d62d6e241ea8abc02820d573f7
-