Subversion Repositories eduke32

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4762 2360d 23h hendricks266 /polymer/eduke32/source/animvpx.c Fix some things when building on OS X. DONT_BUILD.  
4540 2497d 23h 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.

DONT_BUILD.
 
4320 2647d 21h 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 2958d 14h helixhorned /polymer/eduke32/source/animvpx.c Take over and use static assertion macro found in LuaJIT sources.  
3341 3055d 16h helixhorned /polymer/eduke32/source/animvpx.c Fix LTO=1 RELEASE=1 Lunatic build.  
3176 3099d 17h 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 3099d 17h helixhorned /polymer/eduke32/source/animvpx.c Revert "Fix the warnings when building with C++, add MSVC C++ build support."

This reverts r3159..r3161.

Conflicts:
eduke32/build/include/compat.h
(Handled so that r3163's changes are kept applied.)
 
3159 3100d 8h 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 3106d 11h 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 3110d 5h 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 3111d 12h 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 3151d 10h helixhorned /polymer/eduke32/source/animvpx.c Fix compilation on Debian 6.0 (Squeeze).  
2834 3224d 13h helixhorned /polymer/eduke32/source/animvpx.c VP8: clamp GL texture to edge if possible, preventing potential stray lines  
2832 3224d 13h helixhorned /polymer/eduke32/source/animvpx.c VP8: collect times while playing the video and print a summary to the log afterwards.  
2830 3224d 13h 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 3409d 8h 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 3441d 12h helixhorned /polymer/eduke32/source/animvpx.c Remove some warnings with clang, code-side changes.  
2107 3470d 10h 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 3484d 18h helixhorned /polymer/eduke32/source/animvpx.c Comment out some unnecessary lines in animvpx.c  
2042 3516d 16h 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