Log of /xvidcore/src/encoder.c
Parent Directory
Revision
1.95.2.56 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Nov 30 16:13:15 2003 UTC (20 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
,
to
selected 1.76
* 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 (20 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
,
to
selected 1.76
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 (20 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
,
to
selected 1.76
* 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 (20 years, 6 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
,
to
selected 1.76
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 (20 years, 6 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
,
to
selected 1.76
* 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 (20 years, 6 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
,
to
selected 1.76
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 (21 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
,
to
selected 1.76
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 (21 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
,
to
selected 1.76
* 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 (21 years, 2 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
,
to
selected 1.76
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.77 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 4 21:16:02 2002 UTC (21 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 (21 years, 9 months ago) by
chl
Branch:
MAIN
Changes since
1.72: +16 -2 lines
Diff to
previous 1.72
,
to
selected 1.76
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.67 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Jul 30 12:14:37 2002 UTC (21 years, 10 months ago) by
chl
Branch:
MAIN
Changes since
1.66: +2 -2 lines
Diff to
previous 1.66
,
to
selected 1.76
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 (21 years, 10 months ago) by
chl
Branch:
MAIN
Changes since
1.64: +45 -3 lines
Diff to
previous 1.64
,
to
selected 1.76
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.47 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Jun 23 19:48:06 2002 UTC (21 years, 11 months ago) by
edgomez
Branch:
MAIN
Changes since
1.46: +1 -2 lines
Diff to
previous 1.46
,
to
selected 1.76
- 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.39 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Jun 9 13:16:26 2002 UTC (21 years, 11 months ago) by
edgomez
Branch:
MAIN
Changes since
1.38: +274 -108 lines
Diff to
previous 1.38
,
to
selected 1.76
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.13 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Thu Mar 28 20:57:24 2002 UTC (22 years, 2 months ago) by
edgomez
Branch:
MAIN
Changes since
1.12: +31 -21 lines
Diff to
previous 1.12
,
to
selected 1.76
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.5 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Mar 16 09:55:19 2002 UTC (22 years, 2 months ago) by
h
Branch:
MAIN
Changes since
1.4: +2 -2 lines
Diff to
previous 1.4
,
to
selected 1.76
prevented RateControlUpdate() being called in non-cbr encodes
(bitrate isn't 0 anymore - it's set to 900000 in encoder_create())
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.