Your message dated Sat, 29 Mar 2025 19:10:32 +0000
with message-id <[email protected]>
and subject line Bug#972943: fixed in libtheora 1.2.0+dfsg-1
has caused the Debian Bug report #972943,
regarding libtheora0: Too easy to enable "telemetry" (statistics capture) by
mistake, causing poor performance
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
972943: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972943
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libtheora0
Version: 1.1.1+dfsg.1-11
Severity: normal
Tags: patch fixed-upstream
Forwarded: https://gitlab.xiph.org/xiph/theora/-/issues/2312
The latest version of Proton (Valve's branch of Wine, used to run Windows
games under Steam) runs in a Debian 10-based container
(Steam Runtime 2 'soldier'), instead of the Ubuntu 12.04-based
LD_LIBRARY_PATH library bundle (Steam Runtime 1 'scout') that was used
in previous releases.
During the move from Steam Runtime 1 to 2, Proton developers noticed
a performance regression in their GStreamer-based video decoding,
which they were able to track down to the theoradec plugin. This plugin
uses libtheora, which has an optional feature called "telemetry" that
records statistics. It can be enabled or disabled at build-time; if
enabled at build-time, it is disabled by default at runtime. Activating
it at runtime involves setting some options, and incurs a significant
performance cost to convert each decoded frame from YUV to RGB for use
by Cairo (30-40ms per frame for 1920x1080 video).
Note that despite its name, as far as I'm aware "telemetry" does not
send the statistics anywhere, it just captures them - so it isn't a
privacy problem, and is really just "-metry", with no "tele-" involved :-)
In Debian, the telemetry feature is enabled in libtheora at build-time
since 1.1.1+dfsg.1-11, as requested in
<https://bugs.launchpad.net/ubuntu/+source/libtheora/+bug/627854>.
GStreamer's theoradec plugin attempts to set the telemetry options to
user-specified values. However, in released versions of libtheora,
setting the telemetry options to any value - even 0 - is documented to
have the side-effect of enabling the telemetry feature and triggering
the performance regression.
This can be fixed in three ways:
1. Disable telemetry at compile-time in libtheora.
We did this in the Steam Runtime as a temporary solution, but it's a
feature regression for libtheora, and the libtheora maintainers in
Debian presumably don't want that, so let's discard this option.
2. In GStreamer, if the telemetry options are set to 0, don't propagate
that into libtheora so that the expensive YUV -> RGB conversion is
not done, even with current releases of libtheora. This is
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/887>
and I've filed a separate Debian bug for it. The patch has been merged
upstream and was backported to 1.18.x (for 1.18.1, I think) in
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/892>.
3. In libtheora, if the telemetry options are all explicitly set to 0
(for example by current versions of GStreamer), behave as though they
had not been set at all, and therefore don't enable the expensive
YUV -> RGB conversion. This is
<https://gitlab.xiph.org/xiph/theora/-/issues/2312> and
<https://gitlab.xiph.org/xiph/theora/-/merge_requests/4>, and is what
this bug report represents. The patch has been merged upstream for
v1.2.0, but there hasn't been an upstream release since 1.2.0 alpha 1
(which doesn't have this change) in 2010, so it seems unlikely that
there will be a release with this change any time soon.
Following the principle that bad interactions between two components are
most robust if fixed on *both* sides, solutions 2 and 3 have both been
accepted upstream, and I suggest that they should also happen in Debian.
The Steam Runtime maintainers will probably be doing a backport of this
into 1.1.1, so I'll try to send a patch later.
Thanks,
smcv
--- End Message ---
--- Begin Message ---
Source: libtheora
Source-Version: 1.2.0+dfsg-1
Done: Petter Reinholdtsen <[email protected]>
We believe that the bug you reported is fixed in the latest version of
libtheora, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Petter Reinholdtsen <[email protected]> (supplier of updated libtheora package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sat, 29 Mar 2025 10:15:44 +0100
Source: libtheora
Binary: libtheora-bin libtheora-bin-dbgsym libtheora-dev libtheora-doc
libtheora1 libtheora1-dbgsym libtheoradec2 libtheoradec2-dbgsym libtheoraenc2
libtheoraenc2-dbgsym
Architecture: source amd64 all
Version: 1.2.0+dfsg-1
Distribution: experimental
Urgency: medium
Maintainer: Debian Multimedia Maintainers <[email protected]>
Changed-By: Petter Reinholdtsen <[email protected]>
Description:
libtheora-bin - Theora Video Compression Codec (example encoder, decoder)
libtheora-dev - Theora Video Compression Codec (development files)
libtheora-doc - Theora Video Compression Codec (documentation)
libtheora1 - Theora Video Compression Codec (shared library - libtheora)
libtheoradec2 - Theora Video Compression Codec (shared library - libtheoradec)
libtheoraenc2 - Theora Video Compression Codec (shared library - libtheoraenc)
Closes: 516343 972943
Changes:
libtheora (1.2.0+dfsg-1) experimental; urgency=medium
.
* Team upload.
.
* New upstream version 1.2.0.
- SONAME change for libtheora0->libtheora1,
libtheoradec1->libtheoradec2 and libtheoraenc1->libtheoraenc2 due
to changes in constness for string arguments of some public
method arguments.
- README now i markdown format.
- Include encoding wrapper script (Closes: #516343).
- Fixes performance issue when enabling telemetry (Closes: #972943).
- Dropped 0002-player-example-needs-lm-for-rint.patch,
0003-latex.patch, 0004-libpng16.patch,
0005-drop-inter-library-dep.patch and 0006-CVE-2024-56431.patch
now included upstream.
* Dropped autopkgtest dependency valgrind on armel and riscv64.
* Updated Standards-Version from 4.7.0 to 4.7.2.
Checksums-Sha1:
7ec57eb6ac51c244bb8b253a251d97474eb27fb5 2677 libtheora_1.2.0+dfsg-1.dsc
ba753c71c500780c633cbf94216b01fb1374127c 2525524
libtheora_1.2.0+dfsg.orig.tar.gz
61857b231cd516f6b5b0c0289b26e633fb678c44 11100
libtheora_1.2.0+dfsg-1.debian.tar.xz
a92e6ef93b799582c98f00bf5e691a1625a2632a 81040
libtheora-bin-dbgsym_1.2.0+dfsg-1_amd64.deb
621d7c13704a1d72d09f1f6ad24f501355f9bffa 49092
libtheora-bin_1.2.0+dfsg-1_amd64.deb
ab7cda31ccd8d9dd7aa62050e7f3cc02fd9d0c82 173616
libtheora-dev_1.2.0+dfsg-1_amd64.deb
477d0403cc9fd65ba45b5784e187acb37d000af0 998924
libtheora-doc_1.2.0+dfsg-1_all.deb
8deecf11e1a416f3f8a22d58d0510f00c9c80de7 279776
libtheora1-dbgsym_1.2.0+dfsg-1_amd64.deb
1a51276b6ed113bea02dee626f564c81db28ffc8 140500
libtheora1_1.2.0+dfsg-1_amd64.deb
ee79b84743e350812d692c87fe68d0d0ccd292a1 17183
libtheora_1.2.0+dfsg-1_amd64.buildinfo
e65940c61f5e23339cefb95d7f40c7de43d73edf 115844
libtheoradec2-dbgsym_1.2.0+dfsg-1_amd64.deb
108145db790433d35c6241e9fd23d7688460560c 59308
libtheoradec2_1.2.0+dfsg-1_amd64.deb
63b979ab3eb9f46803cbc61ed33774bd8a2a333a 218412
libtheoraenc2-dbgsym_1.2.0+dfsg-1_amd64.deb
b39e4c7a9f090b9a38663cc91fd5608bf6d87b9f 114652
libtheoraenc2_1.2.0+dfsg-1_amd64.deb
Checksums-Sha256:
36b6f63a14e0aa796a04bdfad59e77a17dcb0fb23c3f54df0f7e31caeecf3fa6 2677
libtheora_1.2.0+dfsg-1.dsc
92a32e9c1d79984e6fc6abe325da05bf4ec97ee38d1a4d49d338545ed050a28f 2525524
libtheora_1.2.0+dfsg.orig.tar.gz
c84ec77d1b90189d0c04b0d1fdddfa2379ba77f067899875596500b69dd7cdda 11100
libtheora_1.2.0+dfsg-1.debian.tar.xz
4f87725c2b77bbab8f92bbcd80fe32bf62c916ef66eeb0f2d0efbb4cf1fb274a 81040
libtheora-bin-dbgsym_1.2.0+dfsg-1_amd64.deb
44c1c7393da190a5d6576ff41c091a17d52d71f44d9a2a531cc783b7bda9b0c3 49092
libtheora-bin_1.2.0+dfsg-1_amd64.deb
eb1e273508d9f2e738b4f76d4e5aae06fe3672a38c2182744227f7713bc784ff 173616
libtheora-dev_1.2.0+dfsg-1_amd64.deb
beea22a929fa7ba84ddd8a4ea36cb4aa357607b892dabc79469cfe9e5d24ca00 998924
libtheora-doc_1.2.0+dfsg-1_all.deb
34832fa5a27b93c92840b59048fa3c36ecec4d592a46b90d7a5d9c4bea955b09 279776
libtheora1-dbgsym_1.2.0+dfsg-1_amd64.deb
8a44c50d9e804fe8f2aec95be1282d8bdc6b95cb14f369a5a64d1d182aa37d79 140500
libtheora1_1.2.0+dfsg-1_amd64.deb
4576674f2bb1b7d64a148523d98feb8c1731ad6a86ff4200373664109c2bada2 17183
libtheora_1.2.0+dfsg-1_amd64.buildinfo
2b3c1b33c9085fae241011d69e5102abbef0f70109fccab831368224be6f50f0 115844
libtheoradec2-dbgsym_1.2.0+dfsg-1_amd64.deb
0454593b02d13d74852246dd6c0c63d571242c7b7fd49623e90813962bd5ea89 59308
libtheoradec2_1.2.0+dfsg-1_amd64.deb
a624f5eb01f79596ce4c23e774be81706beaff5d0bba1d204ddd8cf91dd1420d 218412
libtheoraenc2-dbgsym_1.2.0+dfsg-1_amd64.deb
3e4e3c1a60c4dd8fc7ce39b08478e19bf5e5c22cb3cd7be45a31090e21ece73f 114652
libtheoraenc2_1.2.0+dfsg-1_amd64.deb
Files:
7bb77f9039fa17ce79064d3d9a351cd0 2677 libs optional libtheora_1.2.0+dfsg-1.dsc
71184f519565e5a563073d6ca387eed2 2525524 libs optional
libtheora_1.2.0+dfsg.orig.tar.gz
05fffd972c8d670fa0e557fe2600f6e1 11100 libs optional
libtheora_1.2.0+dfsg-1.debian.tar.xz
bccd3d525e049921f652fdc6c323d986 81040 debug optional
libtheora-bin-dbgsym_1.2.0+dfsg-1_amd64.deb
cb8ba19c3339b0b7dea6588311ef3212 49092 utils optional
libtheora-bin_1.2.0+dfsg-1_amd64.deb
623f98e0f1d4b26a3627ad1da5f08440 173616 libdevel optional
libtheora-dev_1.2.0+dfsg-1_amd64.deb
35b563ad23ea25c536f8af0466133593 998924 doc optional
libtheora-doc_1.2.0+dfsg-1_all.deb
b9ccf7dce68f319d59948a3484142d6b 279776 debug optional
libtheora1-dbgsym_1.2.0+dfsg-1_amd64.deb
14e57365e189081ffe40ebf064d1915f 140500 libs optional
libtheora1_1.2.0+dfsg-1_amd64.deb
2ed5513828c7842faf7b50f7b897da35 17183 libs optional
libtheora_1.2.0+dfsg-1_amd64.buildinfo
67f91924505ea17d704f591d3e67a3ec 115844 debug optional
libtheoradec2-dbgsym_1.2.0+dfsg-1_amd64.deb
60e77661e42f8afb28058e89b7cf8b71 59308 libs optional
libtheoradec2_1.2.0+dfsg-1_amd64.deb
f944fd3662094018e0229cfb56626a22 218412 debug optional
libtheoraenc2-dbgsym_1.2.0+dfsg-1_amd64.deb
81166bb178ca918c150019e59b7efe78 114652 libs optional
libtheoraenc2_1.2.0+dfsg-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEERqLf4owIeylOb9kkgSgKoIe6+w4FAmfn/CMACgkQgSgKoIe6
+w7YYRAAjKrJvGC/zDSKD3RKc8K9HCjNKtBVUN1K/4DqowxQdixMPrH77jqjd0Zo
32oDE8fQOTQzm9SVONbkxb7XtwHuMwfwVjYvICN5soAYKl3EJe387EIxyQAovGFe
gTyeBP/vzloa0Sb1CG2fLp2OVM7RPDm+ac0kBQNrAdQctgg9Aw3s2ZSuuIDq1na7
1DHBYqKhsB3DNNF5DBrwF12tRIE46Y0wczgDYdiZeNQEDN2E4di4e7N0Oz+vbrsv
lZ/NlU/arNpaNp/6dynl/DZLYgPpMgJdz26KgXeKNVXvvpwGZjWvYw9pJrpMWYrM
27gILbbXVPZOSJrNNNADGuTKzCB35P9/nf7WD0QV94BZpg6Y7Y0rdlq/fg4H5zKq
g5fhsFFVlX1W+6SQ1Sz80LlpxPRPuEewUH4YMMuI2EVLCMF1WJtCq81ZtiHKByS9
E8Hf7mKRlE5x4pHz2tPc5CWPrjXEfKMep3A+CKDsDm3yrlZNpsm6N0DCplhxcYcN
0XjGOwBqkcZhR/FUK+qdNKzuemwKmouFgGX4QHkWEtS4SktOi4oYVQZXkzg2muUZ
vOaff+gyg3XnkTcr4ITMbGJU6n1Bkng9ju6GviJ79jxzdVByZCYLXL9HV8274UKP
j+T+XLPEQX6U3KfMMsx+pRT7csjQNenzaGtxAlKqTbU8hKhTjJQ=
=OYFc
-----END PGP SIGNATURE-----
pgpaPcqkXzsnc.pgp
Description: PGP signature
--- End Message ---