John Koleszar
da39e505dd
Merge "Fixed rate histogram calculation"
2011-07-18 06:07:51 -07:00
Tero Rintaluoma
fd41cb8491
Fixed rate histogram calculation
...
Using small values for --buf-sz= in command line causes
floating point exception due to division by zero.
Change-Id: Ibfe2d44db922993a78ebc9a4a1087d9625de48ae
2011-07-18 10:35:05 +03:00
John Koleszar
8bf2cbce98
Merge remote branch 'origin/master' into experimental
...
Change-Id: Ic623c335cd4991c9d80f675f390e81282b18c137
2011-07-16 00:05:08 -04:00
Scott LaVarnway
e68894fa03
Merge "Tokenize MB optimized"
2011-07-15 07:54:14 -07:00
Yunqing Wang
f676171e52
Merge "Fix vpxenc encoding incorrect webm file header on big endian machines(Issue 331)"
2011-07-15 05:21:35 -07:00
Tero Rintaluoma
4e82f01547
Tokenize MB optimized
...
Optimized C-code of the following functions:
- vp8_tokenize_mb
- tokenize1st_order_b
- tokenize2nd_order_b
Gives ~1-5% speed-up for RT encoding on Cortex-A8/A9
depending on encoding parameters.
Change-Id: I6be86104a589a06dcbc9ed3318e8bf264ef4176c
2011-07-15 11:26:54 +03:00
John Koleszar
f1fcd74e3e
Merge remote branch 'origin/master' into experimental
...
Change-Id: Icbeb14d64ed3d9337606b591dde4e0669540a10d
2011-07-15 00:05:06 -04:00
James Berry
6b6f367c3d
bug fix vpx_copy_and_extend_frame size issue
...
vpx_copy_and_extend_frame could incorrectly
resize uv frames which could result in a crash.
Change-Id: Ie96f7078b1e328b3907a06eebeee44ca39a2e898
2011-07-14 15:58:15 -04:00
John Koleszar
04dce631a2
Remove unused speed features
...
min_fs_radius, max_fs_radius, full_freq were set but never read.
Change-Id: I82657f4e7f2ba2acc3cbc3faa5ec0de5b9c6ec74
2011-07-14 14:20:25 -04:00
John Koleszar
86edcb0cc7
Merge remote branch 'origin/master' into experimental
...
Change-Id: I3f64e220b78738e5261a9fda3c270d51613f4faa
2011-07-14 00:05:12 -04:00
Fritz Koenig
4ab3175b12
Merge "Better allocate yuv buffers."
2011-07-13 14:18:11 -07:00
Yunqing Wang
f1f28535c3
Merge "Fix unnecessary casting of B_PREDICTION_MODE (issue 349)"
2011-07-13 13:32:57 -07:00
John Koleszar
b73a3693e5
Disable __longjmp_chk protection
...
glibc implements some checking on longjmp() calls by replacing it with
an internal function __longjmp_chk(), when FORTIFY_SOURCE is defined.
This can be problematic when compiling the library under one version of
glibc and running it under another. Work around this issue for the one
symbol affected for now, before taking out the undef hammer.
Fixes http://code.google.com/p/webm/issues/detail?id=166
Change-Id: Ifc5e25cdec17915e394711f2185b3e9214572d10
2011-07-13 16:07:00 -04:00
Yunqing Wang
139577f937
Fix unnecessary casting of B_PREDICTION_MODE (issue 349)
...
Minor fix.
Change-Id: Iaf93f6e47e882a33c479e57c7a0d0bf321e291c0
2011-07-13 15:52:07 -04:00
Yunqing Wang
0e9a6ed72a
Add improvements made in good-quality mode to real-time mode
...
Several improvements we made in good-quality mode can be added
into real-time mode to speed up encoding in speed 1, 2, and 3
with small quality loss. Tests using tulip clip showed:
--rt --cpu-used=-1
(before change)
PSNR: 38.028
time: 1m33.195s
(after change)
PSNR: 38.014
time: 1m20.851s
--rt --cpu-used=-2
(before change)
PSNR: 37.773
time: 0m57.650s
(after change)
PSNR: 37.759
time: 0m54.594s
--rt --cpu-used=-3
(before change)
PSNR: 37.392
time: 0m42.865s
(after change)
PSNR: 37.375
time: 0m41.949s
Change-Id: I76ab2a38d72bc5efc91f6fe20d332c472f6510c9
2011-07-13 14:51:02 -04:00
Fritz Koenig
e9751d4b74
Better allocate yuv buffers.
...
Previously allocated more memory than necessary for yuv buffers.
This makes it harder to track bugs with reading uninitialized
data.
Change-Id: I510f7b298d3c647c869be6e5d51608becc63cce9
2011-07-13 10:37:15 -07:00
Fritz Koenig
84c3cd79d1
Merge "Reduce motion vector search on alt-ref frame."
2011-07-13 10:07:30 -07:00
John Koleszar
7f0b11c0ae
Merge "Remove rotting NDS_NITRO code."
2011-07-13 05:46:30 -07:00
Johann
211694f67e
Merge "update x86 asm for loopfilter"
2011-07-13 04:10:03 -07:00
Johann
8f910594bd
Merge "Update armv6 loopfilter to new interface"
2011-07-13 04:09:55 -07:00
Johann
1a219c22b1
Merge "Update armv7 loopfilter to new interface"
2011-07-13 04:09:42 -07:00
Johann
d9b825cff2
Merge "New loop filter interface"
2011-07-13 04:09:26 -07:00
John Koleszar
ffc4587a47
Merge remote branch 'origin/master' into experimental
...
Change-Id: I9dab62c24d71f71cdc36732ed8ed469bee67d7e1
2011-07-13 00:05:04 -04:00
Fritz Koenig
d89eb6ad5a
Remove rotting NDS_NITRO code.
...
Code has not been used and is no longer relevant.
Change-Id: I38590513da7c7a436804ff8a1a3805d9697f575d
2011-07-12 16:29:15 -07:00
Yunqing Wang
c156a68d06
Fix vpxenc encoding incorrect webm file header on big endian machines(Issue 331)
...
As reported in issue 331, vpxenc encoded incorrect webm file header
on big endian machines. This change fixed that.
Change-Id: I31924ebd476a87f3e88b9b5424540bf781d2b86f
2011-07-12 14:49:57 -04:00
Attila Nagy
c231b0175d
Update armv6 loopfilter to new interface
...
Change-Id: I5fe581d797571a7a9432fbd17fc557591d0c1afa
2011-07-12 12:14:51 +03:00
Attila Nagy
283b0e25ac
Update armv7 loopfilter to new interface
...
Change-Id: I65105a9c63832669237e6a6a7fcb4ea3ea683346
2011-07-12 12:12:25 +03:00
Fritz Koenig
ede0b15c9d
Reduce motion vector search on alt-ref frame.
...
Clamp mv search to accomodate subpixel filtering
of UV mv.
Change-Id: Iab3ed405993ef6bf779ad7cf60863153068fb7d1
2011-07-11 09:05:43 -07:00
John Koleszar
6058c9ce0c
Merge remote branch 'origin/master' into experimental
...
Change-Id: Ica63d16cb39e2d65a3414f0b9f86c8a64112dfa3
2011-07-09 00:05:09 -04:00
Yunqing Wang
587ca06da9
Minor change in pick_inter_mode()
...
Scott suggested to move vp8_mv_pred() under "case NEWMV" to save
extra checks.
Change-Id: I09e69892f34a08dd425a4d81cfcc83674e344a20
2011-07-08 14:08:45 -04:00
Yunqing Wang
e83d36c053
Merge "Adjust full-pixel clamping and motion vector limit calculation"
2011-07-08 08:39:32 -07:00
Yunqing Wang
40991faeae
Adjust full-pixel clamping and motion vector limit calculation
...
Do mvp clamping in full-pixel precision instead of 1/8-pixel
precision to avoid error caused by right shifting operation.
Also, further fixed the motion vector limit calculation in change:
b748045470
Change-Id: Ied88a4f7ddfb0476eb9f7afc6ceeddbf209fffd7
2011-07-08 11:34:28 -04:00
Johann
01433c5043
update x86 asm for loopfilter
...
Change-Id: I1ed739522db7c00c189851c7095c1b64ef6412ce
2011-07-08 09:23:38 -04:00
Johann
6ae12c415e
Merge "clean up warnings when building arm with rtcd"
2011-07-08 05:16:09 -07:00
Attila Nagy
622958449b
New loop filter interface
...
Separate simple filter with reduced no. of parameters.
MB filter level picking based on precalculated table. Level table updated for
each frame. Inside and edge limits precalculated and updated just when
sharpness changes. HEV threshhold is constant.
ARM targets use scalars and others vectors.
Change works only with --target=generic-gnu
All other targets have to be updated!
Change-Id: I6b73aca6b525075b20129a371699b2561bd4d51c
2011-07-08 09:31:41 +03:00
John Koleszar
2c3c54f747
Merge remote branch 'origin/master' into experimental
...
Change-Id: I9cead934ebea85d81aceaaec4674efc74367f984
2011-07-08 00:05:05 -04:00
John Koleszar
973a9c075d
Merge "Set VPX_FRAME_IS_DROPPABLE"
2011-07-07 08:11:05 -07:00
John Koleszar
37de0b8bdf
Set VPX_FRAME_IS_DROPPABLE
...
Allow the encoder to inform the application that the encoded frame will not
be used as a reference.
Change-Id: I90e41962325ef73d44da03327deb340d6f7f4860
2011-07-07 10:38:45 -04:00
John Koleszar
61d9d595d5
Merge remote branch 'origin/master' into experimental
...
Change-Id: I009c7e3043ad1eb1ce95c69132a4727073b86757
2011-07-02 00:05:12 -04:00
John Koleszar
b4f70084cc
Merge "Properly use GET_GOT/RESTORE_GOT when using GLOBAL()."
2011-07-01 07:14:34 -07:00
John Koleszar
54c3637828
Merge remote branch 'origin/master' into experimental
...
Change-Id: Iaf6e9e14d0cfe5cef3895cfb68524d51139a6d23
2011-07-01 00:05:12 -04:00
Ronald S. Bultje
c8a23ad3f4
Properly use GET_GOT/RESTORE_GOT when using GLOBAL().
...
This should fix binaries using PIC on x86-32. Also should
fix issue 343.
Change-Id: I591de3ad68c8a8bb16054bd8f987a75b4e2bad02
2011-06-30 14:04:27 -07:00
Yunqing Wang
ae8aa836d5
Merge "Copy macroblock data to a buffer before encoding it"
2011-06-30 11:14:24 -07:00
Yunqing Wang
80c3bbf657
Merge "Bug fix in motion vector limit calculation"
2011-06-30 09:52:03 -07:00
Yunqing Wang
b748045470
Bug fix in motion vector limit calculation
...
Motion vector limits are calculated using right shifts, which
could give wrong results for negative numbers. James Berry's
test on one clip showed encoder produced some artifacts. This
change fixed that.
Change-Id: I035fc02280b10455b7f6eb388f7c2e33b796b018
2011-06-30 11:20:13 -04:00
Johann
3e4a80cc35
Merge "remove incorrect initialization"
2011-06-30 07:59:08 -07:00
John Koleszar
6251e9e5ce
Merge remote branch 'origin/master' into experimental
...
Change-Id: I35c9ca116aecd0d03e762942d9cf1289edb4f23d
2011-06-30 00:05:10 -04:00
John Koleszar
034cea5e72
Merge "guard against space/time distortion"
2011-06-29 11:36:51 -07:00
Johann
bb0ca87a0d
guard against space/time distortion
...
and divide by 0 errors
Change-Id: I8af5ca3d0913cb6f278fff754f8772bcb62e674a
2011-06-29 14:34:25 -04:00
Paul Wilkins
eacaabc592
Merge "Change to arf boost calculation."
2011-06-29 10:03:57 -07:00