[XviD-devel] [DEBUG TASK] Valgrind report

Edouard Gomez xvid-devel@xvid.org
Wed, 15 Jan 2003 01:01:25 +0100


--jI8keyz6grp/JLjh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Well well, still going further in my dev-api-3 tests when trying MfA VLC
codes and  i get  very strange results  when enabling small  LUTs. Frame
size becomes HUGE.

1- We  decided to see if LUTs  were not corrupted using  valgrind and qt
the end of the email.

2- When steping trhough the code, i noticed that the first input frame
goes make is path to encoder.c:1015 then iFrameNum is incremented and
so, first frame is not a *forced IFrame* but it is an IFrame because
MEanalysis is trying to analyse first frame against garbage. I'm pretty
sure valgrind is reporting this bug, because Meanalysis is comparing a
frame with unitialised data.

Here is the log
---------------------------------------------------------------------------=
-----

=3D=3D22227=3D=3D valgrind-1.0.4, a memory error detector for x86 GNU/Linux.
=3D=3D22227=3D=3D Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
=3D=3D22227=3D=3D Estimated CPU clock rate is 734 MHz
=3D=3D22227=3D=3D For more details, rerun with: -v

1st frame

=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x80922CC: CheckCandidate32I (../../src/motion/moti=
on_est.c:355)
=3D=3D22227=3D=3D    by 0x8093424: DiamondSearch (../../src/motion/motion_e=
st.c:641)
=3D=3D22227=3D=3D    by 0x809AA4D: MEanalyzeMB (../../src/motion/motion_est=
.c:1835)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x80922CC: CheckCandidate32I (../../src/motion/moti=
on_est.c:355)
=3D=3D22227=3D=3D    by 0x8093478: DiamondSearch (../../src/motion/motion_e=
st.c:643)
=3D=3D22227=3D=3D    by 0x809AA4D: MEanalyzeMB (../../src/motion/motion_est=
.c:1835)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x809A92F: MEanalyzeMB (../../src/motion/motion_est=
.c:1821)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D    by 0x804BBC2: xvid_encore (../../src/xvid.c:1004)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x809A95A: MEanalyzeMB (../../src/motion/motion_est=
.c:1822)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D    by 0x804BBC2: xvid_encore (../../src/xvid.c:1004)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8099395: make_mask (../../src/motion/motion_est.c=
:873)
=3D=3D22227=3D=3D    by 0x809A9FC: MEanalyzeMB (../../src/motion/motion_est=
.c:1831)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x80993E7: make_mask (../../src/motion/motion_est.c=
:874)
=3D=3D22227=3D=3D    by 0x809A9FC: MEanalyzeMB (../../src/motion/motion_est=
.c:1831)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x809946F: make_mask (../../src/motion/motion_est.c=
:878)
=3D=3D22227=3D=3D    by 0x809A9FC: MEanalyzeMB (../../src/motion/motion_est=
.c:1831)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x80993B8: make_mask (../../src/motion/motion_est.c=
:873)
=3D=3D22227=3D=3D    by 0x809A9FC: MEanalyzeMB (../../src/motion/motion_est=
.c:1831)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8099411: make_mask (../../src/motion/motion_est.c=
:875)
=3D=3D22227=3D=3D    by 0x809A9FC: MEanalyzeMB (../../src/motion/motion_est=
.c:1831)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8099443: make_mask (../../src/motion/motion_est.c=
:876)
=3D=3D22227=3D=3D    by 0x809A9FC: MEanalyzeMB (../../src/motion/motion_est=
.c:1831)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097F5E: get_pmv2 (../../src/prediction/mbpredict=
ion.h:582)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097F72: get_pmv2 (../../src/prediction/mbpredict=
ion.h:582)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097F86: get_pmv2 (../../src/prediction/mbpredict=
ion.h:582)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097F94: get_pmv2 (../../src/prediction/mbpredict=
ion.h:582)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097FA2: get_pmv2 (../../src/prediction/mbpredict=
ion.h:582)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097FBC: get_pmv2 (../../src/prediction/mbpredict=
ion.h:585)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097FD0: get_pmv2 (../../src/prediction/mbpredict=
ion.h:585)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097FE4: get_pmv2 (../../src/prediction/mbpredict=
ion.h:585)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8097FF2: get_pmv2 (../../src/prediction/mbpredict=
ion.h:585)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)
=3D=3D22227=3D=3D=20
=3D=3D22227=3D=3D Conditional jump or move depends on uninitialised value(s)
=3D=3D22227=3D=3D    at 0x8098000: get_pmv2 (../../src/prediction/mbpredict=
ion.h:585)
=3D=3D22227=3D=3D    by 0x809A856: MEanalyzeMB (../../src/motion/motion_est=
.c:1811)
=3D=3D22227=3D=3D    by 0x8096954: MEanalysis (../../src/motion/motion_est.=
c:1892)
=3D=3D22227=3D=3D    by 0x8086399: encoder_encode_bframes (../../src/encode=
r.c:1020)

End of 1st frame
then encoding is done without errors

PS : this valgrind report has been done using BIGLUT

--=20
Edouard Gomez

--jI8keyz6grp/JLjh
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+JKTVR5dTYz5sWMcRApisAKD5RY7uxJAGE+Z9JMzPbFHryK0FGgCeJ8pD
wcVxhfIp3gdY7IQM0rwwFOw=
=HFjv
-----END PGP SIGNATURE-----

--jI8keyz6grp/JLjh--