The APEFOS Patch:
Now I am pretty sure that I did my best for the P-V community.
"The APEFOS Patch" has all achievements from WorkHorse, Boson, GSpot and DCT patches that I did before. And the best thing is: everything is inside only one patch.
Now the datarate is good enough for perfect image quality without compression artifacts and to deliver amazing texture, while allows the auto electronic features to work properly without stop recording, without camera freeze.
This is possible with a new matrix design which respect the discrete cosine transform frequency pattern, calibrates the noise between fine/gross, minimizes sensor flickering and adjust the quantization to the perfect point.
Works good up to ISO 8000. Also can be used with iso 10000 with care, just avoid ISO 12800 due to flickering.
H-switch: H slot is better for details in 720p, SH slot is better for noise/texture.
Works for PAL and NTSC.
The auto electronic features works in PAL for all recording modes.
In NTSC the auto electronic features works in 24H, 24L, HBR, FH and H. (in SH and FSH try using only one feature at a time)
The version below has a small fix in the matrix:
I am unable to dowmload. I am signed in :-(
It is really good idea to use zip as attachment
This is the ZIP file of the Final Version with perfect Matrix Settings:
(from now I will keep away from the internet for some time)
Hey apefos, first congratulaitons and thanks for these settings and your time spent working on these! Looks really promising - would you recommend this over Sanity X? (same stability but better quality?)
@apefos I am working with your last patches. Merry Christmas to you and thanks for your gift!
Are these patches about 720p only or also about Full HD modes? If yes, what is modified in Full HD modes?
New version, "The Apefos Patch 2" with better image quality for iso from 160 to 2000 which is a safe high iso limit for the GH2.
@apefos: is "The Apefos Patch 2" concerned the 1080p modes too (24H, 24L, HBR, etc.)?
Is the ISO improvement on 1080p, not only on 720p modes?
thank you apefos, I enjoyed your DCT patches a lot, can't wait to check apfs v2 out! :D
I am not working with video/audio anymore, but I am keeping the GH2 just for some fun.
I developed the version 2 because I found the version 1 shows some compression artifacts in iso from 160 to 2000 (very little, almost unoticeable). But it is better for very high iso from 3200 to 12800. The higher quantization in the luminance matrix in the version 1 helps to handle the heavy noise from isos from 3200 to 12800 but the downside is that it affects the texture in lower isos a little bit, mainly in light brown surfaces.
The version 2 has a lower quantization in the luminance matrix which improves the textures for isos from 160 to 2000, but can show some artifacts in very high iso from 3200 to 12800. This happens because the lower quantization cannot handle the heavy noise from the very high isos, but it improves the textures for lower isos.
People may ask: why don't you find the quantization settings in the luminance matrix which can do both things? Simple answer: because the datarate does not allow, and if I increase the datarate the auto electronic features will not work.
Both versions 1 and 2 works for 1080p and 720p.
Both versions works for PAL and NTSC.
Both versions can use the electronic auto features from camera body and lenses. (with these features enabled in NTSC the H is more stable compared to SH and FH is more stable than FSH, in PAL all are fine). (but if you use just one or two auto electronic features in NTSC SH and FSH it can work ok, and the SH and FSH are better for textures).
Both versions avoids the stop recording and camera freeze (tested with the 45Mbps card).
Both versions have the datarates in the maximum stable limit.
Both versions have all improvements from my previous patches, Workhorse, Boson, Gspot and DCT.
To perceive better the difference from versions 1 and 2, do some video in iso 160, 2000 and 12800 with both versions in 720p50 or 720p60 and then slow down to 24p or 25p in timeline to perceive how the slowmotion shows the textures in surfaces for both versions in iso 160, 2000 and 12800.
Enjoy!
@apefos Thank you for sharing this strong patch. I was considering Workhorse Flowmotion, DCT 55x & 56x among the best hacks for the GH2. But today I made a test to match them with this Apefos 2 and I even found it more interesting (very high picture quality; great stability; less noise and moiré; almost no artifacts; good grading...). I only had a couple of minute. Anyway, I was impressed. You said that "People may ask: why don't you find the quantization settings in the luminance matrix which can do both things? Simple answer: because the datarate does not allow, and if I increase the datarate the auto electronic features will not work." Ok. This patch is probably the best of the bunch.
@frullaccia I am happy with your words because you just understood it. You understood the apefos version2: to respect the GH2 hardware to make the auto electronic features to work properly and get the best possible image quality in this way.
What happens in the GH2 is: the camera hardware has a limit, no matter the memory card you use, I tested the 45Mbps card and the new 95Mbps card I bought (reliable from trusted seller and tested in usb 3.0). The limit happens this way: if you increase the datarate to get a better image, the native lenses, the image stabilization, and the idynamic will stop recording. What I did is to find the highest datarate to get best possible texture and keep using these auto features without stop recording. I did lots of test with matrix design and I found the lowest possible compression in the matrix that can keep recording without stop.
Also there is some things very important in the matrix: the matrix design must respect a math design which will not introduce problems in the image. This design is a mathematic calculation and XY design that can do it in a way that the codec reduces the data but does not shows a pattern in the image.
I got a very useful help from the "masters of hack" some time ago to understand the matrix desing and I myself perceived that the maths in the matrix should do the job without introduce patterns in the image. The patches from others that I tested did a good job but it introduces some pattern artifacts. I did analises in many patches to perceive the benefits and drawbacks... This way I did a setting which can do the compression without anoying problems.
the nebula is like this:
004 004 004 127
004 004 004 127
004 004 004 127
127 127 127 127
004 in the dct number is very little and shows a noise that is so small that it get into a flat look some times.
Also the high compression in the XY 127 lines shows high compression which introduces vertical and horizontal heavy compression lines in the image.
The Canis Night uses very low numbers which can be good for low light but crashes in light/shadow images.
The Flowmotion starts with number 007 in the dct number which I found is high for a fine noise, so the noise is a little gross. And it uses different settings for the fallback and interframe matrix which makes the camera processor to stress and sotp recording. The AV2 uses same careful tweaked matrix for all, intra inter and fallback so the camera processor does not stress.
In few words the solution I found is: to find the best main dct first number to get best fine noise, to find the best increase in next numbers XY first lines to get best image, to find the best numbers in the fill matrix to avoid a pattern, to make intraframe, interframe and fallback to be the same to not stress camera processor, and get the good compression. The luminance matrix is:
06 09 12 18
09 15 21 33
12 21 39 45
18 33 45 63
You can perceive that all numbers in the luminance matrix are multiple of 6, or half 6.
The first number being 6 means the best noise without get into a flat texture or gross noise. 4 in the dct number makes the noise to be very fine and some surfaces starts to be flat so the noise becomes different in image areas, 7 makes the noise to start to be gross in dark areas. 6 is the sweet spot, better than 5. 6 makes the gradients to be better also.
The other numbers in apefos2 means increase in quantization without get into artifacts in iso from 160 to 2000 and without stop recording in the datarate limit.
If you repeat this matrix side by side and down, you will perceive that there will be not high numbers so close to each other and this means no pattern in image.
the dct matrix, as you can see in wikipedia, has a frequency which increases to the right and to the bottom. From the dct number to the right and to the bottom I tested 1x, 1,5x, 2x, 3x and 1x, 2x, 3x, 4x I liked more the first option, less increase in quantization. In the diagonal the frequence increases more, so the numbers in the midle increases a little. in the bottom line and in the right line I used an increase of half value between the two options above: 1x, 1,75x, 2,5x, 3,5x but keeping multiples of 6 or half 6. this is the lowest possible frequency increase in these lines which avoid stop recording in this luminance matrix design.
the chrominance matrix is:
006 009 012 018
009 015 021 114
012 021 120 126
018 114 126 156
I believe that same matrix for luma and color can make the noise and texture to be similar in luma and color channels.
the higher numbers in the end are for minimize the image flickering. instead of using 127 in all positions I used different numbers to try to make the image texture better, all multiple of 6 and with similar quantization of 127 in all positions.
In chroma matrix, the Flowmotion does a good job using 127 in all the six end numers to avoid chroma flickering. I perceived that using 114, 120, 126 and 156 could keep same quantization and differ numbers to get a little difference to try to avoid a flat chroma look.
this is very fine differences but in the end... it is what makes you to say your words about the Apefos V2 to be "the best of the bunch".
Are these patches GOP 1? Just wondering.
This looks like a good patch for me to use because I want the lowest noise possible at the low ISOs. Don't care for higher ISOs. Currently, using Driftwood's Moon T7, but the noise is killing me at the low ISOs even in a well lit room. Shadows are very noisy. Hope this improves on it.
@Apefos ...!
...
the best possible patch is a combination of things: GOP, GOP Table, Matrix, Datarate...
as I said in previous post, the matrix does the job to reduce the data and deliver good texture and good noise avoiding a pattern (the challenge is to get the same beautiful texture and noise in all areas of image and compress it at same time without introduce artifacts). Also using same matrix for inter, intra and fallback makes the processor to works easy and helps the auto electronic features to work. When the luma and chroma matrix are very well calibrated there is no need to increase quantization in fallback and in interframe.
the second quantization outside the matrix is automatic from the camera, but when every setting is ok on the patch it works pretty good. 16 is a great number for it.
the datarate is desirable to be high, but without stop recording, in the maximum limit.
The GOP settings determines how many I, P and B frames will be in the GOP and also how many datarate will be shared among them, more to I or more to P and B, so the goal is to have the more I frames as you can, but respecting the datarate, because the datarate is not enough for only I frames. So the goal here is to find the number of I, P and B which allows a good quality. And also how to distribute the datarate among them is very very important, the size of each I, P and B frames have a lower limit before they starts to show artifacts so the patch must respect this. The Apefos Patches 1 and 2 uses GOP3 for 1080p. For 720p, it uses GOP4 for 720p60 and GOP3 for 720p50, this makes each I frame and each group of P frames to be on screen almost the same amount of time comparing PAL and NTSC and helps to get a better distribution of datarate in NTSC when setting the GOP Table.
As you can see a patch is a combo of settings, everything works together to make the image pop out.
People can say, I want more datarate, I want lower GOP, I want little quantization in the matrix... Well... What I can say is: there will be a price to pay, the camera will not be so stable, and there are chances of image breaking in some situations, for example fast motions, heavy details and so on. The Apefos Patches puts every settings on the maximum while keeping perfect stability. It can works ok for all kind of situations, steady images, heavy details, fast motions, low light, good light... just because it adjusts everything to the maximum that the camera hardware allows to do. Better than this means another camera. Period.
I just want to remember something which is important: in NTSC, the 720p60 is stable in H and the 1080i30 is stable in FH. But the SH and FSH shows better texture, you can try SH and FSH in NTSC using one or two auto electronic features at a time or disable them. In PAL all modes are fine.
some matrices for comparison,
nebula 1080 (same luma/chroma)
004 004 004 127
004 004 004 127
004 004 004 127
127 127 127 127
nebula 720 (chroma is like above)
004 004 004 016
004 004 004 032
004 004 004 048
016 032 048 050
Flowmotion:
intra L
007 011 015 021
011 015 026 026
015 026 028 028
021 026 028 028
intra C
005 007 010 015
007 008 013 127
010 013 127 127
015 127 127 127
inter L
009 014 019 027
014 019 033 033
019 033 036 036
027 033 036 036
inter C
007 009 013 019
009 010 016 127
013 016 127 127
019 127 127 127
fallback:
in L it changes last 3 digits to 255, this is high quantization
in C it changes all 127 to 255, this is high quantization
increases quantization a lot, and makes gradients not so good as apefos v2
using same numbers near to each other is not good idea, they can implement same quantization and make pixels to be same color and luma or very near results, turning textures into a flat look. nebula does this in lines and rolls using 127. flowmotion does this also using 026, 028 and 127
the luma quantization in Flowmotion is 1.2 in Apefos v2 it is 1.27, a little higher but better design and better dct number for noise, this little higher helps to avoid fallback
the chroma quantization in apefos v2 is 1.91 in flowmotion it is 1.59, due to this flowmotion needs to use fallback to increase quantization when there is motion, apefos v2 does not need because the main matrix is already better calibrated in quantization, and better noise using the 6 as first digit and better design with different numbers multiples of 6 or half six and increasing frequency.
a little more quantization in color was good helps not need fallback in color and also in luma
(fallback is when the main matrix has low quantization and in some situations the camera uses fallback which is another matrix with higher quantization to avoid artifacts, apefos v2 does not need)
interframe matrix are matrices to calculate the information which will be used from one frame to another, the temporal compression, if the intraframe matrix have a low quantization, the interframe matrix can be used with a high quantization to save data, but the temporal information will decrease in quality from one frame to another. if the interframe matrix is diferent it will make the processor to work a lot. using same matrix for the frame and for the temporal compression makes processor be easy and better balance in overall quality, more constant noise and texture over time and over image areas.
camera processor works less in apefos v2 and image is ok.
apefos version 1 Luma (perceive that the begining is the same in version 1 and 2. version 1 has higher quantization in last digits to handle the heavy noise from very high isos)
006 009 012 018
009 015 021 063
012 021 072 084
018 063 084 126
apefos version 2 Luma (less quantization in last digits allows better texture in lower isos, dct frequancy is very well respected, 006 as first digit is best for noise fine/gross calibration, there is no very high quantization in any number, no similar numbers so close to each other avoids patterns
006 009 012 018
009 015 021 033
012 021 039 045
018 033 045 063
apefos 1 and 2 chroma: the higher quantization in last digits does not introduce problems because the luma channel keeps the texture ok. these higher numbers helps two things: to avoid chroma flickering and increase quantization to allow the Luma matrix to have lower quantization. even using higher numbers it respects the frequancy increase and there is no similar numbers close to each other
006 009 012 018
009 015 021 114
012 021 120 126
018 114 126 156
The Canis Night crossfire Luma:
002 003 004 005
003 004 006 007
004 006 008 010
005 007 010 020
Chroma:
002 003 004 006
003 007 008 012
004 008 016 018
006 012 018 026
this is so low quantization and will need very high datarate and will need long gop to save data, also the second quantizer will increase automaticaly , so lots of drawbacks happens
now the Moon T7: (same luma chroma) it does not respect the dct frequency and creates diagonal lines, quantization is very high in first digits and can turn some things like dark areas or constant colors in flat look.
012 026 040 056
026 040 056 213
040 056 048 021
056 048 021 213
now the Moon T8 Luma (lower numbers in begining makes the need of highr numbers in the and, noise very fine can becomes flat in some surfaces, also heavy compression in last 3 pixels
004 008 013 016
008 013 016 032
014 017 034 072
018 036 096 127
and chroma: (same as T7)
012 026 040 056
026 040 056 213
040 056 048 021
056 048 021 213
interest thing is when you start to understand matrices you can predict what will happens without test it on camera.
I could keep doing analysis of other patches but I think this is enough.
@apefos Sure.... !
@apefos: Don't know if my eyes are wrong, but your latest patch wins with the least noise available!!!
where is the like button ?
@producer Welcome to the other side of the matrix.
this is the version 3, it can be unstable, I will keep myself on version 2.
I think the auto electronic features will not work on 720p or HBR
Also native lenses can make it more unstable than legacy lenses with adapters.
the version 3 increases datarate and also frame limit and frame buffer accordingly.
version2 datarates are: 96, 76, 76, 60
version 3 datarates are: 100, 84, 84, 68
the version 3 Luma Matrix reduces quantization from 1,27 to 1,17 in this design:
006 009 012 018
009 015 021 027
012 021 030 036
018 027 036 054
the difference from version 2 is little, but maybe can increase texture and noise quality.
I did not test it on camera, but the maths are correct on everything
remember: it can be unstable!
if you want to try:
@apefos: Do you have any idea about modifying the profile parameters?
Also, any chance to fix even just a little bit the terrible color and contrast shift of the image? Whatever I adjust in my GH2, then the recorded video is anything but what I set. Always greyish/greenish blown out. This is not with your patches only, it's with every patch ever made for GH2.
It looks like you're new here. If you want to get involved, click one of these buttons!