summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-28Merge "Avoid text relocations in ARM vp8 decoder"Johann
2011-06-28Merge "utilize preload in ARMv6 MC/LPF/Copy routines"Johann
2011-06-28Merge "respect alignment in arm asm files"Johann
2011-06-28Merge "Simplify decode_macroblock."John Koleszar
2011-06-28Merge "use relative include path"John Koleszar
2011-06-28vpxenc: free resourcesJames Zern
Free buffers allocated for y4m input and webm cue list. Change-Id: I02051baae3b45f692cf5c7f520ea9a2d80c7b470
2011-06-28use relative include pathJohann
Files are already in vpx/ Change-Id: I67dcbb5d5b6cb55e91b4e4927ab842a1e2c9e284
2011-06-28Simplify decode_macroblock.Gaute Strokkenes
Change-Id: Ieb2f3827ae7896ae594203b702b3e8fa8fb63d37
2011-06-28New ways of passing encoded data between encoder and decoder.Stefan Holmer
With this commit frames can be received partition-by-partition from the encoder and passed partition-by-partition to the decoder. At the encoder-side this makes it easier to split encoded frames at partition boundaries, useful when packetizing frames. When VPX_CODEC_USE_OUTPUT_PARTITION is enabled, several VPX_CODEC_CX_FRAME_PKT packets will be returned from vpx_codec_get_cx_data(), containing one partition each. The partition_id (starting at 0) specifies the decoding order of the partitions. All partitions but the last has the VPX_FRAME_IS_FRAGMENT flag set. At the decoder this opens up the possibility of decoding partition N even though partition N-1 was lost (given that independent partitioning has been enabled in the encoder) if more info about the missing parts of the stream is available through external signaling. Each partition is passed to the decoder through the vpx_codec_decode() function, with the data pointer pointing to the start of the partition, and with data_sz equal to the size of the partition. Missing partitions can be signaled to the decoder by setting data != NULL and data_sz = 0. When all partitions have been given to the decoder "end of data" should be signaled by calling vpx_codec_decode() with data = NULL and data_sz = 0. The first partition is the first partition according to the VP8 bitstream + the uncompressed data chunk + DCT address offsets if multiple residual partitions are used. Change-Id: I5bc0682b9e4112e0db77904755c694c3c7ac6e74
2011-06-28Proposing an extension to the encoder and decoder interfaces.Stefan Holmer
Adding capabilities with which the encoder can output frames partition by partition, and the decoder can get input data partition by partition. Change-Id: Ieae0801480b8de8cd43c3c57dd3bab2e4c346fe0
2011-06-28Adding support for independent partitionsStefan Holmer
Adding support in the encoder for generating independent residual partitions by forcing equal probabilities over the prev coef entropy contexts. Change-Id: I402f5c353255f3ca20eae2620af739f6a498cd21
2011-06-28Avoid text relocations in ARM vp8 decoderMike Hommey
The current code stores pointers to coefficient tables and loads them to access the tables contents. As these pointers are stored in the code sections, it means we end up with text relocations. eu-findtextrel will thus complain about code not compiled with -fpic/-fPIC. Since the pointers are stored in the code sections, we can actually cheat and let the assembler generate relative addressing when accessing the coefficient tables, and just load their location with adr. Change-Id: Ib74ae2d3f2bab80b29991355f2dbe6955f38f6ae
2011-06-27Fix after removal of B_MODE_INFOFritz Koenig
Change Ieb746989: Removed B_MODE_INFO missed this. Change-Id: I32202555581cc2a5d45e729c6650ada4d2df55d3
2011-06-27Merge "configuration, support disabling any subset of ARM arch"Johann
2011-06-27respect alignment in arm asm filesJohann
Conversion script was discarding alignment. Also, set default alignment to 4 bytes. Change-Id: I1e9cbbb8c142bdf93df4e9aaccf967ed43dff906 https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/789198
2011-06-27Adding support for error concealment in multi-threaded decodingStefan Holmer
Also includes a couple of error concealment bug fixes: - the segment_id wasn't properly initialized when missing - when interpolating and no neighbors are found, set to zero - clear the qcoef buffer when concealing an MB Change-Id: Id79c876b41d78b559a2241e9cd0fd2cae6198f49
2011-06-24Fixed initialization of frame buffer ref countersAdrian Grange
Only the first frame buffer ref counter was being initialized because the index was fixed at 0 rather than using i. Change-Id: Ib842298be4a5e3607f9e21c2cd4bfbee4054ffc4
2011-06-23Revert "Reduce overshoot in 1 pass rate control"John Koleszar
This reverts commit 212f6183739d448ad5fa2ccf1b4edd30829b2806. Further testing shows that the overshoot accumulation/damping is too aggressive on some clips. Allowing the accumulated overshoot to decay and limiting to damping to golden frames shows some promise. But some clips show significant overshoot in the buffer window, so I think this still needs work. Change-Id: Ic02a9ca34f55229f9cc04786f4fab54cdc1a3ef5
2011-06-23Merge "Fix parallel install"John Koleszar
2011-06-23Merge changes I2807b5a1,I59b020c2John Koleszar
* changes: vpxenc: add rate histogram display vpxenc: add quantizer histogram display
2011-06-23vpxenc: add rate histogram displayJohn Koleszar
Add the --rate-hist=n option, which displays a histogram with n buckets for the rate over the --buf-sz window. Change-Id: I2807b5a1525c7972e9ba40839b37e92b23ceffaf
2011-06-23vpxenc: add quantizer histogram displayJohn Koleszar
Add the --q-hist=n option, which displays a histogram with n buckets for the quantizer selected on each frame. Change-Id: I59b020c26b0acae0b938685081d9932bd98df5c9
2011-06-22get/set reference buffer dimension check addedJames Berry
vp8_yv12_copy_frame_ptr() expects same size buffers which was not previously gaurenteed. Using an improperly allocated buffer would cause a crash before. Change-Id: I904982313ce9352474f80de842013dcd89f48685
2011-06-22Fix parallel installAlexis Ballier
Require the destination to be present before trying to create the symlink. See: http://bugs.gentoo.org/show_bug.cgi?id=323805 Change-Id: I14ed4a9792dedc289885a9a43bc5a86cb792206d
2011-06-21Merge "adjusting the calculation of errorperbit"Yaowu Xu
2011-06-21Merge "Improved vp8dx_decode_bool"Scott LaVarnway
2011-06-21Merge "Remove unnecessary bounds checking in motion search"Yunqing Wang
2011-06-21configuration, support disabling any subset of ARM archAttila Nagy
Useful for leaving out any version specific asm files. Change-Id: I233514410eb9d7ca88d2d2c839673122c507fa99
2011-06-20adjusting the calculation of errorperbitYaowu Xu
RDMULT/RDDIV defines a bit worth of distortion in term of sum squared difference. This has also been used as errorperbit in subpixel motion search, where the distortions computed as variance of the difference. The variance of differences is different from sum squared differences by amount of DC squared. Typically, for inter predicted MBs, this difference averages around 10% between the two distortion, so this patch introduces a 110% constant in deriving errorperbit from RDMULT/RDDIV. Test on CIF set shows small but positive gain on overall PSNR (.03%) and SSIM (.07%), overall impact on average PSNR is 0. Change-Id: I95425f922d037b4d96083064a10c7cdd4948ee62
2011-06-20Improved vp8dx_decode_boolScott LaVarnway
Relocated the vp8dx_bool_decoder_fill() call, allowing the compiler to produce better assembly code. Tests showed a 1 - 2 % performance boost (x86 using gcc) for the 720p clip used. Change-Id: Ic5a4eefed8777e6eefa007d4f12dfc7e64482732
2011-06-17utilize preload in ARMv6 MC/LPF/Copy routinesTaekhyun Kim
About 9~10% decoding perf improvement on non-Neon ARM cpus Change-Id: I7dc2a026764e84e9c2faf282b4ae113090326837
2011-06-17Remove unnecessary bounds checking in motion searchYunqing Wang
The starting points are always within the limits, and bounds checking on these points is not needed. For speed < 5, the encoded result changes a little because different treatment is taken while starting point equals the bounds. Change-Id: I09a402d310f51e305a3519f1601b1d17b05c6152
2011-06-17Merge "Use SSE as BPRED distortion metric consistently"John Koleszar
2011-06-16Assign boost to GF bit allocation if past frame had no ARF.Ronald S. Bultje
Modify the second-pass code to provide a full golden-frame (GF) bit allocation boost if the past GF group (GFG) had no alt-ref frame (ARF), even if the current GFG does contain and ARF. This mostly has no effect on clips, since switching ARFs on/off between GFGs is not very common. Has a positive effect on e.g. cheer (+0.45 SSIM at 600kbps) and football (+0.25 SSIM at 600kbps), particularly at high bitrates. Has a negative effect (-0.04 SSIM at 300kbps) at pamphlet, which appears only marginally related to this patch, and crew (-0.1 SSIM at 700kbps). Change-Id: I2e32899638b59f857e26efeac18a82e0c0b77089
2011-06-16Merge "Disable specialcase for last frames if the sequence contains ARFs."John Koleszar
2011-06-16Merge "gen_msvs_proj: write boolean for Debug attribute"John Koleszar
2011-06-15gen_msvs_proj: write boolean for Debug attributeJames Zern
Replace =1 with =true for yasm tool element. This aids in upgrading e.g., vs9 project files to vs10. build/x86-msvs/yasm.xml generated during conversion will require the Separator attribute to be removed for the build to complete successfully. Change-Id: If75c4f9a925529740048882003e9d766c5ac4f0c
2011-06-15Merge "Remove redundant check for KEY_FRAME in multithreaded decoder"John Koleszar
2011-06-15Use SSE as BPRED distortion metric consistentlyJohn Koleszar
The BPRED mode selection uses SSE as a distortion metric, but the early breakout threshold being used was a variance value. Change-Id: I42d4602fb9b548bf681a36445701fada5e73aff1
2011-06-15Merge "fix --disable-runtime-cpu-detect on x86"John Koleszar
2011-06-15Disable specialcase for last frames if the sequence contains ARFs.Ronald S. Bultje
firstpass.c contains some rate adjustment code that assures that the last few frames in a sequence abide by rate limits. If the second-to- last group of frames contains an alt-ref frame (ARF), the last golden frame (GF) is zero bytes, and we will thus spend a ridiculously high number of bits on regular P-frames trying to hit the target rate. This does slightly enhance the quality of these last few frames, but has no perceptual value (other than hitting the target rate). Disabling this code means we consistently (slightly) undershoot the target rate and consequently do worse on the last few frames of a clip, which is particularly noticeable for small clips. The quality- per-bitrate is generally better, ~0.2% better overall on derf-set, especially on clips such as garden, tennis, foreman at low bitrates. Has a negative effect on hallmonitor at high bitrates. Change-Id: I1d63452fef5fee4a0ad2fb2e9af4c9f2e0d86d23
2011-06-15Guard vpx_config.h against multiple inclusionsAttila Nagy
Change-Id: Iabe2be73af2b92c53687755b31b77448fba385d2
2011-06-15Remove redundant check for KEY_FRAME in multithreaded decoderAttila Nagy
For Intra blocks is enough to check ref_frame == INTRA_FRAME. Change-Id: I3e2d3064c7642658a9e14011a4627de58878e366
2011-06-14Merge "Populate bmi for B_PRED only"Scott LaVarnway
2011-06-14fix --disable-runtime-cpu-detect on x86Johann
Change-Id: Ib8e429152c9a8b6032be22b5faac802aa8224caa
2011-06-14Merge "Fix RT only build"Paul Wilkins
2011-06-14Fix RT only buildTero Rintaluoma
Moved encode_intra function from firstpass.c to encodeintra.c to prevent linking problem in real-time only build. Also changed name of the function to vp8_encode_intra because it is not a static. Change-Id: Ibf3c6c1de3152567347e5fbef47d1d39564620a5
2011-06-14Update -linux-rvct targetsTero Rintaluoma
- Updated -linux-rvct targets to support RVDS 4.0 and later. - Changed optimization flag to -Otime because -O3 ruined performance for RVCT linux targets. - Added support for --enable-small for RVCT - RVCT created library should be able to link with GCC - Supports building shared linux libraries Change-Id: Ic62589950d86c3420fd4d908b8efb870806d1233
2011-06-13fix corrupt frame leakJames Zern
If setup_token_decoder reported an internal error the memory allocated there would not be freed in the resulting call to _remove_decompressor. Change-Id: Ib459de222d76b1910d6f449cdcd01663447dbdf6
2011-06-13Populate bmi for B_PRED onlyScott LaVarnway
Small decode performance gain (~1%) on keyframes. No noticeable gains on encode. Also changed pick_intra4x4mby_modes() to read the above and left block modes for keyframes only. Change-Id: I1f4885252f5b3e9caf04d4e01e643960f910aba5