summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2015-05-22vp9_reconintra_neon: cosmetics: reindentJames Zern
Change-Id: Ie15e301e8f55cf928f42a03e53a8bb8b66d0e5d5
2015-05-22vp9_reconintra_neon: cosmetics: drop unneeded returnsJames Zern
Change-Id: Ib070c79bdbb9c1f4e25af693d7056ec9f964c789
2015-05-22vp9_subpixel_8t_intrin_ssse3: quiet vs9 warningJames Zern
reorder includes to avoid: warning C4985: 'ceil': attributes not present on previous declaration. this is the same workaround used in vp9/common/vp9_systemdependent.h Change-Id: Ia10dd63de24f96fa1507a6179220e9d6ec774db6
2015-05-21Merge "Fix issues with mixed ARF and GF groups."paulwilkins
2015-05-20vp9_mvref_common.c: fix compile warningJames Zern
string literal to int within an assert Change-Id: Ifd7acc717e01ee1bb3955ef830ec0d1645942459
2015-05-20Fix issues with mixed ARF and GF groups.paulwilkins
This patch addresses two issues that can occur when the encoder chooses to use a mixture of ARF and GF groups. The first issue relates to a failure to reset the "ARF active" flag correctly when transitioning from coding ARF groups to coding GF groups. This caused some golden frames to be encoded with an incorrect bit rate target as if they were ARF overlay frames. The second issue relates to the encoding of a single short GF group just before a key frame. Where the last group before a key frame is an ARF group we expect the final frame before the key frame to be an low data rate overlay frame. However, when the last group is a GF group, the final frame before the key frame should be a normal frame with a normal bit allocation. This issue had the potential to cause a single poorly coded frame just before a key frame. If that key frame were a forced key frame rather than a real scene cut, this might cause pulsing. Change-Id: Idf1eb5eaf63a231495a74de7899236e1ead9fb00
2015-05-19Merge "rename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.h"James Zern
2015-05-19Merge "rename vp9_dct32x32_sse2.c to vp9_dct32x32_sse2_impl.h"James Zern
2015-05-19Merge "rename vp9_dct32x32_avx2.c to vp9_dct32x32_avx2_impl.h"James Zern
2015-05-16dec_build_inter_predictors: don't return a void fnJames Zern
split call of extend_and_predict() and return, fixes visual studio build warning since: 0a80164 Move mc_buf to cut down size of MACROBLOCKD. Change-Id: I7cdf712941ef773a07f038539cb8080dc27861cd
2015-05-15rename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.hJames Zern
this file shouldn't be built directly, it is included in vp9_dct_sse2.c to create a non-high-bitdepth and a high-bitdepth version silences missing prototype warnings for the unused FDCT* functions Change-Id: Ide6ff8c24ab31bdb0f833260505ae33660a1ad5b
2015-05-15rename vp9_dct32x32_sse2.c to vp9_dct32x32_sse2_impl.hJames Zern
this file shouldn't be built directly, it is included in vp9_dct_sse2.c to create a non-high-bitdepth and a high-bitdepth version silences missing prototype warnings for the unused FDCT32x32* functions Change-Id: I0e38f16dae5ea1728de184ee2c89287d48675c51
2015-05-15rename vp9_dct32x32_avx2.c to vp9_dct32x32_avx2_impl.hJames Zern
this file shouldn't be built directly, it is included in vp9_dct_avx2.c to create a non-high-bitdepth and a high-bitdepth version silences missing prototype warnings for the unused FDCT32x32* functions Change-Id: I4c19935c0e035b393be513bde735e9a78064a494
2015-05-15Merge changes from topic 'missing-proto'James Zern
* changes: vp9_subexp.h: add a missing prototype vp9: add some missing includes vp9 intrinsics: add vp9_rtcd include vp9: correct some function signatures vp9_variance_sse2: sync function signatures vp9/encoder: make some functions static vp9_dct_sse2: make some functions static vp9_decodeframe.c: make a function static
2015-05-15Merge "Change tx_size_search_method setting for non-rd speed 5."Marco
2015-05-15Change tx_size_search_method setting for non-rd speed 5.Marco
Use the same settting as in speed >=6. This will use same logic for tx_size selecton as in speed >=6, which limits the transform size and reduces ringing artifact. Also metrics go up on average with this change: ~2% for PSNR, ~10% for SSIM. Change-Id: Ia2d50db236ae1cc72f742bfa6c9ec5ea50ff0e0a
2015-05-15vp9_subexp.h: add a missing prototypeJames Zern
+ include the .h in the .c silences missing prototype warnings Change-Id: Ia87366dccb4bf4e9f2ffa5d3ab51ac6ca5488c91
2015-05-15vp9: add some missing includesJames Zern
mostly: <file>.c should include <file>.h silences missing prototype warnings Change-Id: Ic05ec32c6f7b2224b78825904d96d73aacad6000
2015-05-15vp9 intrinsics: add vp9_rtcd includeJames Zern
silences a missing declaration warning Change-Id: I59a34e1a1377cf3529b678d7ec0122bd43ab1bf1
2015-05-15vp9: correct some function signaturesJames Zern
silences missing prototype warnings Change-Id: Idaf68d83d2cb03847f3ee002c4d00c2ac79da604
2015-05-15vp9_variance_sse2: sync function signaturesJames Zern
+ include vp9_rtcd.h silences missing prototype warnings Change-Id: I77902f07a454029baad4fe5fe6fc37c65644e6f7
2015-05-15vp9/encoder: make some functions staticJames Zern
silences missing prototype warnings Change-Id: I3338fcaa67b5dcdf6bf237e8b374db3befd18753
2015-05-15vp9_dct_sse2: make some functions staticJames Zern
silences missing prototype warnings Change-Id: I773b6a6b5bd7c57db18c3b17c519534f80e131de
2015-05-15vp9_decodeframe.c: make a function staticJames Zern
silences a missing declaration warning Change-Id: I2f49ebca9ba7a47f3c48f5fe919b90cd4114a9bc
2015-05-15Merge "Fix illegal memory access when stream starts w/ invisible frame."Adrian Grange
2015-05-15Merge "Move mc_buf to cut down size of MACROBLOCKD."Frank Galligan
2015-05-15Merge "Revert "Skip the last frame update for some frame repeats.""paulwilkins
2015-05-14Move mc_buf to cut down size of MACROBLOCKD.Frank Galligan
Change-Id: Icea64b9e5632b41aaa7cd7018c501d6add9b7a7f
2015-05-14Fix illegal memory access when stream starts w/ invisible frame.Adrian Grange
Add a check to make sure we have a decoded frame available before copying its 'corrupt' flag. (Originally submitted to the old repository by Alexander Voronov as: https://gerrit.chromium.org/gerrit/#/c/74305/). Change-Id: Iceb4686c785afb437b668015bf8818b18d60e0ce
2015-05-14Revert "Skip the last frame update for some frame repeats."paulwilkins
Testing on another rate control patch reveals that in some situations, where the encoder is flipping in and out of arf mode, we get an encoder decoder mismatch. Whilst it is still not clear why, skipping the last buffer update seems to trigger the problem. Until I can establish why, or if there is another underlying cause, I am reverting this change. This reverts commit e5112b3ae3352c4c55fb31235305f3f80f4b8f7e. Change-Id: I315c5200414de89458015823344b7367e9dd75ba
2015-05-13Merge "Relocate memory operations for common code"Johann
2015-05-13Relocate memory operations for common codeJohann
With the sad functions, and hopefully the variance functions soon, moving to the vpx_dsp location, place the defines used in the reference C code in a common location. Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
2015-05-13Merge "mips msa vp9 idct 8x8 optimization"Parag Salasakar
2015-05-12Merge "Remove unneeded variable declaration"Yunqing Wang
2015-05-12Merge "Protect new metric computation with use_highbitdepth flag"Yaowu Xu
2015-05-12Protect new metric computation with use_highbitdepth flagYaowu Xu
The computation of new metrics is not supported yet in highbitdepth mode. This commit adds protection to make sure the computation is done only when highbitdepth is not on. This protection shall be revised when support of highbitdpeth computation is added. This resolves the encoder crash when configured with both --enable-internal-stats --enable-vp9-highbitdepth Change-Id: Id9f4bcc4fa26d9ca0e9eabade83f3f88a5b212e6
2015-05-12Remove unneeded variable declarationYunqing Wang
This patch fixed the following warning: src\third_party\libvpx\source\libvpx\vp9\encoder\vp9_pickmode.c(1607) : warning C6246: Local declaration of 'this_mode' hides declaration of the same name in outer scope. Change-Id: I1d93c4a47a13cb13089fec5bd61e8b58e6cd8d58
2015-05-12Merge "Recompute tile params on frame resize"Adrian Grange
2015-05-11Merge "build_intra_predictors*: reduce above_data size"James Zern
2015-05-11Merge "Reduce border extension by 1 line"Adrian Grange
2015-05-11Recompute tile params on frame resizeAdrian Grange
When the frame size changes we must recompute details of the tile dimensions. Change-Id: Ie519bd6da47b5cd43933c0bcfc0f2429bcb01986
2015-05-11Merge "Sort variables dependency in read_uncompressed_header"Jingning Han
2015-05-11Sort variables dependency in read_uncompressed_headerJingning Han
Remove a few repeated data structure reads from read_uncompressed_header. Change-Id: I6eb741b39f9415ad0aa4631dfbf4a1ace4eba56a
2015-05-11Fix rate control issue with layers and aq-mode=3.Marco
When aq-mode=3 is enabled, only for base layer frames should the qp of the frame incorporate the segment delta-qp. This was causing more rate mismatch for the enhancement layer frames when running temporal layers with aq-mode=3 on. Change-Id: I1c5e69d1ef8a51188af8696753c17fd8f67699b3
2015-05-11Merge "Skip the last frame update for some frame repeats."paulwilkins
2015-05-08build_intra_predictors*: reduce above_data sizeJames Zern
currently this needs to be 2x (NEED_ABOVERIGHT) the size of the largest block (32) + 1 (for above_left). reduce the buffer size from 128 + 16 (alignment) to 64 + 16. Change-Id: Idaca1806c7e1214e9437de24e15edc2ebf18f95d
2015-05-09Merge "build_intra_predictors*: reduce left_col size"James Zern
2015-05-08Fix clang ioc warning due to NULL mi pointer.hkuang
The warning only happens in VP9 encoder's first pass due to src_mi is not set up yet. But it will not fail the encoder as left_mi and above_mi are not used in the first_pass and they will be set up again in the second pass. Change-Id: I0713b4660d71e229e196654cb0970ba6b1574f28
2015-05-08Merge "Add more sse2 code for intra prediction."hkuang
2015-05-08Skip the last frame update for some frame repeats.paulwilkins
Where a frame appears to be a repeat of an earlier frame or frame buffer, but the first pass code does not anticipate this (usually because it is matching the GF or ARF buffer not the last frame buffer), do not update the last frame buffer. This helps ensure that the content of the last frame buffer is kept "different" where possible, and not updated to match the GF or ARF. This is particularly helpful in some animated sequences where there are groups of repeating frames. Here it has quite a big impact. However, in most of our standard test clips it has little or no impact. Change-Id: I77332ee1a69f9ffc0c6080bfeb811c43fd8828e6