Også tilgjengelig på norsk: Ekte Programmering
Please refer to chapter 24: Licensing Information for all the details.
Based on the article SRTP AES Optimization and updates from the article SRTP AES Optimization Revisited.
Source code: srtp_aes_revisited_2016.zip (browse), srtp_aes_2010.c
Based on the articles MultiDoom and MultiQuake.
Source code for MultiDoom: multidoom_2014.zip (browse)
Source code for MultiQuake: multiquake_2014.zip (browse)
The 2014 versions are the same as the 2010 versions, but they use TMC instead of iLib.
Based on the article AES Optimization on Tilera TILE-Gx.
Source code: aes_tilegx_2011.c
Based on the article A look at Halide's SSE2 3x3 Box Filter.
Source code: box_sse2_2012.c
Based on the articles YUV420 to RGB Conversion using SSE2 and RGB to YUV conversion on Tilera TILE-Gx.
Source code for SSE2 YUV to RGB: yuv2rgb_sse2_2012.cpp
Source code for TILE-Gx RGB to YUV: rgb2yuv_tilegx_2013.cpp
Source code for fix.awk: fix_2013.awk
Based on the article Exploiting the Cache: Faster Separable Filters.
Source code: imagetrans_2018.zip (browse)
The code was written in 2013, but I didn't write the article until 2018. The ARM version was also written in 2013, but not published until 2019.
Update: The article A Fast Image Scaler for ARM Neon (2023) has a completely new ARMv8 Neon intrinsics-based implementation and a working ARM Neon assembler implementation.
Based on the article Bilinear Picture Scaling on Tilera TILE-Gx.
Source code: tilegx_bilinear_par_2014.zip (browse)
Source code for TILE-Gx Scharr filter: scharr_tilegx_2014.c
Source code for ARM NEON average of an area: average_neon_2014.c
Update: An improved version of NEON average calculation is discussed here:
News 17 April 2024
Based on the article OpenSSL aes_core.c Replacement for Tilera TILE-Gx.
Source code: tilegx_aes_openssl_2015.zip (browse)
Based on the article GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.
Assorted improvements from the News section have been integrated into the book.
Source code: gpu_hacks_2016.zip (browse)
Update: The article Edgehog: 1080p60 Nano Fractals (2023) discusses using the CPU to do fractal edge checking. With working source code, of course.
Based on the article GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.
It's advisable to refer to the implementation in the article Nvidia Jetson TX2 Xmas Demo 2017.
Based on the article GPURay - GPU+CPU Raytracer for NVidia Tegra X1.
It's advisable to refer to the implementation in the article Nvidia Jetson TX2 Xmas Demo 2017.
Source code: gpuray_2017.zip (browse)
Based on the article Integer Raytracing on Tilera TILE-Gx.
Source code: tilegx_int_raytracer_2017.zip (browse)
Based on the article Nvidia Jetson TX2 Xmas Demo 2017.
Source code: xmasdemo_2017.zip (browse)
Source code for ARM Neon 2x4 atan2(): satan2_2017.cpp
After publication of the book, we have made an improved version that compiles on both Windows and Linux. The shaders should work on all graphics cards. We replaced all the graphics, the music, the fonts, and fixed a pile of bugs: The Xmas Demo 2020
The secret message in the video wasn't mentioned in the book. It should have been, but it wasn't. A rare miss. It's "SrDt 3454", which is a reference to "The Great Ventilation and Telephone Riots of SRDT 3454" described in the "trilogy" The Hitchhiker's Guide to the Galaxy [wikipedia.org].
Source code for AVX2 Bayer to I420 conversion: bayer_2018.c
Pictures and source code: quat_2019.zip (browse)
The text drawing functions had to be removed due to possible copyright issues. Just terminate the calls and it should run ok.
Licensed images used are listed below, along with the modified versions.
Pictures from
commons.wikimedia.org.
License:
Creative Commons Attribution-Share Alike 3.0 Unported
Title | Artist | Original | Modified |
Atlass | Ano8675309 | Atlass.jpg | Atlass4.png |
Ankerbrot / OBEY | Harald Schilly | Ankerbrot_-_OBEY_-_panoramio.jpg | obey4.png |
Pictures from
pixabay.com.
License:
Pixabay License
Title | Artist | Original | Modified |
Men Individual Group | Clker-Free-Vector-Images | men-individual-group-community-311308/ | unique_red.png |
Paper Wall Structure | Gerd Altmann | paper-wall-structure-ban-font-109277 | unacceptable.png |
Pictures and source code for VHS video resampler: cliffy_2019.zip (browse)
Should build with Visual Studio Community in x64-mode, but the video file is missing. It's rather large (30 GB+). Contact me if you want a copy.
Pictures, video files and source code for Dreamscape and Eclipse: The Final Cut: remix2_2019.zip (browse)
Pictures, video files and source code for Dreamscape: The Missing Scene: recycler_2020.zip (browse)
Should also build with Visual Studio Community, but the MPEG-1 files must be converted to raw YUV444 with FFmpeg.
Source code for Invention, with bugfix: Invention_TG94_2020.zip (browse)