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

an3k
7th January 2010, 04:06
Interesting.

Your setup is quite unusual among BluRay watchers, AFAIK. A high clock but still slow by modern standards (and single core, at that) P4, and a VP1 7800GTX! You had one mean machine back in '05 huh? ;)

I'll have to try Cyberlink on my laptop! Partial DXVA may very well be a lifesaver!

Hehe, yeah. Was a great machine years ago ;) In meantime i replaced the motherboard, PSU, RAM, etc. except CPU and GFX. Its my "not fully upgraded" computer. Tomorrow i get my GT240 with VP4.1, CPU gets upgraded next month. It has a BluRay drive but i only use it to rip these, not to watch. Using my PS3 for that, best BD/DVD-Player afaik (BD-Live, great SD-upscaling).
This computer here has a Q9650 and a GTX295 :)

Weirdo
7th January 2010, 12:07
Thanks for the excellent 2.0 version. :)
Was wondering if you still have plans for CoreWMV?

JohnnyFu
9th January 2010, 12:46
I wonder when Haali is going to fix the .m2ts/VC-1 issue on his splitter?

leeperry
11th January 2010, 04:35
Was wondering if you still have plans for CoreWMV?
yeah, that'd be cool! w/ CUDA and stuff possibly? not sure VP2 does VC1, though.
I wonder when Haali is going to fix the .m2ts/VC-1 issue on his splitter?
"when" or "if"? ;)

BetaBoy
11th January 2010, 04:36
What a great CES, the best in years. Thank you to all those who met with us and we got to preview many of our technologies and upcoming releases. We are just as excited to share with you what we have been working on for the past few years.

So... I guess many of you guessed this day was coming.... We will shortly begin to test DXVA in CoreAVC (and CorePlayer). Anyone intrested in helping us test, pls send an email to: info@corecodec.com with your system configuration. We will only email back those who's configurations meet our needs for testing.

TIA

roozhou
11th January 2010, 06:14
So... I guess many of you guessed this day was coming.... We will shortly begin to test DXVA in CoreAVC (and CorePlayer). Anyone intrested in helping us test, pls send an email to: info@corecodec.com with your system configuration. We will only email back those who's configurations meet our needs for testing.
TIA

Great news, Betaboy!
Will CoreAVC support partial acceleration? Since we have plenty of free DXVA solutions(mpc-hc, ffdshow), I will not be interested in CoreAVC DXVA if it only supports vld level acceleration.

an3k
11th January 2010, 07:02
yeah, that'd be cool! w/ CUDA and stuff possibly? not sure VP2 does VC1, though.

"when" or "if"? ;)

VP2 cannot handle VC-1 completely! It is GPU accelerated but depends on the source.
If you want full GPU support, get a Gainward GT240 Golden Sample (1GB GDDR5 RAM). This card costs around 80 euro and supports VP5 which supports full MPEG2, MPEG4 ASP, MPEG4 AVC, MPEG4 AVC-MVP and VC-1.

BetaBoy
11th January 2010, 09:16
Great news, Betaboy!
Will CoreAVC support partial acceleration? Since we have plenty of free DXVA solutions(mpc-hc, ffdshow), I will not be interested in CoreAVC DXVA if it only supports vld level acceleration.

I'll save any comments for now on how we are adding DXVA as we will have some suprises to announce related to it when the time us right.

Guest
11th January 2010, 16:09
VP2 cannot handle VC-1 completely! Please explain further and cite your source for this claim.

I have no problems with any VC1 using my VP2 engine cards.

an3k
11th January 2010, 16:31
Please explain further and cite your source for this claim.

I have no problems with any VC1 using my VP2 engine cards.

http://en.wikipedia.org/wiki/Nvidia_PureVideo#The_Second_Generation_PureVideo_HD and http://www.nvidia.com/docs/CP/11036/PureVideo_Product_Comparison.pdf

nm
11th January 2010, 16:43
Please explain further and cite your source for this claim.

I have no problems with any VC1 using my VP2 engine cards.
Perhaps an3k meant that VP2 doesn't support full decoding of VC-1 and MPEG-2 on hardware. Bitstream decoding is done on CPU (within the driver or NVCUVID). It works, but will cause a bit higher CPU load than complete offloading.

AFAIK, the most accurate official documentation on decoding capabilities of all NVIDIA GPUs is in the Linux/Unix driver manual:
http://http.download.nvidia.com/XFree86/Linux-x86_64/195.30/README/vdpausupport.html#vdpau-implementation-limits-decoder

me7
11th January 2010, 17:27
So... I guess many of you guessed this day was coming.... We will shortly begin to test DXVA in CoreAVC (and CorePlayer).

Does/Will your implementation support additional filters after the decoder, like subtitle filters (if this is even possible)?

Keiyakusha
11th January 2010, 18:07
Perhaps an3k meant that VP2 doesn't support full decoding of VC-1
I don't know how exactly things works, but maybe its DXVA not supports VC-1 with VP2 engine (some limitations or something)? Because with CUDA VP2 can decode VC-1. Or you saying that it falls back to CPU decoding without notifying?

nm
11th January 2010, 18:53
I don't know how exactly things works, but maybe its DXVA not supports VC-1 with VP2 engine (some limitations or something)?

DXVA does support partial decoding (IDCT and motion compensation) that VP2 provides for VC-1. However, in this case the DXVA codec must do bitstream decoding by itself, and this is not currently supported by the open-source filters in MPC-HC and ffdshow:

http://mpc-hc.sourceforge.net/DXVASupport.html
Unfortunately the MPC-HC decoder only supports the "bitstream mode" at this stage, which means that only the most recent graphic cards are supported :

nVidia series 8(9)xxx for H.264 only (*)
ATI Radeon HD series for H.264 and VC-1 decoding

"Motion compensation" mode might be added in the future to increase compatibility with older graphic cards, but I cannot promise anything. Mpeg2 and WMV accelerations are not supported either.

(*) Except for VP3 GPUs in this series that do support full VC-1 offloading

NVCUVID and VDPAU take care of bitstream decoding internally, so the application doesn't need to do it.

Weirdo
11th January 2010, 19:16
It is safe to assume then, that VP3-5 Nvidia cards can also provide VC-1 DXVA acceleration (mpc-only, at the moment)?

LoRd_MuldeR
11th January 2010, 20:03
Please explain further and cite your source for this claim.

I have no problems with any VC1 using my VP2 engine cards.

According to Wiki:

The Second Generation PureVideo HD
VC-1 acceleration was also improved, with PureVideo HD now able to offload more of VC-1-decoding pipeline's backend (inverse discrete cosine transform (iDCT) and motion compensation stages). The frontend (bitstream) pipeline is still decoded by the host CPU. [...] The second generation PureVideo HD is sometimes called "PureVideo HD 2" or VP2, although this is not an official NVIDIA designation.

The Third Generation PureVideo HD
This implementation of PureVideo HD, VP3 added entropy hardware to offload VC-1 bitstream decoding with the G98 GPU (sold as GeForce 8400GS), as well as additional minor enhancements for the MPEG-2 decoding block. The functionality of the H.264-decoding pipeline was left unchanged. In essence, VP3 offers complete hardware-decoding for all 3 video codecs of the Bluray-Disc format: MPEG-2, VC-1, and H264.

The Fourth Generation PureVideo HD
This implementation of PureVideo HD, VP4 added hardware to offload MPEG-4 (Advanced) Simple Profile bitstream decoding with the GT216 & GT218 GPUs (sold as GeForce GT 220 & GeForce 210/G210) & GT215 GPU (sold as the GeForce GT 240) in addition to formats supported in previous VP3 implementation, as well as an additional high quality scaler. The functionality of the H.264-decoding pipeline was left mostly unchanged but no longer have the limitations of the VP3 implementation.

BetaBoy
12th January 2010, 06:45
Does/Will your implementation support additional filters after the decoder, like subtitle filters (if this is even possible)?

No, in fact when DXVA is enabled, it disables the CoreAVC options in the configuration panel that are not available via DXVA.

tormento
12th January 2010, 11:22
Is it possible to use CoreAVC to hw accelerate playing of .mts files created from Sony HD camcorders? They use an AVC1 encoding and they are currently well supported by ffdshow.

P.S: I have tried win7dsfiltertweaker_2.7 and Coreavc is listed under h.264 codecs only.

an3k
12th January 2010, 12:34
Is it possible to use CoreAVC to hw accelerate playing of .mts files created from Sony HD camcorders? They use an AVC1 encoding and they are currently well supported by ffdshow.

P.S: I have tried win7dsfiltertweaker_2.7 and Coreavc is listed under h.264 codecs only.

Can you open such a file in GSpot (or if this app doesn't show any or enough information in other information tools like DGIndexNV). It really depends on the codec used if CoreAVC can handle your files.

CoreAVC 2.0.0 can handle the FourCCs listed on the left side.
http://img200.imageshack.us/img200/1549/coreavc200.png

You can send me a short file and i'll try if it works.

tormento
12th January 2010, 14:25
[QUOTE=an3k;1362986You can send me a short file and i'll try if it works.[/QUOTE]

The file is a .mts sony cam one ;)

The preview in DGIndex gives:

http://img689.imageshack.us/img689/6665/catturaad.png (http://img689.imageshack.us/i/catturaad.png/)

an3k
12th January 2010, 15:02
The file is a .mts sony cam one ;)

The preview in DGIndex gives:

http://img689.imageshack.us/img689/6665/catturaad.png (http://img689.imageshack.us/i/catturaad.png/)

Yes, CoreAVC can handle that but since the Haali Splitter has many problems you should NOT demux the file!!

I have two files here. One video.264 (rip from BluRay) and one audio.dts (rip from the same BluRay). If i try to play the video.264 it doesn't work. If i try to play the audio.dts it doesnt work.
If i mux both files to m2ts (same format as your files) i can play the files.

@ Haali: Fix your software please!

an3k
12th January 2010, 15:08
The following shows file information of video.264 which cannot played back cause of haali:
http://img694.imageshack.us/img694/7272/haalicannot.png

The following shows file information of video.264.m2ts which can played back cause of haali:

http://img94.imageshack.us/img94/3659/haalican.png

sneaker_ger
12th January 2010, 15:20
Since when did Haali claim to support elementary streams? It's a splitter for the following containers: Matroska, MP4, AVI, OGG/OGM, MPEG TS/PS. It's not a bug that you can't open your demuxed streams using Haali's splitter.

an3k
12th January 2010, 15:33
Since when did Haali claim to support elementary streams? It's a splitter for the following containers: Matroska, MP4, AVI, OGG/OGM, MPEG TS/PS. It's not a bug that you can't open your demuxed streams using Haali's splitter.

So Haali only splits the source and ignores eveything else even if its less work?

Can then someone please build a splitter which is useful? Its kinda annoying to install 20 splitters just because everyone is only supporting a small range.
Isn't playing back an elementary stream easier than a muxed file? Can't the splitter just forward the elementary stream to the decoder without splitting?!

sneaker_ger
12th January 2010, 15:50
Yes, it only splits the listed containers. And opening and seeking within raw h.264 files isn't trivial - that's why you are indexing them with DGIndex before loading them into AviSynth.

an3k
12th January 2010, 15:57
Yes, it only splits the listed containers. And opening and seeking within raw h.264 files isn't trivial - that's why you are indexing them with DGIndex before loading them into AviSynth.

I understand that but why isn't it a problem opening and seeking an elementary MPEG2?
I also can do that with MPEG2 HD content!

tormento
12th January 2010, 16:04
So, any idea about having CoreAVC read AVC transport files?

sneaker_ger
12th January 2010, 16:21
I understand that but why isn't it a problem opening and seeking an elementary MPEG2?
I also can do that with MPEG2 HD content!

Open an elementary stream with MPC/VLC or whatever your using, seek to a scene in the middle and note the timing and the total length of the stream. Now open the same stream muxed or indexed and try to seek to the same timing. You will see a different scene and the total stream duration will also be displayed totally different.

clsid
12th January 2010, 17:00
Is it possible to use CoreAVC to hw accelerate playing of .mts files created from Sony HD camcorders? They use an AVC1 encoding and they are currently well supported by ffdshow.

P.S: I have tried win7dsfiltertweaker_2.7 and Coreavc is listed under h.264 codecs only.
The H.264 option in the tool sets the preferred decoder for both H264 and AVC1 mediatype.

an3k
12th January 2010, 17:01
Open an elementary stream with MPC/VLC or whatever your using, seek to a scene in the middle and note the timing and the total length of the stream. Now open the same stream muxed or indexed and try to seek to the same timing. You will see a different scene and the total stream duration will also be displayed totally different.

Yeah but i can playback the file and that's what i want. If i buy a decoder i want to be able to playback every source the decoder can handle and not only the containers a free 3rd party splitter is able to.

@CoreCodec: nVIDIA sells "nVIDIA PureVideo Decoder" which is a "Windows Media Player Plugin" to playback DVDs on PC. CyberLink sells the same type of software.
How about a "BluRay/HD-DVD Plugin"? Currently there is no company selling such software.

The "Plugins" are intended for the use in Windows Media Center (but also works in Windows Media Player).

tormento
12th January 2010, 17:43
The H.264 option in the tool sets the preferred decoder for both H264 and AVC1 mediatype.

So, why isnt'it working to decode avc?

JohnnyFu
12th January 2010, 17:51
How about a "BluRay/HD-DVD Plugin"? Currently there is no company selling such software.

Arcsoft sells a BluRay plugin for 7MC/WMP (Total Media Theatre 3 Platinum). Works fine for me on 7MC + MediaBrowser.

me7
12th January 2010, 19:23
Yeah but i can playback the file and that's what i want. If i buy a decoder i want to be able to playback every source the decoder can handle and not only the containers a free 3rd party splitter is able to.

The definition of a decoder is that it decodes files. Period.
You seem to demand an all-in-one solution like VLC player but CoreCodec never claimed CoreAVC to be anything like that. Fact is that CoreAVC can perfectly decode that stream as long as it gets the stream passed to it. Doing that is not its responsability.

clsid
12th January 2010, 20:02
So, why isnt'it working to decode avc?Possibly because the player isn't using DirectShow.

tormento
12th January 2010, 20:23
Possibly because the player isn't using DirectShow.

Media player classic hc? ;) Sure?

clsid
12th January 2010, 21:20
MPC ignores the preferred filter settings of Windows 7 because it uses its own graph builder. It will simply use the decoder with the highest merit. Add CoreAVC as a preferred external filter in MPC settings. Then it will be given the highest possible merit.

But I suspect that CoreAVC isn't used because you have the internal H.264 decoders enabled in MPC.

tormento
13th January 2010, 07:51
MPC ignores the preferred filter settings of Windows 7 because it uses its own graph builder. It will simply use the decoder with the highest merit. Add CoreAVC as a preferred external filter in MPC settings. Then it will be given the highest possible merit.

But I suspect that CoreAVC isn't used because you have the internal H.264 decoders enabled in MPC.

Everything is disabled in mpc, both source and decoder.

I use it as a dumb media player, feeding it with ffdshow+haali+coreavc.

XadoX
13th January 2010, 13:39
Somehow CoreAVC does not active CUDA in Media Portal. While playing my FullHD-MKVs with Microsoft Media Player CUDA is activated.

7oby
17th January 2010, 18:10
I just recognized that the CoreAVC Professional 2.0.0.0 Codec is on sale for US$ 9.95 instead of US$ 12.95 till 1/17 (= today).

Although I don't really require that codec, I really like the way CoreAVC provides support for its product in this community forum. And that's why I just bought it.

I would appreciate if other companies would follow this way of supporting their products.

:thanks:

BetaBoy
17th January 2010, 18:24
I just recognized that the CoreAVC Professional 2.0.0.0 Codec is on sale for US$ 9.95 instead of US$ 12.95 till 1/17 (= today).

Although I don't really require that codec, I really like the way CoreAVC provides support for its product in this community forum. And that's why I just bought it.

I would appreciate if other companies would follow this way of supporting their products.

:thanks:
Thank you for the support. Starting with CoreAVC 2.0 the new customer portal is the first step for us to better help our customers help themselves.

The same will be said for CorePlayer 2.x and its various other related products (CorePlayer API, CorePlayer Embedded, CorePlayer TV, etc.) as 2.0 is more like a hybrid of Pandora Vs. Boxee Vs. iTunes with its login and back end systems.

imk
17th January 2010, 18:32
BetaBoy, is it possible for you to detect 1080p60 content and disable CUDA automatically?

I have some 1080p60 video game clips I record and they play perfectly with software decoding, but with CUDA enabled it plays for a couple seconds, then pauses for 3 seconds, then plays a couple seconds, repeat, etc.

It would just be nice if CUDA would automatically be used for everything else, and just automatically deactivate if it detects 1080p60 (and probably anything else it can't handle).

CruNcher
17th January 2010, 19:06
BetaBoy, is it possible for you to detect 1080p60 content and disable CUDA automatically?

I have some 1080p60 video game clips I record and they play perfectly with software decoding, but with CUDA enabled it plays for a couple seconds, then pauses for 3 seconds, then plays a couple seconds, repeat, etc.

It would just be nice if CUDA would automatically be used for everything else, and just automatically deactivate if it detects 1080p60 (and probably anything else it can't handle).

Try direct DXVA decoding CoreAVC CUDA needs a lot of Power the higher the resolution and fps when copying back the frames into memory on slow systems you might not gain the same FPS as the source anymore :(
Betaboy wouldn't it be possible to implement 2 CUDA modes one with the copy back to system memory for manipulation and one without you could call them advanced/fastest ;) ?

CruNcher
20th January 2010, 08:19
@BetaBoy
i looked more closely into these CoreAVC 2.0 CUDA(VP2) performance issues this time with the new WHQL Driver from today and i found out that you can higher the Performance @ Decoding by using a different Output color space though to my surprise the Performance of NV12 lowers even more compared to YV12 and I420/UYVY/RGB32/YUY2 also RGB32 seems to be faster then NV12 :)
And this opens the question shouldn't be NV12 give much better Performance and not the worst with CUDA(VP2) or is it just that the Conversion in CoreAVC 2.0 isn't optimized for Athlon 64 like I420 ?

CUDA(VP2): (VMR7)

UYVY = 47 FPS
I420 = 47 FPS
YUY2 = 46 FPS
RGB32 = 41 FPS
YV12 = 38 FPS
NV12 = 20 FPS

Very strange somehow ?

Without CUDA(VP2) and I420/UYVY/RGB32/YUY2 i can reach Realtime now @ Playback :) for this 1080p 60 FPS Level 4.1 PS3 Encode same as with VP2 directly via DXVA MPC-HC (no memory copy)

BetaBoy
20th January 2010, 17:01
CruNcher... something does not look right there. We are looking into it.

tormento
22nd January 2010, 13:34
So, BetaBoy, how should I obtain AVC decoding?

DigitalDeviant
22nd January 2010, 13:46
Is there a trial version yet?

squid_80
22nd January 2010, 14:00
So, BetaBoy, how should I obtain AVC decoding?

Have you posted a sample of the files you can't play?

BetaBoy
22nd January 2010, 15:57
tormento... maybe you are trying to play a non mkv based AVC file? If so try renaming the .mp4, .avi, etc. to .mkv and see if it plays.

BetaBoy
22nd January 2010, 16:53
Is there a trial version yet?

We are still working on our trial module in the customer portal that will handle all our trial software. Its turned into a bigger project then expected as we are also doing work for our upcoming CorePlayer 2.0 and TV platform releases.

puffpio
23rd January 2010, 01:00
BetaBoy..
I experience a bug where the video decode jumps to 100% CPU and frame rates drop to single digits..its not skipping frames to the audio desyncs and sometimes even starts stuttereing..eventually it clears up and the video plays faster than realtime to catch up to the audio.

I want to solve this issue, is it the codec? the renderer? the video card?
i'm on a core2duo 2ghz laptop w/ integrated video (intel G45) driving a 1920x1200 external display.
windows 7 64 bit, but using 32 bit mpc-hc (latest builds from xvidvideo.ru), 32 bit coreavc and haali media splitter..mpc-hc is set to use the haali renderer.

if i play a video using ffdshow/ffmpeg-mt as the codec, it wont do this behavior....granted it uses more cpu than coreavc..but it doesn't have these slowdown/stuttering moments..

how can i help to debug and isolate the cause of this so that your developers can fix it in a future release?