summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
2013-11-01Fixes to buffer update for temporal layers.Marco Paniconi
When a frame is dropped due to |buffer_level| < 0 for a given temporal layer, the buffer level for the upper temporal layers was not updated (in calc_pframe_target_size()). This change fixes that. Also, use the layer per-frame-bandwidth for updating the buffer level of the higher layers when a frame is dropped. Change-Id: I660c23f3229b47e9d124a950b480314b4307c5a8
2013-10-17fix a VP8 build issueYaowu Xu
coef_counts is now in cpi->mb, instead of cpi. The commit corrected the mis-use and enable succefual build. Change-Id: I0e77909d34571cfd2560c66b46b1f8fa0cd1a6b4
2013-09-26fixed integer overflow warningsYaowu Xu
Jenkins warns on left shift of negative numbers and non-aligned read of int. This commit fixed the two issues. Change-Id: I389a7fb6a572c643902e40a4c10fefef94500d2c
2013-09-23change to prevent computatio of log(0.0)Yaowu Xu
Change-Id: I5759f309f94a2b5c1297e6db3735c52986d3ecb2
2013-09-23fix integer overflow in vp8Yaowu Xu
Change-Id: I62550a7a883115f3ce878710cf3bb039bea54390
2013-08-09renamed vp8_yv12_copy_y to vpx_yv12_copy_yYaowu Xu
Becuase the routine is used by both vp8 and vp9 Change-Id: I2d35b287b5bc2394865d931a27da61f4ce7edeeb
2013-07-18VP[89]_COMMON: remove golden/altref frame countsJames Zern
these are only used in the encoder. frames_since_golden / frames_till_alt_ref_frame -> VP[89]_COMP Change-Id: Ie14a6f46987bced685ddb449b85dc261caba6dfe
2013-07-16use consistent framerate namingJames Zern
s/frame_rate/framerate/g Change-Id: I6fc3e088e419c5f46e3a9390dd8a2cad2677a2fc
2013-07-12yv12config: remove YUV_TYPEJames Zern
this was never fleshed out in the context of VP8, for which it was added. for VP9 it has no meaning. Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff
2013-06-12Fix compile warnings on windows.Frank Galligan
Change-Id: If74bc6110016bc75ea3883ab136fbbac88f6a913
2013-06-11Merge branch 'master' into experimentalJohn Koleszar
Change-Id: Ie648398b82f7311143709f55c0e30ba452f50eff
2013-06-07Specify mv neighborhood for block larger than 8x8Yaowu Xu
The new neighorbhood adapts to the shape and size of the block type cif +.16% stdhd +.13% Change-Id: I978db58278e9ae3fbd6726ef831bdfc5f5f37d02
2013-06-05Fixed crash in VP8/CQTestScott LaVarnway
If the codec was configured with --enable-internal-stats, a seg fault would occur. This patch fixes the problem. Change-Id: Id10a577973d185e93037c59e5b36bebdded327da
2013-06-04Condition the zbin_boost increase to 1 layer.Marco Paniconi
Condition the existing zbin boost logic for gf/altf mode to temporal layers==1, since gf/altf reference frames are used in temporal layers as reference frames. Change-Id: I618bb20730e5f193e078215d06f54997c363dd7b
2013-05-23Remove type from vmvnJohann
datatype is optional for the instruction but clang refuses it. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHIJIHC.html It is still required when using an immediate. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHGGEEB.html Change-Id: I0fae956c8c0fa3f97578ce80abea247f7fc88705
2013-05-21Fixes for run-time change in temporal layers.Marco Paniconi
Use a separate counter for resetting the pattern upon a change in temporal layers, and set/initialize the layer context parameters for the new temporal layer state. Also moved the setting of layer configuation in init_config() to a separate function. Change-Id: Ic7fc023a1e5490020509e107004645098f4c00f0
2013-04-26Merge branch 'master' into experimentalJohann
Conflicts: vp9/common/vp9_findnearmv.c vp9/common/vp9_rtcd_defs.sh vp9/decoder/vp9_decodframe.c vp9/decoder/x86/vp9_dequantize_sse2.c vp9/encoder/vp9_rdopt.c vp9/vp9_common.mk Resolve file name changes in favor of master. Resolve rdopt changes in favor of experimental, preserving the newer experiments. Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
2013-04-24Rename quantize_sse2_intrinsics.cJohann
The only reason for the _intrinsics part of the file name was for the interim period where only one of the functions was redone and the base file name was the same. Change-Id: I7851154f1633d48821bee885b1cadb2148e65a23
2013-04-19Merge "Removed shadow warnings : postproc.c decodframe.c threading.c"Scott LaVarnway
2013-04-19Merge "Removed shadow warnings : mcomp.c rdopt.c"Scott LaVarnway
2013-04-19Merge "Removed shadow warnings : bitstream.c encodeframe.c onyx_if.c"Scott LaVarnway
2013-04-17Merge "Include RTCD header in encodeframe.c"Johann
2013-04-16Merge branch 'experimental' into masterJohn Koleszar
VP9 preview bitstream 2, commit '868ecb55a1528ca3f19286e7d1551572bf89b642' Conflicts: vp9/vp9_common.mk Change-Id: I3f0f6e692c987ff24f98ceafbb86cb9cf64ad8d3
2013-04-15Include RTCD header in encodeframe.cJohann
The file uses functions defined in vp8_rtcd.h but did not include the header. Change-Id: I110196ddc9181e533be1fe656e21c1791cabe226
2013-04-15Initial addition of multiple ARF framesAdrian Grange
This is work-in-progress, it implements multiple ARF encoding behind an experimental flag. It adds the ability to insert multiple ARF frames into a single ARF group. This patch implements the reordering of the coded frames, and implements a fixed-length coding pattern. It applies a fixed quantizer strategy based on where the frame is in the coding sequence. Further work to modify the rate control strategy is ongoing and will be submitted via a set of future patches. In this first step, each ARF group is recursively bisected and an ARF frame added at that position in the sequence. The recursion continues until ARF frames are within MIN_GF_INTERVAL frames. The code sits behind the "multiple-arf" experimental flag ("CONFIG_MULTIPLE_ARF"). The experimental flag "oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled for this patch to work correctly. Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
2013-04-11Fix for multi-res-encoding:Marco Paniconi
Use local variable for setting the improved prediction mode. cpi->sf.improved_mv_pred is set/fixed at the frame level and should not be changed inside pick_inter_mode. Change-Id: Ie28d9171ac000e631af0e30204970e3d4fff3078
2013-03-27Merge branch 'master' into experimentalJohn Koleszar
Pick up VP8 encryption, quantization changes, and some fixes to vpxenc Conflicts: test/decode_test_driver.cc test/decode_test_driver.h test/encode_test_driver.cc vp8/vp8cx.mk vpxdec.c vpxenc.c Change-Id: I9fbcc64808ead47e22f1f22501965cc7f0c4791c
2013-03-22Remove gcc-specific __label__Shimon Doodkin
Use unique names and ditch the local label declaration. Visual Studio does not support it. https://code.google.com/p/webm/issues/detail?id=561 Change-Id: Ica643cf5abb56ee6156371f5bf73fdeb58014422
2013-03-20Removed mode_chosen_countsScott LaVarnway
This eliminates a tsan warning. Change-Id: I204d109b12adb4e347762e63d12859244f28d1a9
2013-03-18ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/.Ronald S. Bultje
Change-Id: I0027483e47900de84394de47c3273cc8292e6119
2013-03-14Removed shadow warnings : postproc.c decodframe.c threading.cScott LaVarnway
and denoising.c Adding -Wshadow to CFLAGS generated a bunch of warnings. This patch removes these warnings. Change-Id: I434a9f4bfac9ad4ab7d2a67a35ef21e6636280da
2013-03-14Removed shadow warnings : mcomp.c rdopt.cScott LaVarnway
Adding -Wshadow to CFLAGS generated a bunch of warnings. This patch removes these warnings. Change-Id: Ib498de4b8652051d257cf86dcb40d2968a5013ae
2013-03-14Removed shadow warnings : bitstream.c encodeframe.c onyx_if.cScott LaVarnway
ratectrl.c and quantize.c Adding -Wshadow to CFLAGS generated a bunch of warnings. This patch removes these warnings. Change-Id: I8c8faa9fde57c1c49662d332a90bc8d9a0f4a2ce
2013-03-05vp8: clamp probability valuesJames Zern
fixes out of bounds reads on vp8_prob_cost table. present since: 217591f Added rate-targeted temporal scalability v0.9.7-p1-71-g217591f Change-Id: I9194b773098a381f1e3f67bd3307f05df27c24fd
2013-03-04Rename quantize_sse2.c to quantize_sse2_intrinsics.c to avoid collision.Ronald S. Bultje
Change-Id: I5637d491eb6a9b7633f72e03fd9df72131eeb121
2013-03-02prefix vp8 asm_{com,dec,enc}_offsets filesJames Zern
make them symmetrical with the generated output and their vp9 counterparts Change-Id: I72cc97c4d33d713dff620a6d7cc25955266216fc
2013-03-01Merge "Use intrinsics for sse2 regular quantize"Johann
2013-02-28Use intrinsics for sse2 regular quantizeJohann
Remove dependency of this function on asm_offsets. ssse3/sse4 next. Change quant_shift calculation so it be done using SIMD. Pre-calculate as much as possible to simplify EOB selection. Take advantage of qcoeff being zero'd by tying the if statements together. Speed parity with previous implementation with gcc x86_64 linux Change-Id: Ife97556a1eca3a74b09def1a3d04084974dff1fb
2013-02-28firstpass.c: correct casting around gf_group_bitsJames Zern
gf_group_bits is int64_t remove casts to int. Change-Id: I3b4225905041fac9af9fdfcbcb6f1c357ea4b593
2013-02-28Merge "vp8 fast quantizer with intrinsics"Johann
2013-02-27Merge "vp8/encoder/mcomp.c: remove an unused variable"James Zern
2013-02-27Fix --as=nasm compatibility for new asm code.Jan Kratochvil
s/movd/movq/ Change-Id: Id1a56de91551f8dc796f14f1056c565dfc1ba626
2013-02-26vp8 fast quantizer with intrinsicsJohann
Reduce dependency on offsets file by using intrinsics. Disassembly shows improvements over previous assembly specifically in register management, preloading, and {pro,epi}log. Speed change is within margin of error. Change-Id: I8131b4b4d62bc092407fe847bfaa8f2c0e1384ff
2013-02-22vp8/encoder/mcomp.c: remove an unused variableJames Zern
Change-Id: I980da3c70f7cee1b723ede0ed2ae527ac7cd6a51
2013-02-22Merge "vp8: make gf_group_bits 64-bit"James Zern
2013-02-22vp8: make gf_group_bits 64-bitJames Zern
avoids signed integer overflow; matches kf_group_bits Change-Id: I193145cdc4fa53e70fba0a1731a03eb1a574931d
2013-02-22vp8_first_pass(): avoid floating point div by 0James Zern
Change-Id: Id1e6a12db6b0c1d3f64ead8fd8834aadc30fbed2
2013-01-31Merge "Add support for x64 and win64 yasm flags."John Koleszar
2013-01-31Add support for x64 and win64 yasm flags.Frank Galligan
Some projects must define only win64 for Windows 64bit builds using yasm. Change-Id: I1d09590d66a7bfc8b4412e1cc8685978ac60b748
2013-01-31Fix for divide by zero in vp8_adjust_key_frame.Marco Paniconi
Change-Id: I3bf9bdd95abfd287fbcb644f4fb85fb9204be95a