Rick Kern
Dickson City, PA
rick@badfroggy.com | 818.455.5916
Mathematically minded Video Software Engineer with 9 years of experience coding video features for Mobile Apps and DVD/Blu-ray products, backed by a very strong academic record in Math, Computer Science, and Statistics. Deep interest in generating low-level code and designing algorithms to drive sophisticated processes such as GPU shaders and MP4 multiplexers.
Formats HLS, M2TS, MP4, H.264
Video APIs FFmpeg, AVFoundation, VideoToolbox, MediaCodec, OpenMAX IL, Stagefright
Graphics OpenGL ES, GLSL, Unity3D, CG shaders
Languages C++, C, Objective C, C#, Java ME/SE, Actionscript 3, JavaScript
Other Android NDK, Linux, Xcode, Eclipse, Unity3D, git, svn
Flipagram
Video Software Engineer |
9/2014 – 10/2015
|
Social media company with high emotional impact product, allowing users to set their photo and video memories to popular music.
|
“The Renderer” – Multimedia pipeline used to filter, combine, and transcode incoming content on mobile devices. The GPU and video codec hardware are used for fast encoding, and a seamless preview experience.
The renderer is a cross-platform C++ library using OpenGL ES 2.0. It uses pluggable, platform-specific modules where necessary for decoders and encoders (AVFoundation, MediaCodec, and OpenMAX), keeping code duplication to a minimum.
Implemented custom OpenGL ES 2.0 color conversion shaders, allowing video color formats (YCbCr) to be converted to screen format (RGB) and vice versa to convert filtered content for use by the encoder.
Rick Kern Software Inc
11/2013 – 9/2014
|
Corporation started for my own endeavors.
|
Acorn Anxiety –
Created using Unity3D, with shaders written in the CG shader language. CG is used to generate the appropriate code for various rendering systems, such as OpenGL and DirectX.
Sound Visualizer –
Android app written using the NDK and OpenGL, which displays the frequency spectrum calculated from microphone audio samples. The goal of this application was to better understand the process of publishing an application, from a broader perspective than software development alone.
Uplynk
Video Software Engineer |
9/2012 - 11/2013
|
Startup purchased by Verizon that simplifies and reduces cost of streaming video in one format to many platforms.
|
Android HLS/M2TS Player – ABC and Disney use this library in their Android applications: “Watch Disney”, “Watch Disney Junior”, “Watch Disney XD”, “Watch ABC”, and “ABC Family”. Verizon acquired Uplynk to expand their Digital Media Services group in November 2013. I developed this library to support HTTP Live Streaming on Android 2.3 and above, using hardware decoders through the OpenMAX IL and Stagefright APIs, in addition to the Fraunhofer AAC library. Several unique challenges presented themselves; primarily involving compatibility issues between different hardware H.264 decoders. Other challenges included non-standard frame formats output by the decoder, “secure decoders” on Android 2.3 which do not make pixel data available, and minimizing the total file size of the library while maintaining several device-specific libraries.
Deluxe Digital Studios
Software Engineer |
1/2011 – 9/2012
|
Industry-leading post-production company specializing in encoding film/TV/ad content and creating menus and software for DVD and Blu-ray products.
|
Virtual Vault (M2TS) – Enables viewers to stream SD video content to Blu-ray players.
MagicMenus – Speech recognition iPhone app to control Blu-ray discs, using PocketSphinx speech recognition library to convert voice to text, then customizing software to send commands to Blu-ray players (activating main feature, bonus content, etc.).
Blink Digital Studios
Software Engineer |
9/2009 – 1/2011
|
Creative design shop turned DVD and Blu-ray post-production house. Acquired by Deluxe Digital in January 2011 for its big-name movie studio clients.
|
Blu-ray Streaming – Created an M2TS adaptive streaming system for Blu-ray that works within the rigid constraints of the Blu-ray format.
Logic Puzzle "Hint" Engine – Linear algebra engine generating shortest-path "next move" hints for solver.
Playback Library – Constructed first-generation code library that powered content playback, screen switching, and order of playback for various video content.
Deluxe Digital Studios
C++/Java Developer |
9/2006 – 8/2009
|
Industry-leading post-production company specializing in encoding film/TV/ad content and creating menus and software for DVD and Blu-ray products.
|
Elementary Stream Comparison – Developed an M2TS elementary stream comparison utility to cut costly QC overtime trend on content with many audio and subtitle streams.
Blu-ray File Editing Utility – Created utility suite for viewing/editing Blu-ray files that became the go-to resource for diagnosing problems unable to be identified through the standard authoring tool.
Bachelor of Science : Math & Computer Science, minor in Statistics
Wilkes University, Wilkes-Barre, PA, 2006
-
Completed Math and CS double major and Stat minor in 3 years.
-
Took most advanced graduate Math courses offered: Complex Analysis and Topology.
-
Co-presented a talk on fractional derivatives at Moravian College.
-
Placed 3rd in ACM Programming Team Competition focused on logic problems.
Share with your friends: |