Sticky Revision: |
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
sysKin: hopefully, intra frame at every scene change (we really need it to cut things)
b-frames look good in still motion, after all
Syskin's BITS fix for low quants and tweaks for i/p/b decision
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
Synced with CVS_HEAD -- faster d_mv_bits + bugfix
Fixed some cut&paste errors and some other small things
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
++api v1.-127.0
This commit was manufactured by cvs2svn to create branch 'dev-api-4'.
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
ANSI C compliancy - thx Rick Foos
License changed
Fixed copyrights
- 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
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |