Subversion Repositories eduke32


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

Filtering Options

Rev Age Author Path Log message Diff
5074 2245d 21h terminx /polymer/eduke32/source/animvpx.c Abort animvpx playback if uploading the texture for a frame throws a GL error. DONT_BUILD.  
4998 2286d 17h terminx /polymer/eduke32/source/animvpx.c Remove animvpx's dependency on GLSL; adds in-place YUV420 to RGB888 conversion.  
4762 2365d 14h hendricks266 /polymer/eduke32/source/animvpx.c Fix some things when building on OS X. DONT_BUILD.  
4540 2502d 13h 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 2652d 11h 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 2963d 4h helixhorned /polymer/eduke32/source/animvpx.c Take over and use static assertion macro found in LuaJIT sources.  
3341 3060d 7h helixhorned /polymer/eduke32/source/animvpx.c Fix LTO=1 RELEASE=1 Lunatic build.  
3176 3104d 8h 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 3104d 8h 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 3104d 23h 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 3111d 2h 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 3114d 19h 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 3116d 3h 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 3156d 1h helixhorned /polymer/eduke32/source/animvpx.c Fix compilation on Debian 6.0 (Squeeze).  
2834 3229d 4h helixhorned /polymer/eduke32/source/animvpx.c VP8: clamp GL texture to edge if possible, preventing potential stray lines  
2832 3229d 4h helixhorned /polymer/eduke32/source/animvpx.c VP8: collect times while playing the video and print a summary to the log afterwards.  
2830 3229d 4h 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 3413d 22h 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 3446d 3h helixhorned /polymer/eduke32/source/animvpx.c Remove some warnings with clang, code-side changes.  
2107 3475d 0h 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.

Show All