Generally, videos with PSNR less then 35 are blocky. Most videos at 480x352 resolution and 20fps could be encoded with PSNR around 35 at 300kbps which is about 2.25MB per minute. Some videos are simply more complex and harder to encode and they come out bellow 35 PSNR. In those cituations, bumping bitrate 100kbps (or 0.7MB per minute) gives about 1 PSNR. If this put PSNR close to 35, this is the easiest way to improve the video, otherwise it need to be filtered, but filtering could improve so much, so the procedure should be as follows:
- Encode 480x360@300kbps.
- if PSNR is over 35 see how much lower I could push bandwidth maintaining PSNR above 35, having in mind that 100kbps would save 0.7MB/min and lower PSNR by about 1.
- If PSNR is at 30 or bellow - encode at 500kbps and see if video is acceptable. Those videos will not fit into 500kbps at 640x480, thus this is about all that could be done to those videos without filtering.640x480/480x352~1.70, so I need 1.7 more bandwidth or 480x352@250kbps is about the same as 640x480@400kbps and 480x352@300kbps is about the same as 640x480@500kbps and over 500kbps at 480x360 would put bandwidth over 850kbps at 640x480
- If PSNR is close enough to 35, try 400kbps or 500 kbps, but again not much could be done to those videos.
On filtering - As expected DeFreq blurs the video. The absolute minimum cut off frequency is between 25 and 50 with bluriness horribly visible at 25 and quite noticable even at 50, but could be lived with. Bellow 25 it is way too blury and
probably there is no reason to go bellow 100-50.
DeFreq does improve PSNR, however video quality does not improve that much, only videos become blury. Overall, despite improvements in PSNR, DeFreq is not worth processor time for if video do not fit into the bandwidth, it won't even after DeFreq - bump up the bandwidth.
| AnimalKingdom 480x352 |
| 400kbsp | 31.028/32.208 |
| 500kbsp | 31.929/33.129 |
| 500kbsp/DF-100 | 32.780/34.029 |
| 500kbsp/DF-50 | 34.348 /35.677 |
| 500kbsp/DF-25 | 39.215/40.629 |
| Leafs 480x352 |
| 300kbsp | 28.015/28.884 |
| 400kbsp | 29.05729.937 |
| 500kbsp | 29.871/30.794 (13.36+9.19fps) |
| 400kbsp/DF-50 | 31.167/32.895 (8.39+6.81fps) |
| 400kbsp/DF-40 | 32.848/33.830 (7.87+5.98fps) |
| 400kbsp/DF-30 | 34.251/35.274 (9.03+7.08fps) |
On another note, disk on D600 is dieing and doing around 5fps vs. 8fps it used to do, while on Dell Edge HT server (for which the numbers are at the table) it goes at 13+fps (even over giggy) and CPU is at 55% (with local files and DF at 8.3fps). Same story on my Core Duo laptop (10+ fps/7-8 fps). Why cannot it go faster? We are still at half the realtime for the first pass and even worse then that for the second, which means that Core Duo would be about the minimum for D1 in real time (assuming CPU could be fully loaded). It is about time to try x264 interlaced!