summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2013-01-25Adding a frame parallel decoding modeDeb Mukherjee
Adds a flag to disable features that would inhibit frame parallel decoding. This includes backward adaptation and MV sorting based on search in ref frame buffer. Also includes some minor clean-ups. Change-Id: I434846717a47b7bcb244b37ea670c5cdf776f14d
2013-01-11Upstream changes from Chromium Android Clang build.Frank Galligan
See https://codereview.chromium.org/11875006/ Change-Id: Ied2a17df2b3222635f84aef120eaa9feb53750d2
2013-01-08Merge vp9-preview changes into experimental branchJohn Koleszar
Incorportate vp9-preview changes by merging master branch into experimental. Conflicts: test/test.mk vp9/common/vp9_filter.c vp9/common/vp9_idctllm.c vp9/common/vp9_invtrans.h vp9/common/vp9_mbpitch.c vp9/common/vp9_rtcd_defs.sh vp9/common/vp9_systemdependent.h vp9/common/vp9_type_aliases.h vp9/common/x86/vp9_asm_stubs.c vp9/common/x86/vp9_subpixel_mmx.asm vp9/decoder/vp9_decodframe.c vp9/decoder/vp9_dequantize.c vp9/decoder/vp9_dequantize.h vp9/decoder/vp9_onyxd_int.h vp9/encoder/vp9_bitstream.c vp9/encoder/vp9_encodeframe.c vp9/encoder/vp9_rdopt.c Change-Id: I17f51c3666d1b59cf1a699f87607cbc5d30a87c5
2013-01-03Use seg/ref/mode offsets in loop_filter_partial.Marco Paniconi
Use the proper seg/mode/ref filter offsets when selecting the frame loop filter level for fast mode (pick_filter_level_fast). Change-Id: I2473e2131c800ad19755cb6211ad735fecfe2ac0
2012-12-27Merge branch 'vp9-preview' of review:webm/libvpxJohn Koleszar
Merge the vp9-preview branch into master. Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-12-20add emmintrin_compat.h for builds with gcc < 4James Zern
Change-Id: If7822e6fcd0d3568b934032322b19ba3e401df26
2012-12-18Changed MAX_PSNR to 100Yaowu Xu
The MAX_PSNR was used to assign a "psnr" number when the mse is close to zero. The direct assignment is used to prevent divide by zero in computation. Changing it from 60 to 100 to be consistent against what is being done in VP9 Change-Id: I4854ffc4961e59d372ec8005a0d52ca46e3c4c1a
2012-12-11Merge "Bug fix: use correct count_mb_ref_frame_usage"Scott LaVarnway
2012-12-10Bug fix: use correct count_mb_ref_frame_usageScott LaVarnway
Change-Id: I9702f3e9ed664c2537e7874698c944620b07fff8
2012-12-10Moved error_bins to macroblock structScott LaVarnway
Change-Id: Ic9956ddf1c2ddffcf7be7fdfc23ad9a2426fc47a WIP: Fixing unsafe threading in VP8 encoder.
2012-12-10Merge "Moved zbin_mode_boost to macroblock struct"Scott LaVarnway
2012-12-10Update correct macroblock quantize_b function ptrsScott LaVarnway
WIP: Fixing unsafe threading in VP8 encoder. Use the passed in macroblock instead of the macroblock located in cpi. Change-Id: I1bfa07de6ea463f2baeaae1bae5d950691bc4afc
2012-12-10Moved zbin_mode_boost to macroblock structScott LaVarnway
Fixing unsafe threading in VP8 encoder. Change-Id: Ibf4c89a2043654834747811bc11eb283de0bb830
2012-12-10Moved zbin_over_quant to macroblock structScott LaVarnway
Change-Id: I76fe20ade099573997404b8733cf7f79e82fb21e WIP: Fixing unsafe threading in VP8 encoder.
2012-12-07Moved denoiser frame copy/updates out of loopfilter threadScott LaVarnway
The loopfilter thread from the previous frame can be running while starting the current frame. cpi->Source will change during this time causing the wrong data to be copied. The refresh_x_frame flags also change, which will cause incorrect updates of the denoised buffers. Change-Id: I7d982b4fcb40a0610801332aa85f3b792c64e4c3
2012-12-06Merge "added work buffer for denoiser"Scott LaVarnway
2012-12-05added work buffer for denoiserScott LaVarnway
The denoiser was writing to LAST_FRAME buffer. If LAST_FRAME isn't being updated, the reference frame buffers were out of sync between the encoder and the denoised raw buffers. This patch resolves the discrepancy by always writing to a work buffer (INTRA_FRAME) and then copying from that buffer to any buffers that needs to be updated. Change-Id: I6dd855b9749978b542bc3d515914d5f16faf25df
2012-12-05Move vp8_scale_frame to vpx namespaceJohann
Change-Id: I92d613e89c8f1174eca0789116120bfa20c25c28
2012-12-05Use 'vpx_scale' consistentlyJohann
Change-Id: I178352813d2b8702d081caf405de9dbad9af2cc3
2012-12-05Disable background update on non-base layer framesAdrian Grange
Multi-threaded code was not updated to disable background refresh for non base-layer frames at the time it was disabled in the main C-code. Change-Id: Id6cc376130b7def046942121cfd0526b4f0a71d4
2012-12-05Remove ARM optimizations from VP9Johann
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
2012-12-05Update ARM for vpx_scale changesJohann
Refactor asm_offsets for vpx_scale. Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
2012-12-05Removed check_gf_quality()Scott LaVarnway
and various unused members in VP8_COMP along with other code cleanups. Change-Id: I56c6c0a77a51f5ac5cbd6071017bcbfd2623b7df
2012-12-04Moving mbs_tested_so_far, mode_test_hit_counts to macroblock structScott LaVarnway
Change-Id: Ifa78c0a953fab3e5dd7af0446924846c7022cd09
2012-12-03Remove ARM optimizations from VP9Johann
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
2012-12-03Update ARM for vpx_scale changesJohann
Refactor asm_offsets for vpx_scale. Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
2012-12-03Merge "Moving rd_thresh_mult, rd_threshes to macroblock struct"Scott LaVarnway
2012-12-03Merge "Moving count_mb_ref_frame_usage to macroblock struct"Scott LaVarnway
2012-11-29a vp8 warning to boot.Jim Bankoski
Change-Id: I32ed051c8b4d3e5afa4e13bb4e3b2ca5e922ff64
2012-11-27Revert "make: flatten object file directories"John Koleszar
This reverts commit b72373de79800e801ce730d24cb115daf78ae660. Change-Id: Ic1601160e11df1a018ef12da25967cfb5eebd5ba
2012-11-26Updates to qp-regulate and rate correction factor.Marco Paniconi
Don't use the switch to gf_rate_correction factor when temporal layers is used (i.e., cpi->oxcf.number_of_layers > 1). In temporal layers, we prefer to avoid this as any frame (e.g., base layer frame at anchor of pattern) may update both last and golden (and possibly alt-ref), and so we would get different rate correction factors within the same layer. This change will make sure one rate correction factor exists for each layer. Also, made some other code in qp-regulate that depends on alt/golden update specific to the 1 layer case. Change-Id: I41a6d085bd477f9307ef3b3c311695214273892c
2012-11-26Merge "vp8_intra_pred_y_tm_sse2: save/restore xmm registers"James Zern
2012-11-24removed the idct rtcd idct callsJim Bankoski
More cleanup to do after this, but this is a good chunk of removing rtcd. Change-Id: I551db75e341a0a85c3ad650df1e9a60dc305681a
2012-11-20Merge "vp8_loop_filter_bh_y_sse2: save/restore xmm registers"John Koleszar
2012-11-20vp8_filter_block1d4_h6_ssse3: add missing xmm restoreJames Zern
Change-Id: Ia8f6b6c2a9ed60bee7949dd06fcc18b392e91d76
2012-11-20vp8_loop_filter_bh_y_sse2: save/restore xmm registersJames Zern
xmm[6-11] should be saved and restored for Windows x64; prevents an encoder mismatch and some datarate issues. Change-Id: I03c38eb18ec20c6c441cae19416393058baad1ee
2012-11-19vp8_intra_pred_y_tm_sse2: save/restore xmm registersJames Zern
xmm6/xmm7 should be saved and restored for Windows x64; prevents an encoder mismatch and some datarate issues. Change-Id: Ifa1a82ab25fbdc5112d66f5332e14b16e69ac164
2012-11-15Each make file is responsible for its own directoryJohann
Change-Id: Ia8a59ce79045af209e49c68810bae44616422db5
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-11-15make: flatten object file directoriesJohn Koleszar
Rather than building an object file directory heirarchy matching the source tree's layout, rename the object files so that the object file name contains the path in the source file tree. The intent here is to allow two files in different parts of the source tree to have the same name and still not collide when put into an ar archive. Change-Id: Id627737dc95ffc65b738501215f34a995148c5a2
2012-11-09Merge "use calloc() instead of malloc()"John Koleszar
2012-11-07Rough merge of master into experimentalJohn Koleszar
Creates a merge between the master and experimental branches. Fixes a number of conflicts in the build system to allow *either* VP8 or VP9 to be built. Specifically either: $ configure --disable-vp9 $ configure --disable-vp8 --disable-unit-tests VP9 still exports its symbols and files as VP8, so that will be resolved in the next commit. Unit tests are broken in VP9, but this isn't a new issue. They are fixed upstream on origin/experimental as of this writing, but rebasing this merge proved difficult, so will tackle that in a second merge commit. Change-Id: I2b7d852c18efd58d1ebc621b8041fe0260442c21
2012-11-06Incorrect parameter passed into vp8_stuff_mbScott LaVarnway
Should be MACROBLOCK, not MACROBLOCKD Change-Id: I0353bbdf085a181ae2ac1f0b96849b38566e9f6a
2012-11-06Moving count_mb_ref_frame_usage to macroblock structScott LaVarnway
Change-Id: I44e4e3869f231ae270cca98c9565f23c512e3ddf
2012-11-06Merge "Removed mb_norm_activity_map"Scott LaVarnway
2012-11-06Moving rd_thresh_mult, rd_threshes to macroblock structScott LaVarnway
Change-Id: I650a593162280ab40e71e527ec6518303e2d5723
2012-11-06use calloc() instead of malloc()Pascal Massimino
So that, in case of error, the arrays are not filled with trash pointers that are attempted a free() during vp8mt_de_alloc_temp_buffers() Change-Id: Ic074549c2903a43316510eb42e4f393e7d3ee528
2012-11-06Removed mb_norm_activity_mapScott LaVarnway
Not used. Change-Id: I07ba929e3ff82b4b0c86f731769cdf5434c7a816
2012-11-06Moving _error counts to macroblock structScott LaVarnway
Change-Id: I28ac1519d1594801fef9a623cb64598d3d751eb0
2012-11-06Moving MVcount to macroblock structScott LaVarnway
Change-Id: Ie22841d096f3c86694b95bd06fc3a8ce1f032a10