fixed wrong table entry
table update
skip mv_bits assert in _DEBUG mode
Unified elf64/win64 X86_64 support
- got rid of one OR operation in the coeff parsing loops to make things faster
Simplify index testing after get_coeff(), esp. after decoding error.
- preparing Xvid 1.1.3...
- patch for a potential vulnerability reported by Secunia
Correction to out-of-bounds memory access in d_mv_bits; an assertion showing that d_mv_bits is still wrong; VC8 project files
- Added MV bits to statistics
Field interlaced decoding, contributed by Christoph Kuehnel decoder.c ========= - Some new defines for DIV - <decoder_mb_decode> modified: had wrong address offsets for interlaced - <decoder_mbinter_field> = new function for interlaced - <get_motion_vector_interlaced> = new function for interlaced motion vector prediction - <decoder_pframe> modified so that it differs between frame and field prediction global.h ======== - For field motion prediction MACORBLOCK has new member that is the average of field1 and field2 motion vector = <mvs_avg> xvid.c ====== - For field predicted macroblocks we need new field oriented transfer functions. For colour calculations they may only process 4 lines (one field from the colour macroblock that is 8x8). So I introduced 4 new function pointers: <transfer8x4_copy, interpolate8x4_ ...) mbcoding.c ========== - _DEBUG code; index is checked against 64 interpolate8x8.[c,h,asm] =========================== - New 8x4 functions mbpredicition.[c,h] =============== - New function <get_pmv2_interlaced> for interlaced prediciton according to spec mem_transfer.[c,h,asm] ============== - New 8x4 function
New 1.1.0-beta2 release
small clenup - move GREYSCALE code to mbcoding
new fcode code
Thread safety for C version
Thread safety for C version
Faster getcoeff + on the fly dequant
xvidcore 1.0.0 rc3 merge back to HEAD
texture bits count for b-vops
Removed BIGLUT support and fixes to sysKin last commit
gmc+interlacing fixed: no field_me flag in mcsel-ed MBs
interlacing support for bvops
removed trailing spaces
VLC bugfix for GMC sprite_trajectory_len==9
Added legal header
ISO C89 comment style
Removed this annoying \n from DPRINTF output. DPRINTF behaves
now like usual printf.
Just for fun, i decided to exercice my regexp skills:
for i in `find . -name "*.c"` ; do
sed s/'\(DPRINTF(XVID_DEBUG.*\)"\([^"]\+[^\\][^n]\)"\(.*\)$'/'\1"\2\\n"\3'/g $i > $i.tmp;
mv $i.tmp $i
done
Nice isn't it ? It just adds a \n to every DPRINTF call that
was relying on old behavior (automatic trailing \n).
* dynamic bvop decision stats bug fixed
* added runtime debug level option. this only only activated when _DEBUG is defined.
level is specified globaly, via "xvid_glb_init_t.debug" and XVID_DEBUG_xxx defines.
references to previous DPRINTF_LEVEL_xxx's have been replaced throughout libxvidcore
* futher bitrate zone fixes for plugin_2pass2.c
* removed old ratecontrol.c from msvc project
* xvid_encraw.c specifc:
* added "-max_key_interval integer" option
* renamed -debug to -vop_debug
* added "-debug integer" option, which sets xvid_gbl_init_t.debug field
* s/length/len/ status line
* vfw specific:
* zone/bitrate typos fixed ("you eediot")
* renamed "debug" regkey to "vop_debug"
* added "debug" regeky and textbox which sets xvid_gbl_init_t.debug field
New Trellis Quant by Skal, moved from mbcoding to mbtransquant
Trellis: Removed double calculation of "last" => +0.02dB
Trellis based R-D optimal quantization (H263, INTER)
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
Fixed a namespace conflict with libavcodec which caused dev-api-4 mencoder module to fail
Changed flags naming conventions
dquant cleanup xvid_pluing_lumimasking added xvid_encraw -lumimasking option added
Rename cbpy_tab to xvid_cbpy_tab to avoid naming conflicts (with ffmpeg)
++api v1.-127.0
msvc warning fixup
Table duplication fix (Moved tables to a C module - kept declarations in header)
Moved dev-api-3 to HEAD -- Nasty but efficient -- Merging work has been done too
Ready for 0.9.1
CodeCoeffInter_CalcBits() needed for VHQ
Ported fix from stable for -1 indexing of max_run array
XVID_HQACPRED
Fixed a bug where run_esc==-1 was indexing an array -> segfault (spoted on a strong arm CPU ;-)
ptr_t fix (s_kraste at ira.uka.de)
ptr_t fix (s_kraste at ira.uka.de)
correct initialization of sprite_trajectories (thanks to elcabesa)
Small LUTs ported to dev-api-3 - MfA
Major update: Support for GME/GMC with 2 warppoints
Fixes from MfA
Much lighter VLC implementation (saves >6MB)
global.h macro cleanup cpu_detection cleanup, XVID_CPU_ASM added sse2 stuff enabled, femms now utilized
coeff level [-2047,2047]
coeff level [-2047,2047]
corrected intra_table/inter_table array size
Fixed a buffer overflow in vlc_init (lacked a few more VLC in intra/inter tables) - should solve the static problem on MSVC targets too
mingw/dprintf cleanup, portab.h updated from release-0.9.0
ANSI C compliancy - thx Rick Foos
License changed
encoder: new colorspace; decoder: auto width/height, basic gmc, experimental rrv
bs_put_spritetrajectory prototype fixup
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 !!!
alternate-vertical-scan encoding/decoding support
sysKin Motion Estimation and minor changes to support it. I hope it doesn't break too much...
Removed DEBUGXXXs calls
msvc6 static vlc tables fix
Added headers, removed unused code
- Respect const qualifier changes in vlc_codes.h
- Little mistake in previous commit fixed, all bframe functions have been disabled
- Moved get_coeff from vlc_codes.h - Disabled MBCodingBVOP with #ifdef 0 #endif (Will be removed completly when i'm sure it doesn't hurt)
- Changed header - Added static qualifier to local arrays - Cosmetic
interlacing bugfix (inter cbp behaviour)
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().
New fields deltamv, directmv[4] in Macroblock for more logical B-frame ME
Added #ifdef _DISABLE_SKIP in MBCoding(). If this is defined, there will be __no skipped macroblocks__ in P-frames! This is of course bad (bigger files), but it's needed for clean B-frame encoding until we have a workaround for the SKIP-flaw in the standard. :-(
Fixed for Bframes encoding and maybe decoding, too.
resync patch
resync support, check_cpu_features() fixed
ia64 changes
Cosmetic - CodingStyle Applied - Legal Headers will be added later
fix some my B-frame decode error
removed coeff clamping
#define BFRAMES
FRAMEINFO
add some B-frame support
bframe "support" code
AC vlc coding bugfix, thanks to Vivien Chappelier
decoder speedup
reworked vlc tables
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.
interlacing support - slow (MBDecideFieldDCT()), buggy (p-frames), incomplete (field motion prediction)
removed debug output
INTRA_Q/INTER_Q mcbpc bugfix
Fixed implicit declaration of malloc - #include <stdlib.h>
Fixed gcc warning about '/*' into comments
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.