Log of /xvidcore/src/encoder.c
Parent Directory
Revision
1.119 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Aug 1 10:53:46 2005 UTC (17 years, 10 months ago) by
Isibaar
Branch:
MAIN
Changes since
1.118: +2 -2 lines
Diff to
previous 1.118
* Writing pointed data is always better than memory
addresses (Patch by GomGom)
* Trivial style thingies (Patch by GomGom)
* No width and height declared in write_tga bug
(Patch by GomGom, spotted by Paul Kurucz
ptk9417 at ritvax.isc.rit.edu)
Revision
1.118 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon May 23 09:29:43 2005 UTC (18 years ago) by
Skal
Branch:
MAIN
Changes since
1.117: +27 -34 lines
Diff to
previous 1.117
encoder.c: simplify_time() optimized by Euclid.
bitstream.c: write_video_packet_header() was buggy and
kind of obfuscated, as noticed by Sigdrak at free.fr.
from Edouard:
gcc4 warning removal.
- No executable shared objects installed
(Do not install the lib as executable. It's no use as the SO has no
main symbol anyway, and the static lib is not runnable anyway.)
- Statically link xvid_bench with libxvidcore.a
- New autoconf garbage removal
- Quotes in configure.in
Revision
1.117 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Mar 27 03:59:42 2005 UTC (18 years, 2 months ago) by
suxen_drol
Branch:
MAIN
Changes since
1.116: +4 -2 lines
Diff to
previous 1.116
xvidcore
========
* added XVID_GLOBAL_DIVX5_USERDATA global flag
* removed the bvop delay warning text ("warning: nothing to output), as this often confuses joe user.
* minor changed to closed gop image_printf statement: s/"DX50 BVOP->PVOP"/"CLOSED GOP BVOP->PVOP"
* additional comments for low_delay_default mode within decoder_decode()
* divx userdata string: s/DivX999b000/DivX503b1393. this has been suggested by dxn for improved hardware compatibility [nb: i dont have a hardware player to confirm this]
* vbv_peakrate constraint is ignored if <= 0
vfw frontend
============
* dxn profiles now confirm to "DivX Certified Profile Compatibility v1.1", February 2005. this document was provided by DivXNetworks, USA. when a dxn profile is selected, strict conformance is enabled:
- force 1:1 picture aspect ratio
- disable bframes if interlacing is enabled
- force maximum of 1 consecutive bvops for the portable and ht profiles, 2 bvops for the hd profile
- always write divx 5 userdata string to bitstream
- force packed bitstream option
- updated dxn vbv parameters
* added PROFILE_4MV flag. 4mv is now disabled for the dxn handheld profile.
* moved PROFILE_AS/PROFILE_ARTS/PROFILE_S to config.c
* profile[].max_bitrate now measured in bit/sec (not kbps)
* profile->level box: widgets are now greyed-out if they are not used.
* increase vertical size of profile drop down list.
* about box button: s/Dismiss/OK
Revision
1.95.2.56 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Nov 30 16:13:15 2003 UTC (19 years, 6 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.55: +16 -3 lines
Diff to
previous 1.95.2.55
, to
branch point 1.95
* Thread safe MPEG4 quantization functions.
Cleaned up version of patch provided by Michael
- fixed compiling problems on gcc
- added const qualifiers every where it was possible to help C compiler
optimization.
- added the mpeg_quant_matrices param to all ASM function prototype
in comments (even if it's not used, that shows we do it deliberatly)
- forces m[intra][0][0] = 8, otherwise XviD could write invalid streams.
* Added real CRC computing in xvid_bench.c
Revision
1.95.2.52 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Nov 16 15:32:37 2003 UTC (19 years, 6 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.51: +4 -3 lines
Diff to
previous 1.95.2.51
, to
branch point 1.95
Valgrind reported lot of unitialized reads. These unitialized reads
helped sysKin finding three bugs:
- ZeroMacroblock did not reset the cbp field. So for some skipped
blocks, a test was done on the cbp value...
- MEanalysis was using wrong mvs from the current bvop (unitialized
or just wrong in current context). That's because in devapi3,
bframes used to share the same mvs array wheras now, it's one array
a bvop.
- Collocated skipped MBs for a bvop didn't reset mvs[0] and b_mvs[0].
Revision
1.95.2.50 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Thu Nov 13 22:35:30 2003 UTC (19 years, 6 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.49: +14 -14 lines
Diff to
previous 1.95.2.49
, to
branch point 1.95
* encoder.c: GMC code fix in encoder.c. Now gmcval is initialized
correctly when using GME.
* xvid_decraw.c: Fix elementary stream output.
* plugin_2pass2.c: Small parsing bug in stats reading in 2pass2.
* decoder.c: Read resync markers in bframes.
Revision
1.95.2.49 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Nov 9 20:49:21 2003 UTC (19 years, 7 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.48: +2 -0 lines
Diff to
previous 1.95.2.48
, to
branch point 1.95
New two pass code. I may say it's just a fixed version, though it looks
more like a "take all the ideas and write it again" version. It performs
better with all natural sequences i have and a bit worse with anime.
Including it now, allow me improving the code during the beta releases.
Revision
1.95.2.48 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Nov 9 20:47:14 2003 UTC (19 years, 7 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.47: +5 -1 lines
Diff to
previous 1.95.2.47
, to
branch point 1.95
* transfer_8to16_sub2_(c|mmx|xmm|3dne) write back the compensated
result to current frame pointer.
* transfer_8to16_sub2_mmx uses proper rounding (a+b+1)/2. The +1
operation was missing.
* Blocks skipped in bframes must be compensated for psnr computing.
Revision
1.95.2.47 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Nov 5 16:15:47 2003 UTC (19 years, 7 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.46: +61 -27 lines
Diff to
previous 1.95.2.46
, to
branch point 1.95
Patch from syskin.
* This patch avoids calling setedges and interpolate for uneeded cases:
- setedges is only called once per frame.
- interpolate is called only when the previous rounding
was different from the one needed.
* Interpolation has been optimized a bit for qpel case, we do the
hv pass down to top to use the cache more efficiently (hope so).
Revision
1.95.2.25 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Thu May 22 16:34:47 2003 UTC (20 years ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.24: +15 -15 lines
Diff to
previous 1.95.2.24
, to
branch point 1.95
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).
Revision
1.95.2.24 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat May 17 13:24:56 2003 UTC (20 years ago) by
suxen_drol
Branch:
dev-api-4
Changes since
1.95.2.23: +43 -27 lines
Diff to
previous 1.95.2.23
, to
branch point 1.95
* 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
Revision
1.95.2.3 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Mar 10 00:38:49 2003 UTC (20 years, 3 months ago) by
edgomez
Branch:
dev-api-4
Changes since
1.95.2.2: +28 -5 lines
Diff to
previous 1.95.2.2
, to
branch point 1.95
2003-03-10 00:36:15 GMT Edouard Gomez <ed.gomez@free.fr> patch-4
Summary:
Adds extended stats support even for bframes in xvidcore.
Revision:
xvidcore--devapi4--1.0--patch-4
This patch enables core extended stats support even for bframes. It
modifies the way the MBTransQuantBVOP function does its work. It used
to not dequant, idct the MB because bframes are never used as reference
frames. However if we want to compute stats, then we must perform these
inverse transformations.
modified files:
src/encoder.c src/utils/mbfunctions.h src/utils/mbtransquant.c
Revision
1.96 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Mar 4 10:55:21 2003 UTC (20 years, 3 months ago) by
syskin
Branch:
MAIN
Changes since
1.95: +92 -106 lines
Diff to
previous 1.95
some cleanups ; revised p/b decision with sensitivity control ; max iframe interval works again
Revision
1.76.2.38 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Jan 13 23:52:50 2003 UTC (20 years, 4 months ago) by
edgomez
Branch:
dev-api-3
Changes since
1.76.2.37: +78 -10 lines
Diff to
previous 1.76.2.37
, to
branch point 1.76
Boy i don't like adding more crap to this trash, but this fixes all intra types reporting (adding intra=3==SVOP) and fixes some (but not all) statistics returning (bframe don't set all information for the header part)
Revision
1.76.2.14 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Nov 2 15:52:30 2002 UTC (20 years, 7 months ago) by
chl
Branch:
dev-api-3
Changes since
1.76.2.13: +51 -29 lines
Diff to
previous 1.76.2.13
, to
branch point 1.76
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 !!!
Revision
1.85 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Oct 19 11:41:11 2002 UTC (20 years, 7 months ago) by
edgomez
Branch:
MAIN
Changes since
1.84: +2 -2 lines
Diff to
previous 1.84
Changed Michael Militzer to name + email (next patch will fix copyrights with the right holders)
Revision
1.77 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 4 21:16:02 2002 UTC (20 years, 9 months ago) by
edgomez
Branch:
MAIN
Changes since
1.76: +2 -16 lines
Diff to
previous 1.76
- Removed history header
- File Copyright to Michael until we find who wrote this file
Revision
1.73 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Aug 7 10:09:00 2002 UTC (20 years, 10 months ago) by
chl
Branch:
MAIN
Changes since
1.72: +16 -2 lines
Diff to
previous 1.72
New variable pEnc->last_sync for (more) correct time-codes in B-frames mode.
Not a 100% clean solution. NOTE: Whole Timecode management must be rewritten!
Revision
1.71 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Aug 4 22:34:49 2002 UTC (20 years, 10 months ago) by
edgomez
Branch:
MAIN
Changes since
1.70: +3 -1 lines
Diff to
previous 1.70
Fix missing symbol error when compiled without bframes support (thx monrad on IRC-opn)
Revision
1.68 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Jul 31 18:19:49 2002 UTC (20 years, 10 months ago) by
chl
Branch:
MAIN
Changes since
1.67: +17 -4 lines
Diff to
previous 1.67
First support for XVID_GREYSCALE: chroma DC is zeroed, AC is not saved.
No speed improvement, but working feature.
Revision
1.67 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Jul 30 12:14:37 2002 UTC (20 years, 10 months ago) by
chl
Branch:
MAIN
Changes since
1.66: +2 -2 lines
Diff to
previous 1.66
Modified to only drop if blockcount is _less_ than ratio instead of _less or
equa_, otherwise drops were still possible, even for drop=0 (-> bframe crash)
Revision
1.65 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Jul 28 13:06:45 2002 UTC (20 years, 10 months ago) by
chl
Branch:
MAIN
Changes since
1.64: +45 -3 lines
Diff to
previous 1.64
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().
Revision
1.52 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Jul 6 17:04:57 2002 UTC (20 years, 11 months ago) by
chl
Branch:
MAIN
Changes since
1.51: +18 -3 lines
Diff to
previous 1.51
Minor modifications for supporting multithreaded ME.
Without _SMP symbol there should be no changes in behaviour.
Revision
1.47 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Jun 23 19:48:06 2002 UTC (20 years, 11 months ago) by
edgomez
Branch:
MAIN
Changes since
1.46: +1 -2 lines
Diff to
previous 1.46
- transfer_8to16sub2_mmx activation
- Compile fixes (a missing image/font.h ???)
- Linux Makefile update to take care of last changes in feature
constants
Revision
1.45 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Jun 22 07:23:10 2002 UTC (20 years, 11 months ago) by
suxen_drol
Branch:
MAIN
Changes since
1.44: +3 -4 lines
Diff to
previous 1.44
minor fixes: bframe N_VOP support, custom quant bug, BFRAME inc_frame_num()
Revision
1.39 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Jun 9 13:16:26 2002 UTC (21 years ago) by
edgomez
Branch:
MAIN
Changes since
1.38: +274 -108 lines
Diff to
previous 1.38
80 Column cutting. I've put all the encoder_create cleaning code in goto statements, this is a clean way to do that job but some people don't like goto statements
Revision
1.30 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Apr 28 23:31:00 2002 UTC (21 years, 1 month ago) by
edgomez
Branch:
MAIN
Changes since
1.29: +2 -2 lines
Diff to
previous 1.29
Sad values can be negative (Christoph Lampert Post scriptum in a mail to the dev mail list)
Revision
1.13 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Thu Mar 28 20:57:24 2002 UTC (21 years, 2 months ago) by
edgomez
Branch:
MAIN
Changes since
1.12: +31 -21 lines
Diff to
previous 1.12
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.
Revision
1.11 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Mar 26 11:16:08 2002 UTC (21 years, 2 months ago) by
h
Branch:
MAIN
Changes since
1.10: +12 -12 lines
Diff to
previous 1.10
interlacing support - slow (MBDecideFieldDCT()), buggy (p-frames), incomplete (field motion prediction)
Revision
1.9 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Mar 24 05:47:08 2002 UTC (21 years, 2 months ago) by
h
Branch:
MAIN
Changes since
1.8: +3 -3 lines
Diff to
previous 1.8
foxer's cbr mode
(hijacks the rc_buffersize variable and uses it as reaction delay - easier than changing xvid.h)
Revision
1.5 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Mar 16 09:55:19 2002 UTC (21 years, 2 months ago) by
h
Branch:
MAIN
Changes since
1.4: +2 -2 lines
Diff to
previous 1.4
prevented RateControlUpdate() being called in non-cbr encodes
(bitrate isn't 0 anymore - it's set to 900000 in encoder_create())
Revision
1.3 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Mar 9 14:58:50 2002 UTC (21 years, 3 months ago) by
edgomez
Branch:
MAIN
Changes since
1.2: +141 -144 lines
Diff to
previous 1.2
Small cleanup for gcc warnings and code indentation (thx emacs indent-region :-)
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.