Xiph.Org issueshttps://gitlab.xiph.org/groups/xiph/-/issues2009-03-21T06:03:49Zhttps://gitlab.xiph.org/xiph/theora/-/issues/1509[theora-thusnelda]Can't compile under vs2008 caused by many syntax error2009-03-21T06:03:49ZGitlab Bot[theora-thusnelda]Can't compile under vs2008 caused by many syntax error*I checked out [15675](https://trac.xiph.org/changeset/15675) and try to compile with MS vs2005/vs2008,but get syntax error(vs2008 doesn't support C99),the errors as following,
```
...
..\..\..\lib\enc\mode.c(776) : error C2059: syntax e...*I checked out [15675](https://trac.xiph.org/changeset/15675) and try to compile with MS vs2005/vs2008,but get syntax error(vs2008 doesn't support C99),the errors as following,
```
...
..\..\..\lib\enc\mode.c(776) : error C2059: syntax error : “{”
..\..\..\lib\enc\mode.c(810) : error C2059: syntax error : “{”
..\..\..\lib\enc\mode.c(858) : warning C4018: “<”: signed/unsigned mismatch
..\..\..\lib\enc\mode.c(947) : warning C4018: “>=”: signed/unsigned mismatch
..\..\..\lib\enc\mode.c(949) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(950) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(951) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(952) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(953) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(954) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(955) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(956) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(957) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(958) : error C2143: syntax error : syntax error : missing ',' before type
..\..\..\lib\enc\mode.c(960) : error C2275: “macroblock_t”: illegal use of this type as an expression
d:\devloper\c++\source\vcvc8\libtheora\lib\enc\codec_internal.h(149) : reference define of “macroblock_t”
..\..\..\lib\enc\mode.c(960) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(966) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(966) : error C2223: “->analysis_mv” must point to struct/union
..\..\..\lib\enc\mode.c(966) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(966) : error C2223: “->analysis_mv”must point to struct/union
..\..\..\lib\enc\mode.c(966) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(966) : error C2223: “->analysis_mv”must point to struct/union
..\..\..\lib\enc\mode.c(966) : error C2198: “memmove”: too few arguments for call
..\..\..\lib\enc\mode.c(969) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(969) : error C2223: “->mv”must point to struct/union
..\..\..\lib\enc\mode.c(969) : error C2065: “aerror”: undeclared identifier
..\..\..\lib\enc\mode.c(969) : warning C4133: “function”: incompatible types “int *” to “mv_t *”
..\..\..\lib\enc\mode.c(969) : error C2065: “block_err”: undeclared identifier
..\..\..\lib\enc\mode.c(969) : error C2198: “oc_mcenc_search”: too few arguments for call
..\..\..\lib\enc\mode.c(972) : error C2065: “gerror”: undeclared identifier
..\..\..\lib\enc\mode.c(975) : error C2065: “aerror”: undeclared identifier
..\..\..\lib\enc\mode.c(975) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(975) : error C2223: “->aerror”must point to struct/union
..\..\..\lib\enc\mode.c(976) : error C2065: “gerror”: undeclared identifier
..\..\..\lib\enc\mode.c(976) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(976) : error C2223: “->gerror”must point to struct/union
..\..\..\lib\enc\mode.c(980) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(980) : error C2223: “->mode”must point to struct/union
..\..\..\lib\enc\mode.c(982) : error C2065: “mb”: undeclared identifier
..\..\..\lib\enc\mode.c(997) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(997) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(998) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(998) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(998) : error C2198: “cost_inter_nomv”: too few arguments for call
..\..\..\lib\enc\mode.c(999) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(999) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1000) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1000) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1000) : error C2198: “cost_intra”: too few arguments for call
..\..\..\lib\enc\mode.c(1001) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1001) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1002) : error C2065: “mb_mv_bits_0”: undeclared identifier
..\..\..\lib\enc\mode.c(1002) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1002) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1002) : error C2198: “cost_inter1mv”: too few arguments for call
..\..\..\lib\enc\mode.c(1003) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1003) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1004) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1004) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1004) : error C2198: “cost_inter”: too few arguments for call
..\..\..\lib\enc\mode.c(1005) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1005) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1006) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1006) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1006) : error C2198: “cost_inter”: too few arguments for call
..\..\..\lib\enc\mode.c(1007) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1007) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1008) : error C2059: syntax error : “{”
..\..\..\lib\enc\mode.c(1009) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1009) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1010) : error C2065: “mb_gmv_bits_0”: undeclared identifier
..\..\..\lib\enc\mode.c(1010) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1010) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1010) : error C2198: “cost_inter1mv”: too few arguments for call
..\..\..\lib\enc\mode.c(1011) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1011) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1012) : error C2065: “mb_4mv_bits_0”: undeclared identifier
..\..\..\lib\enc\mode.c(1012) : error C2065: “mb_4mv_bits_1”: undeclared identifier
..\..\..\lib\enc\mode.c(1012) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1012) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1012) : error C2198: “cost_inter4mv”: too few arguments for call
..\..\..\lib\enc\mode.c(1018) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1018) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1018) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1018) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1018) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1018) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1018) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1018) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1019) : error C2065: “block_err”: undeclared identifier
..\..\..\lib\enc\mode.c(1020) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1020) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1021) : error C2065: “mb_4mv_bits_0”: undeclared identifier
..\..\..\lib\enc\mode.c(1021) : error C2065: “mb_4mv_bits_1”: undeclared identifier
..\..\..\lib\enc\mode.c(1021) : error C2065: “overhead”: undeclared identifier
..\..\..\lib\enc\mode.c(1021) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1021) : error C2198: “cost_inter4mv”: too few arguments for call
..\..\..\lib\enc\mode.c(1022) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1022) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1022) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1022) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1023) : error C2065: “gerror”: undeclared identifier
..\..\..\lib\enc\mode.c(1024) : error C2065: “cost”: undeclared identifier
..\..\..\lib\enc\mode.c(1024) : error C2109: subscript requires array or pointer type
..\..\..\lib\enc\mode.c(1024) : fatal error C1003: error count exceeds 100; stopping compilation
...
```https://gitlab.xiph.org/xiph/theora/-/issues/1505[theora-thusnelda] make check fails2009-02-09T17:47:15ZGitlab Bot[theora-thusnelda] make check failsUsing r15675 make check fails with:
```
make[2]: Entering directory `/home/abc/sorgenti/theora-thusnelda/tests'
---- + Initializing theora_info struct ...
---- + Initializing theora_state for encoding ...
---- + Clearing theora_state ...Using r15675 make check fails with:
```
make[2]: Entering directory `/home/abc/sorgenti/theora-thusnelda/tests'
---- + Initializing theora_info struct ...
---- + Initializing theora_state for encoding ...
---- + Clearing theora_state ...
---- + Clearing theora_info struct ...
PASS: noop
---- + Initializing theora_comment ...
---- + Adding ARTIST1 ...
---- + Adding LICENSE by tag ...
---- + Adding ARTIST2 by tag ...
---- + Querying value of LICENSE ...
foo Creative Commons Attribution-ShareAlike 2.5
---- + Querying count of ARTIST comments ...
---- + Querying value of ARTIST index 0 ...
---- + Querying value of ARTIST index 1 ...
---- + Querying value of ARTIST index 2 (out of bounds) ...
---- + Querying value of UNDEF index 7 (tag not defined) ...
---- + Clearing theora_comment ...
PASS: comment-test
---- + Initializing theora_info struct ...
---- + Initializing theora_state for encoding ...
---- + Setting up dummy 4:2:0 frame data ...
---- + Checking granulepos generation ...
theora_encode_YUVin() returned -10
granulepos.c:104: negative error code submitting frame for compression
FAIL: granulepos
===================
1 of 3 tests failed
===================
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory `/home/abc/sorgenti/theora-thusnelda/tests'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/home/abc/sorgenti/theora-thusnelda/tests'
make: *** [check-recursive] Error 1
```https://gitlab.xiph.org/xiph/theora/-/issues/1488static library project for win32, doesn't compile2017-08-20T01:57:18ZGitlab Botstatic library project for win32, doesn't compileWhen downloading from either subversion or the 1.0 release; and trying to compile static libraries for theora, using the theora_static.dsp, a compilation error occurs:
where codec_internal.h cannot be found, adding a relative path to li...When downloading from either subversion or the 1.0 release; and trying to compile static libraries for theora, using the theora_static.dsp, a compilation error occurs:
where codec_internal.h cannot be found, adding a relative path to lib\enc fixes this.
however, when using the compiled .lib, the linker errors:
1>theora_static_d.lib(decinfo.obj) : error LNK2019: unresolved external symbol _theorapackB_readinit referenced in function _th_decode_headerin
1>theora_static_d.lib(decinfo.obj) : error LNK2019: unresolved external symbol _theorapackB_read referenced in function _oc_dec_headerin
1>theora_static_d.lib(huffdec.obj) : error LNK2001: unresolved external symbol _theorapackB_read
1>theora_static_d.lib(dequant.obj) : error LNK2001: unresolved external symbol _theorapackB_read
1>theora_static_d.lib(decinfo.obj) : error LNK2019: unresolved external symbol _theorapackB_bytes referenced in function _oc_comment_unpack
1>theora_static_d.lib(huffdec.obj) : error LNK2019: unresolved external symbol _theorapackB_read1 referenced in function _oc_huff_tree_unpack
1>theora_static_d.lib(dequant.obj) : error LNK2001: unresolved external symbol _theorapackB_read1
occur, I was unable to find any reasoning for this, after a bit of searching it seems that 'bitpack.c' was not included in the project, which causes it's sources not to be compiled into the lib.
this error is going to make windows users (who often just want to open a project file and compile) think there is something genuinely wrong with theora, which this is not the case. I could see this being an acceptable issue with the top of the svn, but the 'official' 1.0 release has this issue too, a 'stable' release like this should have had the windows projects checked, especially if they are included at all.
https://gitlab.xiph.org/xiph/theora/-/issues/1481[theora-thusnelda] many improvements/fixes from trunk/theora are missing in t...2009-02-06T10:24:58ZGitlab Bot[theora-thusnelda] many improvements/fixes from trunk/theora are missing in thusneldaHi, I noticed that theora-thusnelda is missing a huge amount of fixes that were committed to trunk/theora after the thusnelda branching (r14138), but most of them have not been applied to thusnelda (only some of them have been occasional...Hi, I noticed that theora-thusnelda is missing a huge amount of fixes that were committed to trunk/theora after the thusnelda branching (r14138), but most of them have not been applied to thusnelda (only some of them have been occasionally applied). Just to name the first few since the branching:
* many fixes to png2theora (e.g. r14239, r14320)
* many fixes to the decoder (e.g. r14154, r14293, r14321)
* fixes to the encoder that may also apply to thusnelda
* also splayer.c is missing from thusnelda
I think that all trunk/theora commits since r14138 should be checked one by one and evaluated to be cherry picked in thusnelda.Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/theora/-/issues/1479[PATCH] Division by zero in libtheora-1.02010-02-01T21:13:50ZGitlab Bot[PATCH] Division by zero in libtheora-1.0Just for the record:
http://lists.xiph.org/pipermail/theora-dev/2008-December/003806.htmlJust for the record:
http://lists.xiph.org/pipermail/theora-dev/2008-December/003806.htmlhttps://gitlab.xiph.org/xiph/theora/-/issues/1476Theora-thusnelda fails to compile with an error about recon_mmx2009-02-06T10:21:24ZzikzakTheora-thusnelda fails to compile with an error about recon_mmxNothing was changed on the computer between the previous SVN version ans the current one.
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../lib -I../lib/dec -I../lib/enc -I/usr/local/include ...Nothing was changed on the computer between the previous SVN version ans the current one.
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../lib -I../lib/dec -I../lib/enc -I/usr/local/include -Wall -Wno-parentheses -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops -MT recon_mmx.lo -MD -MP -MF .deps/recon_mmx.Tpo -c -o recon_mmx.lo `test -f 'enc/x86/recon_mmx.c' || echo './'`enc/x86/recon_mmx.c
gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../lib -I../lib/dec -I../lib/enc -I/usr/local/include -Wall -Wno-parentheses -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops -MT recon_mmx.lo -MD -MP -MF .deps/recon_mmx.Tpo -c enc/x86/recon_mmx.c -fPIC -DPIC -o .libs/recon_mmx.o
/tmp/ccw2bSXE.s: Assembler messages:
/tmp/ccw2bSXE.s:12: Error: bad register name `%rdi'
/tmp/ccw2bSXE.s:16: Error: bad register name `%rdi)'
/tmp/ccw2bSXE.s:21: Error: bad register name `%rdi)'
/tmp/ccw2bSXE.s:26: Error: bad register name `%rdi)'
/tmp/ccw2bSXE.s:30: Error: bad register name `%rdi)'
/tmp/ccw2bSXE.s:46: Error: bad register name `%rdi'
/tmp/ccw2bSXE.s:58: Error: bad register name `%rdi'
make[2]: *** [recon_mmx.lo] Error 1
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/theora/-/issues/1467fix configure.ac to work with cross scenario for ogg2017-08-20T01:57:18ZGitlab Botfix configure.ac to work with cross scenario for oggThe current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage....The current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage.
This patch fixes the libogg test.https://gitlab.xiph.org/xiph/theora/-/issues/1466fix configure.ac to work with cross scenario for sdl2017-08-20T01:57:18ZRobert Schwebelfix configure.ac to work with cross scenario for sdlThe current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage....The current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage.
This patch fixes the SDL test.https://gitlab.xiph.org/xiph/theora/-/issues/1465fix configure.ac to work with cross scenario for libvorbis2020-02-27T04:36:19ZRobert Schwebelfix configure.ac to work with cross scenario for libvorbisThe current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage....The current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage.
This patch fixes the vorbis test.https://gitlab.xiph.org/xiph/theora/-/issues/1461libtheora: theora_clear crashes after encoding certain image sizes2008-11-17T19:53:32ZOlaf Tilllibtheora: theora_clear crashes after encoding certain image sizesHi,
the attached test-program (which encodes one frame into an ogg stream)
crashes.
Versions: libtheora-1.0 (tarball from xiph.org), libogg-1.1.3-2 (and
1.1.3-4) of Debian Stable
Using gdb, the crash is in the cleanup at the end, in:
...Hi,
the attached test-program (which encodes one frame into an ogg stream)
crashes.
Versions: libtheora-1.0 (tarball from xiph.org), libogg-1.1.3-2 (and
1.1.3-4) of Debian Stable
Using gdb, the crash is in the cleanup at the end, in:
EClearFrameInfo (enc/encoder_toplevel.c),
line: _ogg_free(cpi->yuv0ptr);
The function was called by
theora_encode_clear (enc/encoder_toplevel.c),
which in turn was called by
theora_clear (dec/apiwrapper.c),
line: (*((oc_state_dispatch_vtbl *)_th->internal_encode)->clear)(_th);
(theora_clear was called for the first time in the program.)
When the pointer pointer is attempted to be freed, it has the same
value as after allocation in EInitFrameInfo (enc/encoder_toplevel.c):
cpi->yuv0ptr after malloc:
(gdb) print cpi->yuv0ptr
$1 = (YUV_BUFFER_ENTRY *) 0xb5fdc008 ""
cpi->yuv0ptr before attempt to free:
(gdb) print cpi->yuv0ptr
$2 = (YUV_BUFFER_ENTRY *) 0xb5fdc008 '\200' <repeats 200 times>...
(gdb) c
Continuing.
*** glibc detected *** free(): invalid pointer: 0xb5fdc008 ***
(The same crash happens with stepping a single code-line further, I
used "c" for continuing only in this case.)
Setting image width and height to 256 instead of 1024, the crash is at
the same point in the program, and the value of the pointer is also
unchanged with respect to after allocation, only now there is just a
segfault, without a message from glibc. Setting image width and height
to 64, 16, or 4, the pointer (non-null) is freed in EClearFrameInfo
without a crash.
I did not find where this pointer had been freed before in
libtheora. The memory must have been freed over a pointer not named
"yuv0ptr", possibly resulting from some (wrong) pointer arithmetic...
BTW if "theora_clear" is not called, apparently normal video files
(image width and height 1024) are produced.https://gitlab.xiph.org/xiph/theora/-/issues/1453asm() shouldn't be used in solaris2008-11-05T06:26:53Zbrian.luasm() shouldn't be used in solarisDue to a bug in SunStduio12 (we've reported it), the asm() statements failed to be compiled with SunStudio12.Due to a bug in SunStduio12 (we've reported it), the asm() statements failed to be compiled with SunStudio12.https://gitlab.xiph.org/xiph/theora/-/issues/1445encoder_example segfaults on invalid options2017-04-07T23:21:36ZAdam Buchbinderencoder_example segfaults on invalid optionsRun "encoder_example --framerate-numerator" or "encoder_example --framerate-denominator"; these will segfault (at least they do on my system), while "encoder_example -f" and "encoder_example -F" do not. This is due to incorrect handling ...Run "encoder_example --framerate-numerator" or "encoder_example --framerate-denominator"; these will segfault (at least they do on my system), while "encoder_example -f" and "encoder_example -F" do not. This is due to incorrect handling of long options. The same goes for the long options "--aspect-numerator" and "--aspect-denominator".
This is the same pattern that caused #1444--options[] doesn't match optstring.https://gitlab.xiph.org/xiph/theora/-/issues/1444png2theora segfaults on invalid options2017-04-07T23:21:36ZAdam Buchbinderpng2theora segfaults on invalid optionsRun "png2theora --framerate-numerator" or "png2theora --framerate-denominator"; these will segfault (at least they do on my system), while "png2theora -f" and "png2theora -F" do not. This is due to incorrect handling of long options. The...Run "png2theora --framerate-numerator" or "png2theora --framerate-denominator"; these will segfault (at least they do on my system), while "png2theora -f" and "png2theora -F" do not. This is due to incorrect handling of long options. The same goes for the long options "--aspect-numerator" and "--aspect-denominator".https://gitlab.xiph.org/xiph/theora/-/issues/1442link failure with linux libtool on macos2008-10-21T05:32:51ZGhost Userlink failure with linux libtool on macosIn the release candidate tarball, using libtool generated on a Linux system, the example encoder (and presumedly other applications) fails to link because of the duplicate inclusion of oc_cpu_flags_get() in both libtheoraenc and libtheor...In the release candidate tarball, using libtool generated on a Linux system, the example encoder (and presumedly other applications) fails to link because of the duplicate inclusion of oc_cpu_flags_get() in both libtheoraenc and libtheoradec.
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Wno-parentheses -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops -o encoder_example encoder_example-encoder_example.o ../lib/libtheoraenc.la ../lib/libtheoradec.la -logg -lvorbis -lm -lvorbisenc
gcc -Wall -Wno-parentheses -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops -o .libs/encoder_example encoder_example-encoder_example.o ../lib/.libs/libtheoraenc.dylib ../lib/.libs/libtheoradec.dylib /usr/local/lib/libvorbisenc.2.0.2.dylib /usr/local/lib/libvorbis.0.3.1.dylib /usr/local/lib/libogg.0.5.3.dylib -lm
/usr/bin/ld: multiple definitions of symbol _oc_cpu_flags_get
../lib/.libs/libtheoradec.dylib(single module) definition of _oc_cpu_flags_get
../lib/.libs/libtheoraenc.dylib(single module) definition of _oc_cpu_flags_get
/usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used
symbol _oc_cpu_flags_get used from dynamic library ../lib/.libs/libtheoradec.dylib(single module) not from earlier dynamic library /usr/local/lib/libtheoraenc.1.dylib(single module)
collect2: ld returned 1 exit status
This wasn't noticed building from svn because the native apple libtool doesn't show the problem.
Removing -single_module from the library link lines avoids the problem. This can be done either by setting LT_MULTI_MODULE=1 in the environment before calling configure (this is a work-around) or by changing the definition of single_module to an empty string on line 1171. This doesn't seem to harm the Linux x86_64 build, but I don't know what other implications it might have.
Monty MontgomeryMonty Montgomeryhttps://gitlab.xiph.org/xiph/theora/-/issues/1435libtheora fails to build with msvc 2005 (files missing from source archive)2008-10-07T12:44:25ZGitlab Botlibtheora fails to build with msvc 2005 (files missing from source archive)Hello,
libtheora fails to build with vs 2005. I get messages like
Kompilieren...
state.c
..\..\..\lib\dec\state.c(24) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "x86_vc/x86int.h": No such file or directory
This ...Hello,
libtheora fails to build with vs 2005. I get messages like
Kompilieren...
state.c
..\..\..\lib\dec\state.c(24) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "x86_vc/x86int.h": No such file or directory
This is because the whole x86_vc folder is missing from the libtheora-beta3.tar.gz source archive (link to it is here: http://www.theora.org/downloads/ ). Including this folder would make the problem go away I assume. The folder is also present in SVN.
-Matthiashttps://gitlab.xiph.org/xiph/theora/-/issues/1434lib/enc/x86_64/dct_decode_mmx.c missing from EXTRA_DIST2008-10-04T20:45:21ZMonty Montgomerylib/enc/x86_64/dct_decode_mmx.c missing from EXTRA_DISTThe rc tarball doesn't build on x86_64 due to missing x86_64/dct_decode_mmx.c. Tarball appears to have been built without due to missing entry in EXTRA_DIST in Makefile.am.
Committing fix to SVN now, logging this bug so others see it.
The rc tarball doesn't build on x86_64 due to missing x86_64/dct_decode_mmx.c. Tarball appears to have been built without due to missing entry in EXTRA_DIST in Makefile.am.
Committing fix to SVN now, logging this bug so others see it.
https://gitlab.xiph.org/xiph/theora/-/issues/1431ltablex.sty missing from libtheora-1.0beta32017-04-07T23:20:35Zmhoustonltablex.sty missing from libtheora-1.0beta3Beta2 included a file doc/spec/ltablex.sty. Beta3 omits this file. The result of which is that the documentation build fails on latex installs that omit the ltablex.sty file as a standard part. RedHat Enterprise Linux 5 is one such distr...Beta2 included a file doc/spec/ltablex.sty. Beta3 omits this file. The result of which is that the documentation build fails on latex installs that omit the ltablex.sty file as a standard part. RedHat Enterprise Linux 5 is one such distro.
I believe there is some reticence about the licence that the ltablex.sty file is released under which prevents it being included in some Latex builds.
The file needs to be included back into the directory that uses it or the build fails.https://gitlab.xiph.org/xiph/theora/-/issues/1423libtheora 1.0 beta3 fails tests if built without the encoder part and builds ...2008-09-08T00:43:58Zaballierlibtheora 1.0 beta3 fails tests if built without the encoder part and builds tests by default.Currently tests are built with make all while they should probably be built with make check.
Moreover, tests fail if I use --disable-encode at configure.
Enclosed patch should fix this, by using check_PROGRAMS instead of noinst and spl...Currently tests are built with make all while they should probably be built with make check.
Moreover, tests fail if I use --disable-encode at configure.
Enclosed patch should fix this, by using check_PROGRAMS instead of noinst and splitting the tests in two parts: encoder and decoder ones, running only the correct ones depending on the configure option.https://gitlab.xiph.org/xiph/theora/-/issues/1420Compilation problems with libtheora2008-09-05T23:34:09ZalanpaeCompilation problems with libtheoraHi there,
I'm trying to compile libtheora 1.0 beta 3 on a Solaris machine.
The command line is simply ./configure -C --disable-examples.
This bombs with the following error:
```
gcc -shared -Wl,-h -Wl,libtheoraenc.so.1 -o .libs/libth...Hi there,
I'm trying to compile libtheora 1.0 beta 3 on a Solaris machine.
The command line is simply ./configure -C --disable-examples.
This bombs with the following error:
```
gcc -shared -Wl,-h -Wl,libtheoraenc.so.1 -o .libs/libtheoraenc.so.1.0.0 .libs/cpu.o
.libs/dct_decode_mmx.o .libs/dsp_mmx.o .libs/dsp_mmxext.o .libs/recon_mmx.o .libs/idct_mmx.o
.libs/fdct_mmx.o .libs/dct_encode.o .libs/encode.o .libs/encoder_huffman.o .libs/encoder_idct.o
.libs/encoder_toplevel.o .libs/encoder_quant.o .libs/encapiwrapper.o .libs/blockmap.o
.libs/dct.o .libs/dct_decode.o .libs/frarray.o .libs/frinit.o .libs/mcomp.o .libs/misc_common.o
.libs/pb.o .libs/pp.o .libs/reconstruct.o .libs/scan.o .libs/dsp.o -R/opt/local/lib -logg -L/opt
/local/lib -lc
Text relocation remains referenced
against symbol offset in file
.rodata (section) 0x55 .libs/dct_decode_mmx.o
.rodata (section) 0x5f .libs/dct_decode_mmx.o
.rodata (section) 0x108 .libs/dct_decode_mmx.o
.rodata (section) 0x112 .libs/dct_decode_mmx.o
.rodata (section) 0x1df .libs/dct_decode_mmx.o
.rodata (section) 0x1e6 .libs/dct_decode_mmx.o
.rodata (section) 0x1f3 .libs/dct_decode_mmx.o
.rodata (section) 0x1fa .libs/dct_decode_mmx.o
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
```
If I add either of the following to ./configure then the error goes away:
```
--disable-encode
--disable-shared
```
From what I've been able to figure out there is a problem with the shared library portion for whatever reason.
The fix seems to be to pass -fPIC to gcc which you will notice is missing on the command line just before the error is thrown. I've not been able to figure out how to pass -fPIC to gcc to see if it alleviates the situation.
How can I do this?
thanks in advance,
alanhttps://gitlab.xiph.org/xiph/theora/-/issues/1419cpuid instruction detection function oc_detect_cpuid_helper is buggy2008-10-21T01:35:06Zmartins.mozeikocpuid instruction detection function oc_detect_cpuid_helper is buggyIn [lib/cpu.c](https://trac.xiph.org/browser/trunk/theora/lib/cpu.c) there is cpuid instruction detection function [oc_detect_cpuid_helper](https://trac.xiph.org/browser/trunk/theora/lib/cpu.c#L80) used for MSVC. Currently it just overwr...In [lib/cpu.c](https://trac.xiph.org/browser/trunk/theora/lib/cpu.c) there is cpuid instruction detection function [oc_detect_cpuid_helper](https://trac.xiph.org/browser/trunk/theora/lib/cpu.c#L80) used for MSVC. Currently it just overwrites values of arguments (two pointers _eax and _ebx) with contents of eax and ebx registers:
```
mov [_eax],eax
mov [_ebx],ebx
```
It should be replaced with following code:
```
mov ecx,_eax
mov [ecx],eax
mov ecx,_ebx
mov [ecx],ebx
```
For me this bug always prevents to use cpuid instruction (didn't return correct values of eax and ebx) - therefore no MMX optimizations.
I'm using Micorosft Visual C++ 2008 Express Edition SP1 compiler.Monty MontgomeryMonty Montgomery