Log in

View Full Version : CoreCodec/H.264 Codec "CoreAVC"


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [85] 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144

lexor
28th December 2008, 00:20
We've already established that DXVA is a pile of garbage that is being abandoned by both ATI and Nvida in favor of their own proprietary systems.
Notice that you are the only one who's still concerned/talking about DXVA in this thread for a while now.


Right now CoreAVC's CUDA implementation matters to 31% of graphics card holders so that's a pretty significantly higher market share than AMD/ATI's 20%
The hell it is. 20% of multi-million user market, is not insignificant. And where are these % coming from?

ChronoCross
28th December 2008, 00:25
Notice that you are the only one who's still concerned/talking about DXVA in this thread for a while now.


You apparently decided to reply without reading. Or your just ignorant to the fact that MPC-HC uses DXVA for video acceleration.


The hell it is. 20% of multi-million user market, is not insignificant.

Sure it is. Especially when ATI has made no progress in the multimedia market to speak of recently. Their more of a gaming platform rather than a multipurpose company.

As soon as they release something not related to DXVA that can be used properly by companies for video acceleration of 1080 material then they will become more signifigant

lexor
28th December 2008, 00:29
You apparently decided to reply without reading. Or your just ignorant to the fact that MPC-HC uses DXVA for video acceleration.
No, you have misinterpreted posts by others. Just because MPC uses DXVA, doesn't mean that that is the profile people are using/aiming for.

Do not put words in my mouth again.

Sure it is. Especially when ATI has made no progress in the multimedia market to speak of recently. Their more of a gaming platform rather than a multipurpose company.
Aha, and now tell me how that makes CoreAVC's GPU acceleration superior for ATI users, therefore making it a "best" GPU decoder?

ChronoCross
28th December 2008, 00:35
No, you have misinterpreted posts by others. Just because MPC uses DXVA, doesn't mean that that is the profile people are using/aiming for.

Do not put words in my mouth again.



I didn't misinterpret anything. 3.1 guy decided to speak up about how great his 1337 MPC can decode his 3.1 streams. CoreAVC on the other hand is using something that can decode just about any profile. that is my comparison. Not entirely sure why you decided to jump in on the conversation by telling me I'm the only one talking about DXVA.


Aha, and now tell me how that makes CoreAVC's GPU acceleration superior for ATI users, therefore making it a superior GPU decoder?

That wasn't what I said either. I could care less that it doesn't support crippled ATI hardware. Like I said once ATI decides to actually give a toot about multimedia then maybe CoreAVC can add support for it.

Dark Shikari
28th December 2008, 00:36
I could care less that it doesn't support crippled ATI hardware. Like I said once ATI decides to actually give a toot about multimediahttp://i39.tinypic.com/23r34n4.jpg

ChronoCross
28th December 2008, 00:38
it'd be a troll if I used nvidia hardware. Alas I'm stuck with my crippleware ATI graphics card.

lexor
28th December 2008, 00:38
I didn't misinterpret anything. 3.1 guy decided to speak up about how great his 1337 MPC can decode his 3.1 streams. CoreAVC on the other hand is using something that can decode just about any profile. that is my comparison. Not entirely sure why you decided to jump in on the conversation by telling me I'm the only one talking about DXVA.
What does it matter what makes MPC tick? It works, and not just for DXVA profile (3.1 is not 4.0 or 4.1)


That wasn't what I said either. I could care less that it doesn't support crippled ATI hardware. Like I said once ATI decides to pull their heads out of their anus' and actually give a toot about multimedia then maybe CoreAVC can add support for it.
You could care less? So you do care, now? OK. It was you who said CoreAVC was the "best" GPU decoder. How is it the best if it doesn't work for 20% of the users... and where did you get that 20% from?

ChronoCross
28th December 2008, 00:43
What does it matter what makes MPC tick? It works, and not just for DXVA profile (3.1 is not 4.0 or 4.1)


You could care less? So you do care, now? OK. It was you who said CoreAVC was the "best" GPU decoder. How is it the best if it doesn't work for 20% of the users... and where did you get that 20% from?

http://www.jonpeddie.com/about/press/2008/q2-2008-gpu-shipments.php

Q2 08 market analysis.

vucloutr
28th December 2008, 00:57
except that it doesn't allow ffdshow postprocessing, and neither does it support >L4.1 encodes I think ? never bothered w/ DXVA myself, where's the fun in that :D

mpc-hc does support up to L5.1 for Nvidia cards since rev 857 (http://www.xvidvideo.ru/content/view/358/2/).
and it is actually working pretty good, only few encode won't work correctly.

nurbs
28th December 2008, 00:58
Cool, I started a flamewar.
I didn't mean my comment in any way as an ATI vs. nVidia thing. The reason I have an ATI card is that a friend of mine gave it to me when he bought a new PC about a year ago. He didn't have any use for an AGP card anymore. Before that I had a geforce3. My point was that there is a reason for why there is no best on this forum, namely that what works well for one person might be completely useless to another. I mean CUDA is nice and if I had an nVidia card i'd buy the software neuron2 makes that uses it, but going by your numbers at least 69% of the cards out there don't support it so it's not a good GPU decoder for owners of these cards at all. Then there is the fact that older cards and a lot of mobile GPUs don't support any kind of hardware acceleration and not everyone needs it to play their content anyway, I certainly don't.

leeperry
28th December 2008, 01:27
guys, as soon as ATi learns better you can count on CoreCodec to see what can be done I'm sure. ATi fails at drivers support, live with it or buy an nvidia.

bond
28th December 2008, 14:26
guys, please keep everything nice and cosy!

IgorC
28th December 2008, 20:47
And concerning CoreAVC:[/U]
Till it's proven otherwise CoreAVC still is the fastest AVC-decoder using only the cpu.
And since it can run most 720p content on those popular Atom-Netbooks CoreAVC was never as important as today!
Well, last beta of Divx H.264 is on par. http://forum.doom9.org/showthread.php?p=1225025#post1225025
Probably the final release of Divx decoder will be still faster
Maybe that's why corecodec are hurry with their GPU acceleration.

BetaBoy
28th December 2008, 23:28
Well, last beta of Divx H.264 is on par. http://forum.doom9.org/showthread.php?p=1225025#post1225025
Probably the final release of Divx decoder will be still faster
Maybe that's why corecodec are hurry with their GPU acceleration.
Not at all.... If you read the changelog ( see: http://www.coreavc.com/index.php?option=com_content&task=view&id=27&Itemid=1 ) all we have done is work on adding features and bug fixes. CORE CPU and algorithm optimizations have not been touched at all since our first release almost 3 years ago. I have also stated several times in this thread that those changes are happening now as we go into 2.0 and that CUDA support is a precursor to 2.0 and fulfills our promise to add GPU support.

I would also note that without saying names we are also working with many other hardware manufacturers on GPU support not only for CoreAVC but also for the CorePlayer Platform and will be making an announcements both at CES and 3GSM in this regards.

Sharktooth
29th December 2008, 05:18
amd/ati, s3... maybe intel (maybe some unreleased product...)?

madshi
29th December 2008, 11:16
@BetaBoy, two GPU acceleration questions:

(1) Is your GPU accelerated decoding mathematically 100% identical to pure software decoding? Or can there be slight variations? Will the decoding mathematically differ between different GPUs (NVidia/ATI)?

(2) I'm sometimes experiencing bluescreens after seeking (or when playing corrupted sources) when decoding h264 movies with DXVA acceleration (ATI 3850). Do you think that your hardware acceleration could eventually suffer from similar problems?

Thanks!

BetaBoy
29th December 2008, 15:53
@ madshi...
1 - yes its correct. But as the NVIDIA engineers have noted that 'we' could actually create our own tools and algorithms to take even more advantage of the GPU then what they have provided. We will see about that as the big momentum atm for GPU seems to be swinging towards OpenCL for mass adoption which we are fine with as we want to see hardware acceleration of OpenGL ES.

2 - I have yet to read any internal issues that experience any blue screens like that with CoreAVC CUDA, but we have built in software fallback if it encounters any issues during playback (like your corrupted source).

madshi
29th December 2008, 17:10
Thanx!

Dark Eiri
30th December 2008, 05:02
So CUDA can decode H264 L5.1, right? I wonder why they limited the DXVA decoders to 4.1.

lexor
30th December 2008, 05:31
So CUDA can decode H264 L5.1, right? I wonder why they limited the DXVA decoders to 4.1.
The same reason sports channels broadcast in 1080@60i (at best) instead of 60p or more. They rushed it to market and proper/powerful enough hardware wasn't available. Now they are stuck with having to provide backwards compatibility.

Anywho, betaboy, I guess it got lost in the mini flame war we just had here, but do you have any asus eee box pc benchmarks (or anything on atom front)? How far can atom be pushed without cuda (which it can't use in asus rig)?

BetaBoy
30th December 2008, 07:41
IIRC it was said a while back here that there was no AVC profile limitation to what CUDA can support other then maybe current programming limitations on NVIDIA's side (and there are none that I have been told about). I'll ask internally to confirm this and let you know.

BetaBoy
30th December 2008, 07:56
The same reason sports channels broadcast in 1080@60i (at best) instead of 60p or more. They rushed it to market and proper/powerful enough hardware wasn't available. Now they are stuck with having to provide backwards compatibility.

Anywho, betaboy, I guess it got lost in the mini flame war we just had here, but do you have any asus eee box pc benchmarks (or anything on atom front)? How far can atom be pushed without cuda (which it can't use in asus rig)?

We are going to be doing benchmarks later this week on the Eee's we have here with CorePlayer with CoreAVC/CoreAAC (we just added HE-AAC support) as we are making installers for it.

Also we have a few different versions for Linux:
- CorePlayer Pro w/QT UI x11
- CorePlayer Pro w/GTK UI
- CorePlayer Pro w/GTK UI and DirectFB
- CorePlayer Pro w/CoreUI and DirectFB

Now CoreUI and DirectFB is far from ready so I don't expect it to be benchmark capable. But it will be interesting to see what is fastest, but my bet is for CorePlayer Pro w/QT UI x11.

Now with that being said.... the above is not CUDA enabled yet and we have just begun talking about adding native CUDA to CP for both Windows and Linux.

A side note.... If anyone wants to see/play with either CoreAVC CUDA or CorePlayer on Linux and try to benchmark/test it for themselves we are going to be at CES next week and are planning a get together with some of the ex-DivX, x264 and FFMPEG devs. Send me an email: betaboy AT corecodec DOT com for more info.

BetaBoy
30th December 2008, 08:12
@ lexor.... I should have also said.... I'll post some CorePlayer Benchmark results but PM me with some content you want me to test against it. But pls try and match the dar/par of the Eee and don't get too crazy with the bitrate ;-)... oh also.... maybe one with and without MBAFF.

CruNcher
30th December 2008, 10:48
Betaplayer ;) ?

MatMaul
30th December 2008, 12:07
So CUDA can decode H264 L5.1, right? I wonder why they limited the DXVA decoders to 4.1.
it has been said several times, recent nvidia drivers support dxva decoding of L5.1 streams.

EDIT :
IIRC it was said a while back here that there was no AVC profile limitation to what CUDA can support other then maybe current programming limitations on NVIDIA's side (and there are none that I have been told about). I'll ask internally to confirm this and let you know.
does lossless profiles (old one and predictive one) are supported too ?

CruNcher
30th December 2008, 12:56
@MatMaul
If Nvidias Logic is Programmable it should be doable (though only by Nvidia, i guess they have to update the Driver for that) but even if it is i doubt they gonna invest the time to include Lossless support :)

BetaBoy
30th December 2008, 15:35
ok.... I bounced it internally... while the CUDA documentation states there is a 4.1 level limitation this is not correct or has not been updated and there are no known limitations based on our coding/working/testing with CoreAVC+CUDA. The only limitation we can think of is that there is a 15 ref frame limit for Windows.

Dark Eiri
30th December 2008, 17:49
So you can pretty much say there's no limitations, since 15 ref frames is absurdly insane :D

Thanks for the info!

BetaBoy
30th December 2008, 18:18
Well I should also said Lossless is not supported but I guess you already knew that.

madshi
30th December 2008, 18:56
@BetaBoy, when you post benchmark results, it would be interesting to see one set of numbers for a reasonable HTPC setup. E.g. one of those new NVidia mainboards for Intel Core with HDMI audio support. I'll probably buy one of those sooner or later. It would help knowing how much advantage CUDA brings with the relatively slow onboard graphics of such an HTPC mainboard. Would help me decide whether to go for dual core or quad core. Thanks...

(And before somebody says that I can use DXVA with such an NVidia mainboard: No thanks. I want to use the Haali Renderer and ffdshow's high quality YUV -> RGB conversion...)

Cyber-Mav
31st December 2008, 01:48
ok.... I bounced it internally... while the CUDA documentation states there is a 4.1 level limitation this is not correct or has not been updated and there are no known limitations based on our coding/working/testing with CoreAVC+CUDA. The only limitation we can think of is that there is a 15 ref frame limit for Windows.

thats amazing, CUDA has level 5.1 capability unofficially? DXVA hardware acceleration seems to break easily but by what your saying 15 reference frames being do-able means that coreavc CUDA's playback using hardware acceleration will be pretty much bulletproof compared to the gpu assistance provided by competing products.

LoRd_MuldeR
31st December 2008, 01:57
thats amazing, CUDA has level 5.1 capability unofficially?

Well, CUDA is just an API for developers to take advantage of the GPU. So there should be no inherent level limitation in CUDA.

However it depends on the individual decoder implementation which levels are supported and which are not.

Just because a decoder makes use of CUDA doesn't mean that it can't do certain things in software - things that are hard/impossible to do entirely in hardware.

The developers decide which parts of the decoding process they move over to the GPU and which parts are better done on the CPU ...

mlaviolette
31st December 2008, 03:46
@BetaBoy, I just upgraded my CoreAVC Pro from 1.8.0 to 1.8.5, and now it appears that CoreAVC is not being invoked. Applications relying on this codec (like Windows Media Player) cannot process the video portion of the H.264 .ts files, only the audio. I tried de-registering and re-registering (from the START->Programs->CodeCodec->CoreAVCPro), but no luck. Applications having their own codec (like ArcSoft, MPCHC) work fine, but I need to get CoreAVC working again. Did I miss something simple? Thanks.

LoRd_MuldeR
31st December 2008, 04:08
Instead of a player that tries to hide as much information as possible from the user and that doesn't offer any useful options, why not use a player that allows you to specify the decoder filter you want to use? ;)

http://mpc-hc.sourceforge.net/

Anyway, you may want to check the "Preferred decoder" option in CoreAVC, if you did not do so yet...

mlaviolette
31st December 2008, 14:33
Instead of a player that tries to hide as much information as possible from the user and that doesn't offer any useful options, why not use a player that allows you to specify the decoder filter you want to use? ;)

http://mpc-hc.sourceforge.net/

Anyway, you may want to check the "Preferred decoder" option in CoreAVC, if you did not do so yet...I had checked that option.

Along with Windows Media Player not working, H264TS Cutter also fails when it cannot decode the video. That is more important to me than WMP not working. I must be missing a simple step.

LoRd_MuldeR
31st December 2008, 14:42
I had checked that option.

Along with Windows Media Player not working, H264TS Cutter also fails when it cannot decode the video. That is more important to me than WMP not working. I must be missing a simple step.

If you run GraphStudio (or GraphEdit), can you load the CoreAVC filter and connect it manually to your source ???

Note that along with CoreAVC you also need suitable splitters for your source!

BTW: Last time I updated CoreAVC, it installed a pretty old version of Haali Media Splitter, it replaced my "new" version that was installed. So try updating your Haali Media Splitter ;)

http://haali.cs.msu.ru/mkv/

mlaviolette
31st December 2008, 15:40
BTW: Last time I updated CoreAVC, it installed a pretty old version of Haali Media Splitter, it replaced my "new" version that was installed. So try updating your Haali Media Splitter ;)

http://haali.cs.msu.ru/mkv/That was it!!! I installed the latest Haali and everything now works. Thank you so much!

LoRd_MuldeR
31st December 2008, 15:44
That was it!!! I installed the latest Haali and everything now works. Thank you so much!

Maybe they'll decide to ship the next release of CoreAVC with latest Haali Media Splitter ;)

madshi
31st December 2008, 16:10
Maybe they'll decide to ship the next release of CoreAVC with latest Haali Media Splitter ;)
Probably not, because if they did they'd be flooded with bug reports about broken LPCM playback of m2ts files... :(

BetaBoy
31st December 2008, 16:34
BTW: Last time I updated CoreAVC, it installed a pretty old version of Haali Media Splitter, it replaced my "new" version that was installed. So try updating your Haali Media Splitter ;)

http://haali.cs.msu.ru/mkv/

v1.8.5 has the latest splitter.... the initial release however on the first day did have an old splitter but only was live for a few hours and we did a silent update.

LoRd_MuldeR
31st December 2008, 17:50
v1.8.5 has the latest splitter.... the initial release however on the first day did have an old splitter but only was live for a few hours and we did a silent update.

I see :D

vwpassion
1st January 2009, 21:07
From time to time I stumble over blurays, which when I decode with coreavc, produce glitches on a few frames. Decoding the same frames with another decoder works just fine, so its definitely coreavc related. Is this a known issue with coreavc? Sorry if this has been discussed before, but wasnt able to find a proper answer to this issue.

LoRd_MuldeR
1st January 2009, 21:08
From time to time I stumble over blurays, which when I decode with coreavc, produce glitches on a few frames. Decoding the same frames with another decoder works just fine, so its definitely coreavc related. Is this a known issue with coreavc? Sorry if this has been discussed before, but wasnt able to find a proper answer to this issue.

You'd need to provide a short sample that can be used to reproduce the problem, I guess...

vwpassion
1st January 2009, 21:43
You'd need to provide a short sample that can be used to reproduce the problem, I guess...

http://www.mediafire.com/download.php?qotxytgxdd2

Take a look at frames 24-27.

LoRd_MuldeR
1st January 2009, 21:59
http://www.mediafire.com/download.php?qotxytgxdd2

Take a look at frames 24-27.

Yup, I see. There are some artifacts on these frames when using CoreAVC. The same frames are fine with DGAVCIndex/AVCSource.

http://img73.imageshack.us/img73/9339/coreavcglitchescoreavcdy2.th.png (http://img73.imageshack.us/img73/9339/coreavcglitchescoreavcdy2.png) http://img73.imageshack.us/img73/4753/coreavcglitchesavcsourckm0.th.png (http://img73.imageshack.us/img73/4753/coreavcglitchesavcsourckm0.png)

Dark Shikari
1st January 2009, 22:16
I'm going to guess it's another case of the Blu-ray discs violating the spec for MVs again.

laserfan
1st January 2009, 23:08
I'm going to guess it's another case of the Blu-ray discs violating the spec for MVs again.I have seen similar artifacts, but they appear at random i.e. will vary from one encoding attempt to the next, and in fact seem NOT to have anything to do with image complexity i.e. they'll appear in "quiet" scenes quite unexpectedly.

When it's happened I've tried another decoder but will still get the glitches, in a different place, maybe 5-10 total over 200,000 frames (VERY hard to find).

I have worked hard to *rule-out* CPU/Memory issues which clearly could cause problems--is there anything else besides decoder issues (the CoreAVC issue mentioned here) that can cause such pixelations? For example, over-loading my P4 from a threads/threading/decode/encode POV?

Dark Shikari
1st January 2009, 23:11
I have seen similar artifacts, but they appear at random i.e. will vary from one encoding attempt to the next, and in fact seem NOT to have anything to do with image complexity i.e. they'll appear in "quiet" scenes quite unexpectedly.Blu-ray encoders are notorious for producing random, all-over-the-place MVs even in quiet scenes.

laserfan
1st January 2009, 23:21
Blu-ray encoders are notorious for producing random, all-over-the-place MVs even in quiet scenes.So the issue is how well the decoder handles these, and CoreAVC doesn't do well with the above video... Dark do you have a preference for a "MV-tolerant" VC-1 decoder, Microsoft's or ffdshow/libavcodec or I suppose Cyberlink or Arcsoft or...?

Re: 264 I'd been using Cyberlink for playback/viewing and on my system it looked awful, but CoreAVC looks much, much better (and is faster) but frameserving for encoding is a different animal entirely?

LoRd_MuldeR
1st January 2009, 23:25
So the issue is how well the decoder handles these, and CoreAVC doesn't do well with the above video...

CoreAVC handles standard-compliant MV's properly. If the stream contains MV's that exceed the limitations defined in the standard, one can't expect proper decoding.

I think the CoreAVC developers have stated that they are not going to "fix" this, as the problem isn't on their side, but on the encoder's side. The encoder needs to be fixed.

However other H.264 decoders, such as libavcodec, seem to be more robust against such standard violations ...