"And this is how you know that it isn't real..... A decent programmer would have converted it to COBOL......"
===
As the OP, I actually DO know Cobol, IBM JCL and the VAX VMS command languages so just having THOSE on my resume should tell you how long I've been doing this!
And on a technical basis, I like using BOTH Lazarus Pascal AND Delphi Pascal which are fully object-oriented and they both FORCE you to write good (readable!) code. I could write in C++ or pure assembler too BUT that would make my code unreadable for almost everyone! I could do this C++ or Basic or even Python but for now it's a platform independent language.
CURRENT STATUS OF PROJECT:
The codec itself is DONE and because of MPEG-LA group licencing issues, I've had to make some modifications to NOT use any patents and algorithms used in the MPEG-4 or H.265 specification. The USA is getting especially NASTY on the legal front regarding enforcement of software patents --- Soooooo, the container format and algorithms I actually use are TRULY and FULLY open source and NOT subject to ANY USA or European video encoding patents and WILL be readable by Adobe Original and CC products, Windows AVI-format compatible systems, BM Resolve, and hopefully soon after Apple FCP.
Output Video Quality-wise, I have done EXTENSIVE image quality analysis(i.e. using hardware-based video signals DSP and analysis) to ensure that while the algorithm itself is NOT MP4/H264/H265/HVEC, it's final image quality WILL be nearly identical and at higher bitrates BETTER! It supports Short and Long GOP, I-frame-only, full 4:4:4 RAW and 3:1 and 6:1 RAW encoding.
An installable Direct-X/Windows Media codec for Windows is the first thing I will be releasing in the next three weeks and the 7Dmk2 version soon after. This allows you to DIRECTLY read (import) AND write (export) my 4:4:4:4, 4:2:2, 4:2:0, 4:1:1 color format pixels at 4, 6, 8, 10, 12, 14 and 16-bits per colour channel (RGBA or YCbCrA formats) and one-bit Black/white and 2, 4, 8, 10, 12, 14 and 16-bit Greyscale pixels. These more esoteric colour formats I included for you scientific personnel who need such formats.
Frame rates are user selectable for North America and Europe/Asia so you get hard coded integer frames per second rates 1, 2, 3, 4, 5, 10, 15, 20, 24, 25, 30, 48, 50, 60, 72, 100, 120, 240, 300, 480, 500, 1000, 2000 fps and fractional pro-level 23.976, 29.97, 59.94, 119.88, etc. I put this in there for EXPORT and IMPORT so as my codec gets added to more hardware, the frame rates supported will be essentially unlimited.
There is also a user-selectable CUSTOM frame rate selector which ALLOWS ANY frame rate up to quadrillions of fps (i.e. 32 or 64-bit floating point number depending upon system) for those of you in the scientific community who need such high frame rates.
For those of you in Astrophotography and time-lapse projects, there is built-in support for user definable frames per minute, per hour, per day, per week, per month and per year!
It ALSO supports VARIABLE frame sizes and VARIABLE FRAME RATES on output so this means the codec can output multiple versions of the output/compressed video to multiple files.
Example: Output a 4k DCI 4096x2160 video at 59.94 fps, a 1920x1080p 59.94 fps and a 960x540 24 fps file for web use AT THE SAME TIME. There are frame size presets for export and import of 80x60, 160x120, 320x240, 360x240, 480x270 for ultra-high frame rates at 300+ fps and 640x480, NTSC 720x480, PAL/SECAM 720x540, 852x480, 960x540, DCI 2048x1080, 1920x1080, 3840x2160, 4096x2160, 7680x4320, 8192x4320 and even 16k pixel frame size formats at hardware-checked frame rates!
Custom frame sizes of ANY SIZE are available for BOTH crop-sensor sampling (i.e. take from middle of sensor) and the sample frames can also be downsampled or supersampled from the sensor depending upon available camera's CPU horsepower. Resize algorithms are user-selectable, Bilinear, Bicubic, Lanczos3 and Lanczos-5 for BEST image quality and you can ADD an UNSHARP MASK after downsampling or upsampling on import and on output to a file!
In-codec Zebra-stripes, selectable 75 to 100% IRE luma peaking in 1% increments, black-level 0.0%, 7.5% to 20% luma dipping indicators will show your video levels as you record. There is a histrogram and RGB parade display for other monitoring. All Output to file(s) is usually CLEAN from those monitoring and any metadata overlays unless you select otherwise.
AND finally, there is BUILT-IN support for advanced Lens information, Date, Clock Time, Time Code, Scene Number, Shot Number, Frame Number, GPS location, 3D-XYZ Depth map and user-defined text-based metadata saved for EVERY FRAME or saved on a user-defined every Nth frame basis. Metadata can be exported to XML or CSV MS Excel Spreadsheet formats or BOTH at the same time. AND for the kicker, the Metadata can be STREAMED live out the USB port OR via wifi (if equipped!) or via the Ethernet port of the higher end cameras AND be saved into the output files ALL AT THE SAME TIME during recording OR playback on metadata tracks separate from the video tracks OR actually have them BURNED into the video!
Sound is high-end features with 4 khz to 192 khz up to 10 Mhz selectable sample rate at 8, 16, 20, 24 and 32-bits audio sampling and supports from one to 256 tracks of audio! (i wanted PRO-LEVEL audio features!)
Of course the higher-end the camera you have, the MORE of these features will auto-activate. For higher frame sizes, you may have to live with 24fps rather than 60 fps. For multiple file outputs at the same time, you may have to buy FASTER storage cards...the system will TELL YOU what your camera can support based upon auto-calculated CPU speed and bandwidth measurements.
I DO TAKE INTO ACCOUNT the "Thermal Budget" of the Canon (or other brand!) cameras so I do a hardware/memory card check first before I activate specific features. I do however, allow the end-user to OVERRIDE what I suggest!
It will be THEIR responsibility warranty-wise and on a LEGAL basis because my open source licence will SPECIFICALLY mention the possible or even LIKELY risk of your camera catching on fire or literally exploding -- i.e. batteries or motherboards overheating/exploding due to software usage!) and ME NOT being responsible because use of the new software on yours or other cameras is "FULLY AT YOUR OWN RISK OF INJURY/DEATH TO LIFE AND LIMB"! No claims of fitness will be made and no warrantees will be expressed or implied! If you use it then Too Bad! So Sad! It will be Your LEGAL and HEALTH Problems and Issues to deal with if you use the software! NOT MINE!
Hooking into the Canon BIOS of course has been an ABSOLUTE ROYAL bachoooeeey of thankless programming frustration BUT I am testing a Canon 7D Mark2 as my initial test bed so I don't accidentally BRICK our $6000+ Canon 1Dc's or $40,000+ (30 000 Euros) C700!
The 7Dmk2 is first, then the 6D series, then 5D Mk2/Mk3/Mk4, the 1DX mk1/mk2
and THEN the C100 mk1/mk2, C200, C300 mk1/mk2, C500 and C700 cameras.
I ==POSSIBLY== might be able to port codec to the Olympus, Pentax,
Sony a7/a9 series and anything ELSE that has an ARM-based CPU chip in it!
So far so good, will know how the 7Dmk2 holds up by later next week!
We shall see! I will release the Windows Direct-X/WinMedia codec within three weeks!
WISH ME LUCK on getting the Canon Camera BIOS hook-in correct!