View Full Version : CoreCodec/H.264 Codec "CoreAVC"
Gleb Egorych
6th September 2008, 16:49
Here is some new information about the bug I described here (http://forum.doom9.org/showthread.php?p=1175251#post1175251). CoreAVC 1.8.0 is affected too. And it appears only in WinXP (SP3) on my nvidia system (8800GT + ForceWare 177.92). In Vista x64 SP1 on the same computer (8800GT + ForceWare 177.92) using ZP + EVR and MPC-HC + EVR with CoreAVC 1.8.0 everything is OK.
BetaBoy
9th September 2008, 13:06
ok.... a new day, a new CoreAVC build to QA. We have now fixed ALL and confirmed bugs in 1.8 as well as a few that we found. We are however looking into Gleb Egorych's report. If all goes well look for 1.8.x later this week ( it might even be 1.8.5 if we officially add 'Predictive Lossless' and a few more things).
BetaBoy
10th September 2008, 07:48
From a few pages back... we had a report of a Weighted prediction problem. Well we have a sample file now and indeed it needs to be fixed (for fades in/out) so we are working on it now... In the meantime I have updated the Filter Guide on CoreAVC.com with some new screen caps and updated text, take a look:
http://www.coreavc.com/index.php?option=com_content&task=view&id=42&Itemid=1
Dark Shikari
10th September 2008, 07:49
From a few pages back... we had a report of a Weighted prediction problem. Well we have a sample file now and indeed it needs to be fixed (for fades in/out) so we are working on it now... In the meantime I have updated the Filter Guide on CoreAVC.com with some new screen caps and updated text, take a look:
http://www.coreavc.com/index.php?option=com_content&task=view&id=42&Itemid=1Explicit weighted-P, or implicit weighted-B prediction?
BetaBoy
10th September 2008, 07:53
Explicit weighted-P
BetaBoy
10th September 2008, 08:33
fixed... now to QA.
MatMaul
10th September 2008, 11:04
any news on NV12 support ?
BetaBoy
10th September 2008, 12:54
When the time is right I'll post news on CUDA support.
Inventive Software
10th September 2008, 14:13
NV12 is not the same as CUDA. ;) NV12 is a slightly different colourspace to YV12. http://www.fourcc.org/yuv.php#NV12
THX-UltraII
10th September 2008, 15:51
What is a good deinterlacing setting for playing 1080p material?
None (Weave)
Single field
or
Bob
(I know what HW deinterlacing does and I cannot use that one)
Guest
10th September 2008, 15:59
If it's progressive, then it does not need deinterlacing, so choose none.
BetaBoy
10th September 2008, 18:34
NV12 is not the same as CUDA. ;) NV12 is a slightly different colourspace to YV12. http://www.fourcc.org/yuv.php#NV12
I know.... I was trying to avoid not saying anything more... so as you may have guessed from my post that what we are working on for NV12 is CUDA atm. So if that tells you anything... then ;-)
MatMaul
10th September 2008, 19:10
any chance to have NV12 (not the CUDA thing only the output colorspace :) ) in the 1.8.x ?
on ATI it allows the use of hardware deinterlacing and proper chroma upsampling made by the video card (at least on my card ^^) without eating the cpu with an expensive YV12=>RGB high quality conversion
Sulik
10th September 2008, 21:41
I'm surprised there aren't more decoders and encoders that use NV12 natively, since it is inherently faster than YV12 for all chroma processing (allows 128-bit wide SSE2 operations on chroma).
DigitalDeviant
11th September 2008, 00:40
any chance to have NV12 (not the CUDA thing only the output colorspace :) ) in the 1.8.x ?
on ATI it allows the use of hardware deinterlacing and proper chroma upsampling made by the video card (at least on my card ^^) without eating the cpu with an expensive YV12=>RGB high quality conversion
What card is that because I have a HD3650 and NV12 chroma upsampling still sucks :(
bob0r
13th September 2008, 23:36
BUG: coreavc.marvel.bug.png (http://x264.nl/coreavc.marvel.bug.png)
Sample: marvel.m2ts (http://x264.nl/marvel.m2ts)
Extra info:
[00:32] (CruNcher): jarod
[00:32] (CruNcher): i saw alot of these problems with CoreAVC and X264 streams
[00:32] (jarod): but this is not x264
[00:33] (CruNcher): oh
So look into it please!
People encoding bluray movies are still using CoreAVC instead of DGAVCDEC because CoreAVC is faster.
BetaBoy
15th September 2008, 02:03
as far as I can tell this was related to the fade in/out bug we fixed as in the new internal version I am using does not have the bug shown.
bob0r
15th September 2008, 05:42
Ok so not the version i have then :)
Also BetaBoy do you still plan to give Neuron2 some SDK to use CoreAVC for his tools? He is on a coding spree now and it would be awesome to use the best decoder for the best indexer! (Well nothing is best on doom9 and truely so, bugs are always present :D)
Please give him a clear answer and don't apply the old Core methods on him!!
Dark Shikari
15th September 2008, 05:47
x264 cannot possibly produce videos that would trigger the CoreAVC bug because it doesn't use weighted P-frame prediction.
BetaBoy
15th September 2008, 11:44
Ok so not the version i have then :)
Also BetaBoy do you still plan to give Neuron2 some SDK to use CoreAVC for his tools? He is on a coding spree now and it would be awesome to use the best decoder for the best indexer! (Well nothing is best on doom9 and truely so, bugs are always present :D)
Please give him a clear answer and don't apply the old Core methods on him!!
Don't worry... We have been talking by email and we will let everyone one know the outcome.
G_M_C
15th September 2008, 11:50
Don't worry... We have been talking by email and we will let everyone one know the outcome.
I'm not worried ... just anxious, since i'm a long-time user of DGAVCIndex :)
BetaBoy
15th September 2008, 12:44
as far as I can tell this was related to the fade in/out bug we fixed as in the new internal version I am using does not have the bug shown.
I take that back... for some reason I must have skipped the frames with the blocking. We are looking at it more.
BetaBoy
16th September 2008, 13:36
any news on NV12 support ?
NV12 has now been added for the next release.
BetaBoy
19th September 2008, 22:21
Since you all are gonna find out soon enough (and I'm being PM'd/Emailed about it)... 'after' the next bug fix release, we are set to unleash an NVIDIA CUDA compatible version of CoreAVC Professional. Our results atm shows a pretty impressive performance increase. But I'll save that talk for when we release it.
tomos
20th September 2008, 00:26
what about hardware acceleration for ATi cards?
xW0Lf
20th September 2008, 19:13
anyway.. using CUDA is similar/same as "using shaders" to offload part of hard CPU work to GPU...
if "programing shaders" is same/compatible between nvidia/ati... we can expect same for ATI..
it's great way to invrease performance avoiding limitation of dedicated chips in latest ati/nvidia cards (that have some limitation, 1080p number of referenced frames as example)
i hope that using shaders instead of dxva calls is great way to override limitations....
i'm right or not?
TheShadowRunner
20th September 2008, 19:18
xWOLf, I wonder the same and hope so as well ;)
xW0Lf
20th September 2008, 19:34
i can ask betaboy for more info..
as we know, in all new nvidia/ati cards shaders is quick as hell, and can, if properly used, to decode h.264 streams must quicker than cpu...
actually, ATI add h.264 support to 2900 cards, even they not have UVD chip, guess how? ofcourse, using shaders!
Mangix
20th September 2008, 23:24
recently found a bug. if i use CoreAVC with VMR9, the output levels will be PC levels instead of being TV levels if i have it on autodetect. makes the colors look brighter if i have VMR9 set to "full range" through the nvidia control panel. selecting tv levels instead of autodetect fixed the problem :)
Disabled
21st September 2008, 00:32
Cuda 2.0 offers access to the chip doing the DXVA, so you can decode h264 without the use of shaders using the decoder engine provided only by cards like 8800 GTS512 & GT, 86xx, 84xx, 9xxx and GT260/280 and not 8800 GTS640/320 and GTX or even 7xxx cards.
neuron2 is doing the same with DGAVCIndex...
xW0Lf
21st September 2008, 00:57
this is nice, but what about ATI.. ATI customers/fanbase is pretty big too... we want something similar for us TOO :)
BetaBoy
21st September 2008, 01:00
xW0Lf... I am going to ask that you stop the ATI flaming in this thread. Your point has been taken, next.
xW0Lf
21st September 2008, 01:21
hmmm , you are a bit nervous...
it's not good at all, with or without your power to change things. in good or in bad way...
sorry because i disturb/upset you in any way, but you can choose other way to say your line, don't be arrogant!
BetaBoy
21st September 2008, 01:43
Ugh... arrogant? Please... every time you 'poke' a comment in this thread for the past year+, you have nothing of value to add. DXVA? Not anytime soon as far as I'm concerned. ATI sure we want to support it... Do they have anything like CUDA? Nuff said... any moderator want to handle this?
xW0Lf
21st September 2008, 01:57
not needed.. i will stop with comments here (this post)...
about ATI, i'm not expert for software, but know that nvidia and ati have shaders that can be programed... not only for visual FX in games.... just trying to ask for posibility to use it for some strong math/calcs needed for h.264 streams... not have bad itentions at all....
it's all
Disabled
21st September 2008, 02:20
ATI sure we want to support it... Do they have anything like CUDA? Nuff said...
I always thought they had the Stream SDK, but with a short search I could not make clear if it only supports the Firestream cards or not. Then there are other solutions like Rapidmind, but I again don't know how feasable that is.
I was hoping you jumped on my last post to say youre not using the hardware decoder with cuda 2.0, but you didn't, so I'll just ask: What cards will be supported?
Since you all are gonna find out soon enough...
ChronoCross
21st September 2008, 02:56
Ugh... arrogant? Please... every time you 'poke' a comment in this thread for the past year+, you have nothing of value to add. DXVA? Not anytime soon as far as I'm concerned. ATI sure we want to support it... Do they have anything like CUDA? Nuff said... any moderator want to handle this?
lol Dan your right. I clicked his profile and checked all of his posts and there isn't a single one that isn't in a DXVA related thread.
I'm an ATI Fan as well but I haven't seen anything related to CUDA for ATI. Hopefully they have somethign similar in the works if people start clamoring for it. I know their Linux drivers have come a long way since they got involved and their drivers outclass nvidia on linux so there is hope for community pressure
Keiyakusha
21st September 2008, 03:02
Maybe this is some bug in CoreAVC 1.7.0.0 & 1.8.0.0 ...
When I have a file that contain two or more h264 video streams with different FPS (1st stream 29.97 and 2nd 23.976 for example) and when I switch between them, I see this thing (http://img255.imageshack.us/img255/8152/snapshot20080921033931yx1.jpg). Colors (in this case Yellow) is shifted too.
When I get this strip over video, it can be removed only if I switch any option in CoreAVC settings durring playback. mp4 and mkv works the same way.
I'm thinking this is a bug, because when I use FFDshow or MPC's internal decoder - this is not happens.
Usually I do not have such files, so it is only now being noticed. I'm using Haali splitter & MPC-HC on WinXP SP3 32bit
P.S.
Sorry for bad English...
AVmaniac
21st September 2008, 03:13
I always thought they had the Stream SDK, but with a short search I could not make clear if it only supports the Firestream cards or not.
I did some search to because i was a bit interrested in the developement of using GPUs for computing non graphical infomation these days.
Found this at AMD's website:http://forums.amd.com/devforum/messageview.cfm?catid=328&threadid=95060&enterthread=y
Q: Will the AMD FireStream SDK work on previous generation hardware?
A: To run the CAL/Brook+ SDK, you need a platform based on the AMD R600 GPU or later. R600 and newer GPUs are found with ATI Radeontm HD2400, HD2600, HD2900 and HD3800 graphics board.
professor_desty_nova
21st September 2008, 09:49
From what I have been reading, ATI is thinking of abandoning their current GPGPU software/interface solution in favour of OpenCL. So if NVidia in the future also suports it, you could have GPU accelaration on any graphics card without the problem of proprietary solutions.
STaRGaZeR
21st September 2008, 12:42
ATI sure we want to support it... Do they have anything like CUDA? Nuff said...
Yes, they're supporting OpenCL instead of CUDA. In their own words this is because CUDA is a propietary solution and they don't want to be NV's puppet.
CiNcH
21st September 2008, 12:51
Yes, they're supporting OpenCL instead of CUDA.
And DirectX 11. But those IMHO won't provide something similar to the CUDA Video API which allows accessing the PureVideo CoProcessor. It is just for general purpose computation via shader units.
Dunno whether CoreCodec will use the CUDA Video API or just source out some algorithms onto the shaders...
STaRGaZeR
21st September 2008, 15:03
And DirectX 11. But those IMHO won't provide something similar to the CUDA Video API which allows accessing the PureVideo CoProcessor. It is just for general purpose computation via shader units.
Dunno whether CoreCodec will use the CUDA Video API or just source out some algorithms onto the shaders...
Maybe BetaBoy could answer that one, but IMO using only shaders is the best solution. Much more flexible as they are general purpose that can do virtually everything instead of a fixed video processor unit with certain limitations. The same goes to ATI, they have the UVD processor but it has obvious limitations.
Keiyakusha
21st September 2008, 15:08
Maybe this is some bug in CoreAVC 1.7.0.0 & 1.8.0.0 ...
When I have a file that contain two or more h264 video streams with different FPS (1st stream 29.97 and 2nd 23.976 for example) and when I switch between them, I see this thing (http://img255.imageshack.us/img255/8152/snapshot20080921033931yx1.jpg). Colors (in this case Yellow) is shifted too.
When I get this strip over video, it can be removed only if I switch any option in CoreAVC settings durring playback. mp4 and mkv works the same way.
I'm thinking this is a bug, because when I use FFDshow or MPC's internal decoder - this is not happens.
Usually I do not have such files, so it is only now being noticed. I'm using Haali splitter & MPC-HC on WinXP SP3 32bit
P.S.
Sorry for bad English...
Ok, I found out that if output in CoreAVC is set to RGB, this is not happens. And as I said this happens only if streams have different FPS. Any suggestions?
deekey777
21st September 2008, 17:53
From what I have been reading, ATI is thinking of abandoning their current GPGPU software/interface solution in favour of OpenCL. So if NVidia in the future also suports it, you could have GPU accelaration on any graphics card without the problem of proprietary solutions.
I don't think it was that press release, rather a conference held before HD 4870 X2's launch - there was an element of sensationalism in the headline. In reality CTM evolved into CAL some time ago, and CAL will remain as the enabler for our Stream compute ecosystem by being the interface to the hardware - OpenCL, Cobra, Brook+, 3rd party toolsets will layer on top of this.
...
http://forum.beyond3d.com/showpost.php?p=1207463&postcount=11
Cyber-Mav
22nd September 2008, 04:10
Maybe BetaBoy could answer that one, but IMO using only shaders is the best solution. Much more flexible as they are general purpose that can do virtually everything instead of a fixed video processor unit with certain limitations. The same goes to ATI, they have the UVD processor but it has obvious limitations.
its not that simple to "just use the shaders" for the video processing. you need to interface with the streamprocessors/shaders on the graphics cards. Shader programming language is more complex to deal with compared to CUDA which uses the standard C language to communicate with the shaders and makes them do what the programmer wants to achieve.
CUDA really does make it much easier to use hardware like graphics cards to do complex processing without having to create a custom engine or api to interface with the shaders and means that programmers dont have to learn shader language to get the shaders to do what the programmer requires.
have a read up on here: http://www.nvidia.co.uk/object/cuda_what_is_uk.html
ati do have a method/api for interfacing with the shaders on thier graphics cards, i believe its called CTM and like OpenCL, its no where near as far developed and supported as CUDA is though.
one thing to remember, CUDA support is provided for free by Nvidia, even ATi are allowed to have their cards support CUDA with no royalty payments or catches. It has also been shown that 3rd party modified drivers bring working CUDA support to ATi graphics cards, so it is possible for ATi to adopt CUDA, but if they do or dont, well its up to them.
One thing to take into account is that CUDA is very large in its user base, many specialist companies are using it for thier specific applications, e.g the hospital in my city uses a CUDA accelerated system for tomographic scans (some sort of 3D x-rays).
Cyber-Mav
22nd September 2008, 04:21
Ugh... arrogant? Please... every time you 'poke' a comment in this thread for the past year+, you have nothing of value to add. DXVA? Not anytime soon as far as I'm concerned. ATI sure we want to support it... Do they have anything like CUDA? Nuff said... any moderator want to handle this?
wanted to ask you a question betaboy, how hard did you find it to program using CUDA? i personally have done some work on shader programming in the past using high level shading language (HLSL), but when i started using CUDA i found it to be much easier to understand and use compared to hlsl.
Dark Shikari
22nd September 2008, 04:34
wanted to ask you a question betaboy, how hard did you find it to program using CUDA? i personally have done some work on shader programming in the past using high level shading language (HLSL), but when i started using CUDA i found it to be much easier to understand and use compared to hlsl.Odd, I found the opposite; CUDA was a total nightmare for me, and I wince every time someone says "its just like standard C," since that's an unbelievably obvious lie to anyone who has ever used it. After the amount of effort I put into it trying to do something as basic as a series of SADs, and then later my company hiring a CUDA expert to try to implement a simple motion search and that failing too.
Hell, I would rather learn GPU assembly than program in that nightmare.
BetaBoy
22nd September 2008, 05:02
Ok, I found out that if output in CoreAVC is set to RGB, this is not happens. And as I said this happens only if streams have different FPS. Any suggestions?
That's already fixed for the next release. Thanx for the report.
Cyber-Mav
22nd September 2008, 15:14
Odd, I found the opposite; CUDA was a total nightmare for me, and I wince every time someone says "its just like standard C," since that's an unbelievably obvious lie to anyone who has ever used it. After the amount of effort I put into it trying to do something as basic as a series of SADs, and then later my company hiring a CUDA expert to try to implement a simple motion search and that failing too.
Hell, I would rather learn GPU assembly than program in that nightmare.
hmm, it could be more complex to implement video codec/decoder with CUDA, i found for my purposes features like scattered writes were very beneficial to me.
although im using CUDA for 3D design purposes and your using it for video purposes so the type of data we deal with is different.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.