Subversion Repositories eduke32

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
5074 2126d 14h terminx /polymer/eduke32/source/animvpx.c Abort animvpx playback if uploading the texture for a frame throws a GL error. DONT_BUILD.  
4998 2167d 9h terminx /polymer/eduke32/source/animvpx.c Remove animvpx's dependency on GLSL; adds in-place YUV420 to RGB888 conversion.  
4762 2246d 6h hendricks266 /polymer/eduke32/source/animvpx.c Fix some things when building on OS X. DONT_BUILD.  
4540 2383d 5h 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 2533d 4h 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 2843d 21h helixhorned /polymer/eduke32/source/animvpx.c Take over and use static assertion macro found in LuaJIT sources.  
3341 2940d 23h helixhorned /polymer/eduke32/source/animvpx.c Fix LTO=1 RELEASE=1 Lunatic build.  
3176 2985d 0h 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 2985d 0h 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 2985d 15h 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 2991d 18h 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 2995d 12h 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 2996d 19h 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 3036d 17h helixhorned /polymer/eduke32/source/animvpx.c Fix compilation on Debian 6.0 (Squeeze).  
2834 3109d 20h helixhorned /polymer/eduke32/source/animvpx.c VP8: clamp GL texture to edge if possible, preventing potential stray lines  
2832 3109d 20h helixhorned /polymer/eduke32/source/animvpx.c VP8: collect times while playing the video and print a summary to the log afterwards.  
2830 3109d 20h 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 3294d 15h 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 3326d 19h helixhorned /polymer/eduke32/source/animvpx.c Remove some warnings with clang, code-side changes.  
2107 3355d 17h 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