Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
#1 | Link |
|
Seņor Member
Join Date: May 2002
Location: Austin, Texas
Posts: 915
|
CorePNG - New LossLess codec
Here is a new lossless codec based on PNG developed by the talented jcsston. Essentially, each frame is compressed as a PNG, so if PNG does it, this codec does too. (RGBA) This new version has the ability to write P frames and to autodetect when it should. The P frame takes the difference of the previous frame and the current frame and encodes that as a PNG.
Things to note: 1. It is slower to encode than Huffyuv. 2. It is usually slower to decode than Huffyuv. 3. File sizes are usually smaller than Huffyuv. 4. It works best with large areas of similar color like Anime/cartoons. 5. P frames take a little more power to decode because the codec must take the difference of the video after decoding the frame. 6. Encoding with Auto-Delta frames is about 50% slower because it must encode each frame twice. 7. There is a maximum interval of 1000 frames between keyframes. Here it is: CorePNG vfw This really shouldn't be sitting at the bottom of another thread. Actual stats will be posted next. Last edited by Pamel; 1st November 2003 at 01:17. |
|
|
|
|
|
#2 | Link |
|
Moderator
![]() Join Date: Oct 2001
Location: Germany
Posts: 4,453
|
Nice work Pamel!
![]() Is there any chance to make that codec/PNG YUV-aware? As far as i understand it, PNG uses more or less some kind of zip/gz compression, so it shouldn't be too problematic to feed it with "any" kind of data. (I'm of course aware that there are libgz-based codecs [ok, I know of one slow one] out there, but PNG is somewhat inherantly more graphics/image based.) Anyways, thanks for your time spent on it and for your work! regards Koepi
__________________
Koepi's new media development site |
|
|
|
|
|
#3 | Link |
|
Seņor Member
Join Date: May 2002
Location: Austin, Texas
Posts: 915
|
Whoa there speedy! This codec is ALL jcsston. I just told him to do it.
![]() Here are some test clips to show how well certain things work. (all tests were done in RGB) Code:
01:47.265 - 02:18.472 S03E17 - 8F13 Homer at the Bat 512x384 pixels 31.44 seconds 752 frames No audio 158,184KB Huffyuv 131,190KB Loco 130,582KB All I frames Fastest 113,192KB All I frames Normal 109,812KB All I frames Best 73,654KB 2 P frames Normal 61,868KB 100 P frames Fastest 50,369KB 100 P frames Normal 49,189KB 100 P frames Best 40,603KB 1000 P frames Best with Auto-Delta frames StarwarsAAC5_1anamorphicXviD.mkv From the Anamorphic test. 720x432 pixels 32.60 seconds 815 frames No audio 311,895KB Huffyuv 325,213KB All I frames Normal 276,710KB 1000 P frames Best with Auto-Delta frames 3 Blocks, Simple rendered scene. 320x240 pixels 10.00 seconds 240 frames No audio 14,903KB Huffyuv 2,785KB All I frames Normal 2,538KB 1000 P frames Best with Auto-Delta frames Code:
1 Huffyuv 2 Fastest PNG 4 Normal PNG 16 Best PNG 24 Best w/ Auto-Delta. Here is an image that shows decoding the Simpsons Clip. The first hump is Huffyuv and the second hump is "All I frames Normal". There is no decoding difference with video encoded with Fastest, Normal, or Best. The 2 P frames stayed mostly at 94-98% CPU and hits 100% every now and then. For 100 P frames, it stayed at 100% the whole time. For the Auto-Delta, the CPU usage was about halfway inbetween 2 and 100 P frames. Last edited by Pamel; 29th March 2004 at 20:43. |
|
|
|
|
|
#4 | Link |
|
Moderator
![]() Join Date: Oct 2001
Location: Germany
Posts: 4,453
|
Hm, nice results - so it's definatly useful for anime/cartoon intermediate files.
My credits go out to jcsston - sorry for any confusion (Still thakns for the tests and announcement/forcing jcsston to code that )Best regards Koepi
__________________
Koepi's new media development site |
|
|
|
|
|
#5 | Link |
|
Registered User
Join Date: Mar 2002
Posts: 747
|
Why are you compare it to Huffyuv? There are much better lossless codecs. I'm particularly curious how is it doing against ffv1 on animes or cartoons (i cannot test since i haven't got any right now).
EDIT: BTW, nice work!
Last edited by Tommy Carrot; 29th October 2003 at 19:08. |
|
|
|
|
|
#6 | Link | |
|
Seņor Member
Join Date: May 2002
Location: Austin, Texas
Posts: 915
|
Quote:
I also wanted to try VBLE, but I'm not sure where to get it. I made some tests with FFV1, but I couldn't play any of them back so I'm not sure about the numbers it produced. Although it did much better on the StarWars clip and a bit worse than Normal I frames on the Simpsons clip. If anyone can get this codec to work, please post a comparison. |
|
|
|
|
|
|
#9 | Link |
|
Matroska Dev
Join Date: Sep 2002
Location: Texas, USA
Posts: 229
|
I say again, this codec in it's current state CANNOT be compared equally to VBLE or FFV1. Both those codecs work in YV12 colorspace, half the bits of RGB24. And neither support Alpha channel.
I don't see many people comparing 44.1Khz Monkey audio to 22.05Khz FLAC
__________________
The Matroska Effect |
|
|
|
|
|
#10 | Link |
|
Plug me in...
Join Date: Aug 2003
Location: Mississippi
Posts: 93
|
On fast mode I get 4 FPS and on Best I get 0 to 1 FPS. Also I do not have Auto-Delta on. I wish I got the speed Pamel got.
*EDIT* Also my video is upside down. *EDIT 2* I find that when I encode in Fast mode my video comes out upside down.
__________________
Chaos in order or order in chaos..... which are you? Last edited by Human_USB; 30th October 2003 at 02:28. |
|
|
|
|
|
#11 | Link | |
|
Registered User
Join Date: Mar 2002
Posts: 747
|
Quote:
BTW, the delta-frames are great idea! I've tried CorePNG on CGI, and the size gain is huge with delta-frames. Last edited by Tommy Carrot; 30th October 2003 at 02:47. |
|
|
|
|
|
|
#12 | Link | |
|
Matroska Dev
Join Date: Sep 2002
Location: Texas, USA
Posts: 229
|
Quote:
__________________
The Matroska Effect Last edited by jcsston; 30th October 2003 at 04:48. |
|
|
|
|
|
|
#13 | Link | |
|
Seņor Member
Join Date: May 2002
Location: Austin, Texas
Posts: 915
|
Quote:
The upsidedown video is an issue with DirectShow using the VFW codec to decode. You should not see this if playing the file back in VirtualDub. This will be fixed very soon. |
|
|
|
|
|
|
#14 | Link |
|
Registered User
Join Date: Jan 2002
Location: Norway
Posts: 1
|
Alpha
Hmm... You say you support Alpha channel..?
Does that mean you use RGBA all the time, or is there an option to do just RGB? I guess alpha-disabled clips would benefit from that. Btw, are there any video clips with alpha yet? if so, what for? Yuv support should/could be quite simple actually.. If I remember correctly, you could just add the 3 output yuv bitmaps together, then compress them using regular 256color png.. After all, that is what png is really good at. Code:
_________________ | | u | | y |_____| | | v | |_________|_____| This could be an option "Super-compression" or something. Unfortunately it tends to take time, but I would definetely use that for testclips that I have stored permanently in lossless format. Also, if you look at the pngcrush site, there are mentions of a few tweaks they had to do to the zlib before it would be optimal. Maybe worth checking out aswell? Good luck! We'll be watching your progress =) -=Dead2=- |
|
|
|
|
|
#15 | Link | |
|
Matroska Dev
Join Date: Sep 2002
Location: Texas, USA
Posts: 229
|
Re: Alpha
Quote:
Thanks for the idea of having different images for YUV. I've looked into the various things pngcrush does, but most of the things that it does to improve compression are hard-coded (need a different compile for regular compression) and it also increases decode time. I've fixed the image flip bug with 32-bit decoding. ![]() Download CorePNG VFW Codec v0.6
__________________
The Matroska Effect Last edited by jcsston; 30th October 2003 at 16:48. |
|
|
|
|
|
|
#16 | Link |
|
CoreCodec Founder
Join Date: Oct 2001
Location: Sunny Florida
Posts: 1,029
|
I asked jcsston to create a MAIN project page for CorePNG on www.CoreCodec.org for easier access and because it needed it
![]() Get it here: http://corecodec.org/projects/corepng FYI: for those looking for a nightly Source Code 'cron job' for all the CoreCodec.org projects (including Matroska and it's associated projects) go here: http://cvs.corecodec.org/nightly/ ---- Dan "BetaBoy" Marlin |
|
|
|
|
|
#18 | Link | |
|
Plug me in...
Join Date: Aug 2003
Location: Mississippi
Posts: 93
|
Quote:
But the sad thing is I have a 1800+ XP with 256 of 2600 DDR. Also my Hard drive has 8 MBs of cache so I have no clue what is killing my speed.
__________________
Chaos in order or order in chaos..... which are you? |
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|