Age | Commit message (Collapse) | Author |
|
|
|
|
|
Skip filter at zero offset.
Change-Id: I95fc7e211869bc0ab5bcfb7ab2e3259d1c0ccf38
|
|
|
|
1. Process 16 pixels at one time instead of 8.
2. Add check for both xoffset =0 and yoffset=0, which happens
during motion search.
This change gave encoder 1%~3% performance gain.
Change-Id: Idaa39506b48f4f8b2fbbeb45aae8226fa32afb3e
|
|
GCC 4.5 and 4.6 both issue a warning about the multi-line format
string introduced in bc9c30a0, which also changed the whitespace
in the associated stt file by line-wrapping the long format string.
Instead, use multiple string constants, which the compiler will
concatenate. This maintains the original formatting, but remains
legible within the standard line length.
Change-Id: I27c9f92d46be82d408105a3a4091f145f677e00e
|
|
Change-Id: Icc9f12bd1e1bdaf51256dc8a90d08aa9be89ef34
|
|
* changes:
Improved key frame detection.
Improved KF insertion after fades to still.
|
|
Disable zbin boost in SPLITMV mode as intended. Was incorrectly looking
at vp8_ref_frame_order instead of vp8_mode_order when comparing against
SPLITMV. This condition should have always been false, as SPLITMV is
not in the range of valid reference frames.
Change-Id: I0408cc7595eff68f00efef6d008e79f5b60d14bf
|
|
In some cases where clips have been encoded with
borders (eg. some wide-screen content where there is a
border top and bottom and slide shows containing portrait
format photographs (border left and right)) key frames were
not being correctly detected.
The new code looks to measure cases where a portion of
the image can be coded equally easily using intra or inter
modes and where the resulting error score is also very low.
These "neutral" areas are then discounted in the key frame
detection code.
Change-Id: I00c3e8230772b8213cdc08020e1990cf83b780d8
|
|
This code extends what was previously done for GFs, to pick
cases where insertion of a key frame after a fade (or other
transition or complex motion) followed by a still section, will
be beneficial and will reduce the number of forced key frames.
Change-Id: If8bca00457f0d5f83dc3318a587f61c17d90f135
|
|
|
|
|
|
|
|
Change-Id: I7b2fb326e1aabc08b032177a7b914a5b8bb7376f
|
|
Change-Id: I9d8a98a2f7ed1e3116d0bae35164618c41998bac
|
|
When the modified_error_left accumulator exceeds INT_MAX, an incorrect
cast to int resulted in a negative value, causing the rate control to
allocate no bits to that keyframe group, leading to severe undershoot
and subsequent poor quality.
This error was exposed by the recent change to the rolling target and
actual spend accumulators in commit 305be4e4 which fixed them to
actually calculate the average value rather than be re-initialized
on every frame to the average per-frame bitrate. When this bug was
triggered, the target bitrate could be 0, so the rolling target
becomes small, which causes the undershoot. The code prior to 305be4e4
did not exhibit this behavior because the rolling target was always
set to a reasonable value and was independent of the actual target
bitrate. With this patch, the actual target bitrate is calculated
correctly, and the rate control tracks as expected.
This cast was likely added to silence a compiler warning on a comparison
between a double (modified_error_left) and an int (0). Instead, this
patch removes the cast and changes the comparison to be against 0.0,
which should prevent the warning from reoccuring.
This fixes issue #289. Special thanks to gnafu for his efforts in
reporting and debugging this fix.
Change-Id: Ie5cc1a7b516c578a76c3a50c892a6f04a11621fe
|
|
|
|
|
|
|
|
This improved encoding performance by 0.5% (good, speed 1) to
1.5% (good, speed 5).
Change-Id: I843d72a0d68a90b5f694adf770943e4a4618f50e
|
|
|
|
|
|
|
|
Change-Id: I726976a297a593a35ed6cba3c660e372562f7b27
|
|
Check is done first when function si entered.
Change-Id: Ief0d0cbd4860aaf492b78728f8d22f24029b1174
|
|
and used defines instead.
Change-Id: Idb56e0295d004793f406dfd2d8d8c546aad62e03
|
|
|
|
Removed unnecessary copies. No noticeable speed gains.
Change-Id: I996c50c23fedd06d54ee7a3e762cbf559cc4a9d1
|
|
This fixes an overflow problem in the frame error accumulators.
The overflow condition is extreme but did trigger when Frank B.
coded some high motion interlaced HD content.
The observed effect was a catastrophic breakdown of the rate
control leading to massive undershoot and poor bit allocation.
All the error values should really be unsigned but I will look at this
separately.
Change-Id: I9745f5c5ca2783620426b66b568b2088b579151f
|
|
Adds following ARMv6 optimized functions to the encoder:
- vp8_variance_halfpixvar16x16_h_armv6
- vp8_variance_halfpixvar16x16_v_armv6
- vp8_variance_halfpixvar16x16_hv_armv6
Change-Id: I1e9c2af7acd2a51b72b3845beecd990db4bebd29
|
|
Change-Id: I0d0445c57eb0889082f83de1948852d57b38fefb
|
|
It is not used in realtime mode. Reduces memory footprint.
Change-Id: I7f163225762368df5457cfd413050161d3704a3f
|
|
This reverts commit f50f2fd2a73f2c5ee3f10ad077e780398df17cd7.
Change Ib7506e3e aligns the buffer
Change-Id: Ie0f8bd3e57cfdfef81d39638a1451458ebbae2e0
|
|
|
|
Change-Id: I64fa47889c54cfed094a674c49ef0996d49bdd42
|
|
Removed a number of files that were unused or little-used.
Change-Id: If9ae5e5b11390077581a9a879e8a0defe709f5da
|
|
Clean up some unnecessary scoping around pick_filter_level.
Change-Id: Ic57fa33e3fcae37fe6beae977e5743783399d5af
|
|
|
|
No need to reinitialize for base Q changes.
Change-Id: Ie76ec21dd3c5582d5183dbed75ed73a1eed3e291
|
|
Change-Id: I58154faf4f3ece24f9927a5c3ab7e830e0887fb6
|
|
|
|
Eliminate unnecessary checks on target endianness and associated
macros.
Change-Id: I1d4e6a9dcee9bfc8940c8196838d31ed31b0e4aa
|
|
|
|
Change-Id: I4a328ce152d9dbe6b0d1606d1b523e8e7bfb468e
|
|
|
|
|
|
Currently, when the video frame width is not multiples of 16, the
source buffer has a stride of non-multiples of 16, which forces
an unaligned load in SAD function and hurts the performance. To
avoid that, this change allocates source buffers to be multiples
of 16.
Change-Id: Ib7506e3eb2cea06657d56be5a899f38dfe3eeb39
|
|
|
|
vpx_free if used contains this check. If replaced, well behaved free
will behave similarly.
Change-Id: I25483aaa8b39255b9a8cf388d6e5eaa20a908ae1
|