- Jan 28, 2011
-
-
Tero Rintaluoma authored
Adds following targets to configure script to support RVCT compilation without operating system support (for Profiler or bare metal images). - armv5te-none-rvct - armv6-none-rvct - armv7-none-rvct To strip OS specific parts from the code "os_support"-config was added to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS specific parts such as OS specific includes and function calls for timers and threads etc. This was done to enable RVCT compilation for profiling purposes or running the image on bare metal target with Lauterbach. Removed separate AREA directives for READONLY data in armv6 and neon assembly files to fix the RVCT compilation. Otherwise "ldr <reg>, =label" syntax would have been needed to prevent linker errors. This syntax is not supported by older gnu assemblers. Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
-
- Jan 21, 2011
-
-
Yunqing Wang authored
-
Yunqing Wang authored
In sub-pixel calculation, xoffset and yoffset mostly take some specific values. Modified sub-pixel filter functions according to these possible values to improve performance. Change-Id: I83083570af8b00ff65093467914fbb97a4e9ea21
-
Paul Wilkins authored
Added code to scan ahead a few frames when we see what we think is a static scene in the two pass GF loop to see if the conditions persist. Moved calculation of decay rate out into a fuunction. Change-Id: I6e9c67e01ec9f555144deafc8ae67ef25bffb449
-
- Jan 20, 2011
-
-
Paul Wilkins authored
These changes are specifically targeted at fade transitions to static scenes. Here we want to place a GF/ARF immediately after the fade and prevent an ARF just before the fade. Also some code lines and comment lines shortened to 80 chars while I was there. Change-Id: Iefdc09a4fa7b265048fc017246b73e138693950f
-
Attila Nagy authored
Add --extra-cflags as config parameter for user defined extra CFLAGS. Add -g to asflags when debug enabled for arm targets. Change-Id: Ibdde7cfdda6736c1c1db45e6466bd08504a51f15
-
Adrian Grange authored
In both vp8_find_next_key_frame and define_gf_group, motion_pct was initialised at the top of the loop before next_frame stats had been read in. This fix sets motion_pct after next_frame stats have been read. Change-Id: I8c0bebf372ef8aa97b97fd35b42973d1d831ee73
-
- Jan 19, 2011
-
-
Paul Wilkins authored
-
Paul Wilkins authored
Incorrect value loop_decay_rate used in GF loop. The intent was to test the cumulative value decay_accumulator. Change-Id: I62928c63eb09f4f6936a45ebd1c23784d1c9681b
-
John Koleszar authored
-
Henrik Lundin authored
A new vpx_codec_control called VP8D_GET_FRAME_CORRUPTED. The output from the function is non-zero if the last decoded frame contains corruption due to packet losses. The decoder is also modified to accept encoded frames of zero length. A zero length frame indicates to the decoder that one or more frames have been completely lost. This will mark the last decoded reference buffer as corrupted. The data pointer can be NULL if the length is zero. Change-Id: Ic5902c785a281c6e05329deea958554b7a6c75ce
-
- Jan 18, 2011
-
-
John Koleszar authored
-
Jim Bankoski authored
Change-Id: I42a86b0488f44115f09551fc5ad6d711fd470f0d
-
Paul Wilkins authored
-
Paul Wilkins authored
This code fixes a bug in the calculation of the minimum Q for alt ref frames. It also allows an extended gf/arf interval for sections of clips that completely static (or nearly so). Change-Id: I1a21aaa16d4f0578e5f99b13bebd78d59403c73b
-
Attila Nagy authored
Remove allocation/deallocation of stats storage. Remove full search functions in machine specific encoder inits. Remove last pass validation in validate_config. Change-Id: I7f29be69273981a4fef6e80ecdb6217c68cbad4e
-
- Jan 17, 2011
-
-
Paul Wilkins authored
The CQ level was not using the q_trans[] array to convert to a 0-127 range as per min and maxq Experimental change to try and match the reconstruction error for forced key frames approximately to that of the previous frame by means of the recode loop. Though this may cause extra recodes and the recode behavior has not been optimized, it can only happen on forced key frames. Change-Id: I1f7e42d526f1b1cb556dd461eff1a692bd1b5b2f
-
- Jan 14, 2011
-
-
Paul Wilkins authored
-
Paul Wilkins authored
-
Paul Wilkins authored
-
Paul Wilkins authored
Previously when a frame was being overlaid on a previously coded alt ref frame we only checked the alt ref 0,0 mode. Where there is a possibility that the alt ref buffer is a filtered frame we should allow the other prediction modes as normal or at the least allow use of the last frame buffer. Change-Id: I4d6227223d125c96b4f3066ec6ec9484fee7768c
-
Adrian Grange authored
In cases where the frame width is not a multiple of 16 the ARNR filter would go wrong. In vp8_temporal_filter_iterate_c when updating pointers at the end of a row of MBs, the image size was incorrectly used rather than using Num_MBs_In_Row times 16 (Y) or 8 (U,V). This worked when width is multiple of 16 but failed otherwise. Change-Id: I008919062715bd3d17c7aa2562ab58d1cb37053a
-
Paul Wilkins authored
Allow use of other reference frames for the ARF overlay frame when ARNR filtering is enabled Change-Id: Icd6a9fb38977a88fbe7cc9b9c18198eb454c0273
-
Paul Wilkins authored
This change is designed to try and reduce pulsing effects when moving with a complex transition like a fade, into an easy or static section in an otherwise difficult clip in CQ mode. The active CQ level is relaxed down to the user entered level for frames that are generating less than the passed in minimum bandwidth. Change-Id: Id6d8b551daad4f489c087bd742bc95418a95f3f0
-
- Jan 13, 2011
-
-
Scott LaVarnway authored
-
Paul Wilkins authored
Fixed discrepancy cpi->ni_frames vs cm->current_video_frame > 150. Make one pass path explicit. There is still scope for some odd behaviour around the transition point at cpi->ni_frames > 150. Change-Id: Icdee130fe6e2a832206d30e45bf65963edd7a74d
-
- Jan 12, 2011
-
-
Paul Wilkins authored
Where a key frame occurs because of a minimum interval selected by the user, then these forced key frames ideally need to be more closely matched in quality to the surrounding frame. Change-Id: Ia55b1f047e77dc7fbd78379c45869554f25b3df7
-
- Jan 11, 2011
-
-
Scott LaVarnway authored
Moved ref frame calculations to outside of the mode_index loop. Change-Id: I06103fc7e8af88b54b84443acf6691d29b1272ac
-
Yunqing Wang authored
-
Johann Koenig authored
-
Johann Koenig authored
source buffer is not guaranteed to be aligned for odd size buffers Change-Id: Id0b1fd40ba3bd6c994bcfada788feccd2b53c5a9
-
Yunqing Wang authored
Add a flag to always enable block4x4 search for speed=0 (good quality) to guarantee no quality loss for speed0. Change-Id: Ie04bbc25f7e6a33a7bfa30e05775d33148731c81
-
Henrik Lundin authored
Removing unused local variables causing compiler warnings in Visual Studio. Change-Id: I0e2096303be1fdbc01428a6e57cca9796bb32c8a
-
- Jan 10, 2011
-
-
Yunqing Wang authored
The maximum possible MV in 1/8 pel units is (1<<11), which could cause mvcost out of its range that is 1023. Change maximum possible MV in 1/8 pel units to (1<<11)-8 will fix this problem. Change-Id: I5788ed1de773f66658c14f225fb4ab5b1679b74b
-
Paul Wilkins authored
Further experiment with restriction of the Q range. This uses the average non KF/GF/ARF quantizer, instead of just relying on the initial value. It is not such a strong constraint but there may be a reduced risk of rate misses. Change-Id: I424fe782a37a2f4e18c70805e240db55bfaa25ec
-
Paul Wilkins authored
Constant value reverted pending more tests on different video formats. Change-Id: I07d11a0e0185e60724698c835416caf2e0774e61
-
- Jan 07, 2011
-
-
Paul Wilkins authored
-
Paul Wilkins authored
The merge includes hooks to for CQ mode and other code changes merged from the test branch. CQ mode attempts to maintain a more stable quantizer within a clip whilst also trying to adhere to a guidline maximum bitrate. The existing target data rate parameter is used to specify the guideline maximum bitrate. A new parameter allows the user to specify a target CQ level. For normal (non kf/gf/arf) frames, the quantizer will not drop BELOW the user specified value (0-63). However, in some cases the encoder may choose to impose a target CQ that is above that specified by the user, if it estimates that consistent use of the target value is not compatible with guideline maximum bitrate. Change-Id: I2221f9eecae8cc3c431d36caf83503941b25e4c1
-
Paul Wilkins authored
-
Paul Wilkins authored
In two pass encoding each frame is given an active Q range to work with. This change limits how much this Q range can be altered over time from the initial estimate made for the clip as a whole. There is some danger this could lead to overshoot or undershoot in some corner cases but it helps considerably in regard to clips where either there is a glut or famine of bits in some sections, particularly near the end of a clip. Change-Id: I34fcd1af31d2ee3d5444f93e334645254043026e
-