Links to HEAD: | (view) (download) (annotate) |
Sticky Tag: |
xvidcore 1.0.0 rc3 merge back to HEAD
Motion Estimation module splitting.
argh - fast mode decision was _always_ activated no matter which flags where set - fixed now...
oops. Small bug in fast refinement - thx Ed for pointing out!
Newly introduced: - XVID_ME_DETECT_STATIC_MOTION: skips MV search in stationary scenes (gives a slight speed-up and a PSNR drop of ~0.03 dB) - XVID_ME_FASTREFINE16: low complexity subpel refinement. Useful mainly for qpel (big speed-up, small PSNR drop of ~0.05 dB) - XVID_VOP_FAST_MODEDECISION_RD: performs R-D checking only 'when really needed' (significant speed-up, again mild PSNR drop) All new options need further testing/fine tuning...
p/b/i decision changed *again* (how many times did I write that?)
I really have to be more careful when commiting
oops one small fix
Speed improvements; another many-years-old-bug fixed (in p/b/i decision)
small speed improvements
I hate warnings! So I removed all I could find...
THE biggest b-frame bug in devapi4 so far
lumimasking fixed (part 1); p/b/i decision changed again; code cleanups
API changes
cartoon mode
mcsel decision in motion loop, tons of fixes and speedups
IA64 updates
3 warp point GME - first commit
VHQ is P4 compatible again | improved PBI decision *again*
VHQ is P4 compatible again | improved PBI decision *again*
ugly bugs fixed, R-D works better now
ugly bugs fixed, R-D works better now
Added legal header
ISO C89 comment style
Synced RD code from syskin motion_est.c:1.70 motion_est.h:1.8
Merged ME changes from cvs_head motion_est.c:1.69 and motion_est.h:1.7
yay, R-D motion search ^__^
cleanups, minor fixes
sysKin: hopefully, intra frame at every scene change (we really need it to cut things)
- fast b-frames - dynamic qpel - qpel asm code - postprocessing
hopefully, intra frame at every scene change (we really need it to cut things)
b-frames look good in still motion, after all
b-frames look good in still motion, after all
Syskin's BITS fix for low quants and tweaks for i/p/b decision
"What bug could i invent today ?"
improved vhq (does not decrease psnr anymore - at least for low quants) and tweaked p/b/i decision again
2003-04-10 GMT Edouard Gomez <ed.gomez@free.fr> patch-14 Summary: Removed all ABS() macros. Revision: xvidcore--devapi4--1.0--patch-14 All ABS macros have been replace with their stdlib.h/math.h equivalent. This gives a 33% overall speedup for the plain C encoder, while the ia32 one seems to suffer a small speed loss. However this speed loss is very small and it seems it depends on the CPU type as the abs/fabs usage is impacting badly on sad functions but impacting well on interpolate functions ... weird inst'it ? modified files: src/bitstream/mbcoding.c src/global.h src/image/image.c src/motion/motion_comp.c src/motion/motion_est.c src/motion/sad.c src/prediction/mbprediction.c src/utils/mbtransquant.c src/xvid.c
Syncing with CVS_HEAD -- include last Syskin's changes motion_est.c-1.64 motion_est.h-1.6
faster; better vhq; bframe-decision changed again
Synced with CVS_HEAD -- faster d_mv_bits + bugfix
a bit faster + a small bugfix
Fixed some cut&paste errors and some other small things
Fixed some cut&paste errors and some other small things
Fix aligment problem for dct blocks
Fix aligment problem for dct blocks
Fixed a namespace conflict with libavcodec which caused dev-api-4 mencoder module to fail
Synced with CVS_HEAD
Changed flags naming conventions
dquant cleanup xvid_pluing_lumimasking added xvid_encraw -lumimasking option added
some cleanups ; revised p/b decision with sensitivity control ; max iframe interval works again
Rename cbpy_tab to xvid_cbpy_tab to avoid naming conflicts (with ffmpeg)
++api v1.-127.0
Small fixes patch
Fixed array duplication -- moved to motion_est.c
Removed compiler warnings (gmc uninitialize, unused variable)
Moved dev-api-3 to HEAD -- Nasty but efficient -- Merging work has been done too
VHQ. yay.
CheckCandidate cleanup
quite small speed-related bug - fixed
speed optimizations part 1 + a small bugfix (commited because of the bugfix)
ChromaME for b-frame motion search; please use PMV_CHROMA8 flag to activate
I-frame decision: I thought my recent change was a good idea, but it wasn't. Changed back.
bugfix PMV_CHROMA vs. XVID_GMC
minor changes in GME, removed typo in calculation of meany
Major update: Support for GME/GMC with 2 warppoints
for some reason I enjoy cleaning up the code. It also includes some small bugfixes, optimizations and tweaks (not that I know how to do them), and probably new bugs...
high quants + bframes crash fixed
no more malloc() in ME, I've found a better place for temporary data
yet another bug: chroma sad was computed incorrectly in inter4v mode
just today's cleanups - also removed a bug which caused ChromaME to be a bit slower
a bit more correct direct mode with qpel (with interpolation in 8x8 blocks)
faster qpel with bframes
another b-frames bugfix; faster p/b/i decision
another bug of mine. and I promised to stop producing them... then again, I never promised to stop fixing them, so it's ok I guess
mingw/dprintf cleanup, portab.h updated from release-0.9.0
nice cleanups, shorter code, and also two-step skip decision for b-frames
MEAnalysis cleanup
motion estimation for reduced resolution p-vops
rrv encoding update
did you know that get_range was wrong for qpel? fixed.
gcc -Wall cleanup
ANSI C compliancy - thx Rick Foos
another interpolate bug (I promise to stop producing them. really. lol); some thresholds fixed for better mode decision (in bframes)
two big bugs and one smaller - fixed
some thresholds changed for better bframe placement (I hope ;> )
yet another bug. there is more
an ugly bug squashed (bframes+qpel)
bframe+qpel decoding support, bframe decoding bugfix, qpel interpolation speedup, bframe decoding speedup
all qpel code rewritten
I'm stupid or something
quick but important fix
qpel support for b-frames
License changed
gmc + bframes fix; much smarter p/b/i decision
faster P/B/I decision
a most stupid bug ever (even if quite minor)
encoder: new colorspace; decoder: auto width/height, basic gmc, experimental rrv
improved me; chroma info used for me; shorter code; second-step GMC search
Basic support for translation-only GMC support (compatible to Divx5) use general flag XVID_GMC to switch it on, the rest is done automatically. !!! Combination with B-frames is completely untested !!!
merge of Radek's bframe and my qpel changes...
Fixed copyrights
minor updates - mostly speed but also b-frame's quality
some qpel bugfixes, fixed MV hints (but works only without qpel)
Fixed bug in GET_REFERENCE macro [X and Y instead of (X) and (Y)]
qpel bugfixes
qpel ME
iFcode evaluation from hinted ME data
lumimasking related bug fixed - but still doesn't work with hinted ME
Patch from sysKin
sysKin's updated P/B/I decision code
SysKin's latest ME changes
sysKin Motion Estimation and minor changes to support it. I hope it doesn't break too much...
- Removed definitively bframe ME code
- Disabled bframe specific code and macros. My tests seem to confirm this patch does not hurt but i keep these #if 0 #endif just in case i have to revert things easily.
- Removed code from Christoph that should have never been there.
Fixed lot of VC++ compiler warnings
Removed old get_pmv calls
Removed B-frames
- Update license/copyright header - Removed history header
very small bugfix for interpolated ME (thanks to Radek)
Fixed wrong sad8bi for b-frames direct mode (thanks to Radek!)
halfpel search for MODE_INTERPOLATE and MODE_DIRECT
Modified SKIP mb behaviour for Pframes when Bframes are active: Check if intermediate B-block can be skipped, too. Check for SKIP is now done in encode_pframe(), not in MBCoding().
Interpolated and DirectMode motion estimation (DiamondSearch) for B-Frames. Slow, but working, this might have been the final step to a complete implemenation of b-frame encoding. Btw... it's 5.a.m so don't trust this CVS entry!
Finally Cut&Paste and Search&Replaced Square8_MainSearch, so PMV_USESQUARES8 is now functional. Also, some minor fixes.
Fixed embarrassing bug in Dimaond16/8_MainSearch (iDirection was overwritten)
Enable B-frame + INTER4V (not bugfree yet)
Disable SKIP handling for _DISABLE_SKIP defined
bframe encoding bugfixes, ME unification
removed debug code
Bugfix for B-frame encoding (new parameters time_bp, time_pp to BVOP-ME)
B-frames encoding "ME" for direct mode (and minor other things)
Global assembler optimization of halfpel8_refine, via inlinig of sad for ia64
Preparations for block-based-interpolation ME: PMVfastIntSearch16 (pre-version)
Minor change: Switch to get_pmv(data)2 instead of get_pmv(data)
long long replaced by int64_t
BugFix for EPZSSearch16
Minor modifications for supporting multithreaded ME. Without _SMP symbol there should be no changes in behaviour.
get_pmv2/get_pmvdata2
resync patch
resync support, check_cpu_features() fixed
XVID_GLOBAL_*, XVID_CPU_CHKONLY, timestamp fix, font.c
bframes patch
Cosmetic - CodingStyle Applied - Legal Headers will be added later
Returned to old style MotionEstimation (one loop for INTER and INTER4V)
Added AdvDiamond_MainSearch by sysKIn which seems to be faster and better than normal Diamond_MainSearch, at least for plain fullpel search. It can be activated by PMV_ADVANCEDDIAMOND16/8 flag.
Small bugfix in MotionEstimation (wrong prediction for INTER4V)
Use INTER4V only if neighbours move different than current block. Save quality, some speedup.
general cleanup, first modifications for new INTER4V heuristics
Fix for gcc
Tests to not double check vectors in PMVfast16/8 (only in prediction, not during diamonds phase). Minor speedup.
MotionEst(): set sad8[] also for INTER mode to correct values (for get_pmdata)
#define BFRAMES
Fixed some minor issues in ME, changed calc_delta16/8 to non-linear function of quant (from a paper on H.26L). Now inter4v finally gives some improvement.
Adapted PMVFast16/8 for using prevMB instead of pMB, seems to work.
FRAMEINFO
remove some compile warning
bframe "support" code
segfault fix
PPC update
Added EPZS and EPZS^2. Unfortunately slower and not really better than PMVfast
Big patch, use it with care (tests done with GNU/Linux) : - Trivial warnings in encoder.c line 282 ret1 = ret 2 = 0; - Lot of "New line at end of file missing" warnings fixed (gcc3) - All 2d arrays have been turned into 1d arrays To force alignment of matrices on stack, use DECLARE_ALIGNED_MATRIX (read portab.h) Win32 users should give feedback.
moved sources
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |