Subversion Repositories eduke32


Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4762 2488d 16h hendricks266 /polymer/eduke32/source/animvpx.c Fix some things when building on OS X. DONT_BUILD.  
4540 2625d 15h hendricks266 /polymer/eduke32/source/animvpx.c Lunatic fixes:
1 compiler error.
2 compiler warnings.
1 runtime warning.

Note that at this time, CPLUSPLUS=1 LUNATIC=1 fails to build due to C++ function mangling, and Win64 Lunatic crashes.

4320 2775d 13h hendricks266 /polymer/eduke32/source/animvpx.c MSVC: Add support for x64 building and all synthesis libs (libpng/zlib, libvpx, libFLAC).

External ogg/vorbis are no longer required.
3644 3086d 6h helixhorned /polymer/eduke32/source/animvpx.c Take over and use static assertion macro found in LuaJIT sources.  
3341 3183d 9h helixhorned /polymer/eduke32/source/animvpx.c Fix LTO=1 RELEASE=1 Lunatic build.  
3176 3227d 10h helixhorned /polymer/eduke32/source/animvpx.c Split r3159..r3161, part 10: add explicit casts to *alloc return values.

NOTE: changes such as these are best viewed with something like
git diff (...) --color-words='[a-zA-Z0-9_]+|[^[:space:]]'
3165 3227d 10h helixhorned /polymer/eduke32/source/animvpx.c Revert "Fix the warnings when building with C++, add MSVC C++ build support."

This reverts r3159..r3161.

(Handled so that r3163's changes are kept applied.)
3159 3228d 1h terminx /polymer/eduke32/source/animvpx.c Fix the warnings when building with C++, add MSVC C++ build support. This also changes the internal type of lotags, hitags and cstat type fields to uint16_t instead of int16_t to clean up some dubious behavior wherein the code was using a value of 32768 as a flag in these fields for certain types of things, like invisible sprites (using the value as if it was uint16_t) where it was elsewhere checking if the value was < 0 (using the value as if it was int16_t). This change may break a few specific effects if any part of the relevant code was missed when looking for areas that needed to be addressed.

I think there's also a fix for the CON precache system breakage in here (lost it in my local tree when I started getting the C++ build working in MSVC, sorry!)
3131 3234d 4h helixhorned /polymer/eduke32/source/animvpx.c New utility ivfrate(.exe) and a couple of small VP8 changes.

The command-line utility can query and set the frame rate of IVF files, since
apparently encoders don't care too much about setting proper values in the IVF
header. Also, add the utility to the synthesis build.

On the playback side in EDuke32, get rid of the 1/(2*fps) "correction" if the
FPS numerator is <1000 (presumably used in older encoders) and properly print
the frame rate's fractional part.
3116 3237d 21h hendricks266 /polymer/eduke32/source/animvpx.c Work-in-progress adjustment to the C code to compile under C++. It builds for me without errors using Win32 MinGW-GCC, but it still generates warning soup. No guarantees about MSVC or anything using SDL. Enable C++ by building with CPLUSPLUS=1. C remains the default and should compile with no change in setup.

Credit to Plagman for the idea and doing the work on the game side, which is included in this commit.

(Building as C++ will give us features with which we can make improvements and optimizations on the multiplayer code and Polymer.)
3110 3239d 5h helixhorned /polymer/eduke32/source/animvpx.c VPX: print determined frame rate to the log.

Currently, the FPS determination is based on libvpx's vpxdec.c code, which uses
the FPS provided in the IVF file in one case, and simply sets it to 30 FPS in
the other. For the first case, a "correction" is carried out for something
which the comments suggest to originate from other (old?) VPX encoder versions.
3026 3279d 3h helixhorned /polymer/eduke32/source/animvpx.c Fix compilation on Debian 6.0 (Squeeze).  
2834 3352d 6h helixhorned /polymer/eduke32/source/animvpx.c VP8: clamp GL texture to edge if possible, preventing potential stray lines  
2832 3352d 6h helixhorned /polymer/eduke32/source/animvpx.c VP8: collect times while playing the video and print a summary to the log afterwards.  
2830 3352d 6h helixhorned /polymer/eduke32/source/animvpx.c VP8: unroll 3 planes -> packed conversion loop.

On an AMD Phenom II X4 system with generic memory modules, this brings down
the mean time for this conversion from 16.5 to 10.5 ms.
(GCC 4.6.1, optimized build)
2241 3537d 0h helixhorned /polymer/eduke32/source/animvpx.c In VPX 3 planed --> packed conversion code, pull constant expressions out of
the loop. For the release build and the test animation, this lowers the time
to 3-4 ms per conversion of one frame on my desktop machine.
2158 3569d 5h helixhorned /polymer/eduke32/source/animvpx.c Remove some warnings with clang, code-side changes.  
2107 3598d 2h helixhorned /polymer/eduke32/source/animvpx.c Fix building with both LTO and VPX support enabled. Specifically, don't use
the 'optimize' function attribute if LTO is enabled.
2083 3612d 11h helixhorned /polymer/eduke32/source/animvpx.c Comment out some unnecessary lines in animvpx.c  
2042 3644d 9h helixhorned /polymer/eduke32/source/animvpx.c VPX: in 3 planes -> packed format conversion code, group together the
three individual loops and compile the enclosing function at -O3 (-O1 for
debugging builds). Now, the time for this conversion ranges from 7 to 18
ms per frame across various tested machines, a clear improvement.

Show All