View Single Post
Old 18th December 2005, 23:14   #1  |  Link
BetaBoy
CoreCodec Founder
 
BetaBoy's Avatar
 
Join Date: Oct 2001
Location: San Francisco
Posts: 1,421
CoreCodec/H.264 Codec "CoreAVC"

CoreAVC is known in the industry as being the standard for playback of high quality H.264 video. CoreAVC allows you to directly offload video decoding with either NVIDIA CUDA. ATI with Microsoft's DirectX Video Acceleration (DXVA) interface for any Windows XP, Vista, or Windows 7 PC.

More info here: http://corecodec.com/products/coreavc .

CoreAVC™ 3.0.x Professional Edition Decoder
* Supports Windows 7
* 32/64 bit support
* 8/9/10 bit support
* DXVA 1/2 Compatible
* NVIDIA CUDA GPU support
* NVIDIA DXVA GPU support
* ATI GPU support (DXVA)
* Intel Media SDK support
* ARM NEON support
* Netlogic/RMI MAE GPU support
* Supports unlimited CPU Cores
* 8100x8100 Resolution support
* Low Latency support
* Uses Directshow for MKV
* Includes the Haali Media Splitter
* Full Interlaced support

OEM Licensing
OEM/ODM/Third party developers looking to license or evaluate the CoreAVC 2.x SDK for Android, iPhone/Touch, CE, CE Embedded, Windows Mobile, Windows, OS X, Linux, and DSP's can contact our Licensing Group licensing@corecodec.com or for general information info@corecodec.com for pricing, SDK, Promotional and or reference material.

----

CoreCodec / CoreAVC H.264 Decoder
Configuration Properties Guide

*** UPDATED FOR v3.0 ***


INPUT FORMATS
This controls which DirectShow Media Types the CoreAVC video decoder accepts on input. Uncheck this only if you are troubleshooting problems with CoreAVC incorrectly decoding some variant of H.264, or want to use another decoder for it.

avc1 / AVC1 - Accept streams with avc1 / AVC1 FourCCs.
h264 / H264 - Accept streams with h264 / H264 FourCCs.
x264 / X264 - Accept streams with x264 / X264 FourCCs.
VSSH - Accept streams with VSSH FourCC.
Mainconcept H.264 - Accept H.264 streams from the Mainconcept splitter.
ArcSoft H.264 - Accept H.264 streams from the ArcSoft splitter.

OUTPUT FORMATS
This determines the preferred output color space. The decoder tries each enabled format in order from top to bottom until it is accepted by the Video Renderer filter.

9/10 Bit (checkbox) - check to enable

YV12 - YUV 4:2:0 planar format.
I420 - YUV 4:2:0 planar format with chroma planes in reverse order.
NV12 - YUV 4:2:0 with interleaved chroma samples.
YUY2 - YUV 4:2:2 packed format.
UYVY - YUV 4:2:2 packed format with different sample ordering.
RGB32 - 8 bits per channel RGB format with an extra padding byte.
RGB24 - 8 bits per channel RGB format.
RGB16 (565) - RGB format with 6 bits per green sample and 5 bits each for red and blue samples.
RGB15 (555) - 5 bits per channel RGB format.
Up Arrow - Increases the priority of the selected format by moving it towards to the top.
Down Arrow - Decreases the priority of the selected format by moving it towards the bottom.

INPUT LEVELS
TV (16-235) - always assume the stream uses TV levels.
PC (0-255) - always assume the stream uses PC levels.
Auto detect - use the full range flag in the stream to determine Luminance range.

OUTPUT LEVELS
TV (16-235) - assume the Video Renderer expects TV levels.
PC (0-255) - assume the Video Renderer expects PC levels.
Auto detect - use PC levels when VMR is used as a Video Renderer, and TV levels for all others.

INPUT COLORSPACE
BT.601 - use BT.601 colorspace coefficients when converting to RGB.
BT.709 - use BT.709 colorspace coefficients when converting to RGB.
Auto detect - use the colormatrix flag in the stream to determine the colorspace coefficients.

DEINTERLACING
This specifies how interlaced material is handled by the CoreAVC decoder.

None (Weave) - Each output frame contains two fields, flagged as progressive.
Single Field - Each output frame contains one field. Only one frame is produced for each field pair.
Bob - Each output frame contains one field. Two frames are produced for each field pair.
Hardware - Each output frame contains two fields, flagged as interlaced to allow the video renderer to perform deinterlacing.
Aggressive - in addition to SEI messages and POC numbers, assume the source is interlaced if any interlaced coding tools are used (MBAFF, PAFF)

DEBLOCKING
This controls how the deblocking step of H.264 specification is executed by the CoreAVC decoder. Deblocking is a complex process that consumes significant processing resources. If your machine is not fast enough, you might want to turn off deblocking for some frames, but it will degrade visual quality. This setting has no effect when hardware acceleration is in use.

Standard deblocking - do deblocking exactly as specified by H.264.
Skip when safe - skip deblocking step when decoding B-frames.
Skip always - does not perform any deblocking.

CROP 1088 to 1080
H.264 encoded video size is always a multiple of 16, and sequences that are 1080 pixels high are encoded as 1088 padded at the bottom. Also H.264 specifications provides a set of cropping parameters to signal that parts of the encoded picture are not important and should not be displayed. Some H.264 encoders fail to specify cropping parameters when encoding 1080 video.

Not Checked - do not crop video.
Checked - when input video is exactly 1088 pixels high, crop 8 pixels off the bottom.

PREFERRED DECODER
Overrides any other AVC directshow video decoders, and uses CoreAVC instead.
Not checked - does not change system merit.
Checked - enables the highest merit on the PC. This option is recommended to be on.

FORCE VMR AR CORRECTION
This option can be used if you are working with the decoder outside the normal player environment.

Not checked - does not change VMR settings.
Checked - instructs VMR filter to maintain aspect ratio of the video that it displays. Normally this AR correction is the responsibility of a video player. This option should normally be off.

USE TRAY ICON
This determines if an icon will be shown in the system tray when the CoreAVC decoder is in use. The tray icon can be used to access the configuration settings while media is playing. Changes to this option may not take effect until the means for playback is restarted or the computer itself is restarted.

Not checked - does not show the tray icon.
Checked - enables the tray icon while media is playing.

LOW LATENCY
This causes frames to be decoded synchronously, reducing the time between when a compressed frame is received and when the corresponding decoded frame is output.

Not checked - use asynchronous decoding, improves CPU utilization.
Checked - use synchronous decoding, less than optimal CPU utilization.

Low Latency Technical: When a stream is properly muxed into a MP4 format, it has the advantage of storing the NALU lengths at the beginning of each frame. When the Byte stream format is used instead, the size of the NALU can only be determined when the next startcode is seen, this adds one frame of latency, plus the existing one frame delay.

Additionally you will need to use FORMAT_MPEG2Video for the input connection format type, with dwFlags set to the length of the size field (commonly 2 or 4 bytes) and the sps and pps NALUs should be passed in dwSequenceHeader. Also note that you should not use MEDIASUBTYPE_MAINCONECPT_H264 ({0x8D2D71CB, 0x243F, 0x45E3, 0xB2, 0xD8, 0x5F, 0xD7, 0x96, 0x7E, 0xC0, 0x9B}) for the subtype, as it is not meant for this format. Use one of the other regular H264 subtypes made by using either "avc1" or "h264" as the fourcc.

ACCELERATION
This sets the preferred method of hardware acceleration for decoding H.264 streams. Changes to this option will not take effect until playback is restarted.

CUDA - Use a compatible NVIDIA graphics card if the stream is encoded using compatible features.
DXVA - Use an ATI or NVIDIA DXVA1/DXVA2 compatible graphics card if the stream is encoded using compatible features with a renderer filter connected.
NONE - Use software decoding only.

TRAY ICON STATES
When the "Use Tray Icon" option is enabled, the tray icon indicates whether or not hardware acceleration (GPU) is active in CoreAVC.

Blue - CUDA or DXVA is not active or in use.
Green - CUDA acceleration is active and in use.
Red - DXVA acceleration is active and in use.

PICTURE LEVELS
Picture level slider adjustments can be made in ‘real time’ so you see the effects of the changes as you make them. Once the adjustments are made, ensure that you press ‘Apply’ to save changes or they will be lost.
Note: Picture levels cannot be adjusted when DXVA hardware acceleration is in use.

Brightness - Adjusts the overall brightness level.
Contrast - Adjusts the difference between light and dark areas.
Saturation - Adjusts the vibrancy of colors.
Restore Defaults - Reset all picture level adjustments. It is not necessary to click Apply after this option.


Full Changelog:
http://corecodec.com/products/coreavc/changelog


Also... as a reference here are the install flag options for Haali's splitter:
Code:
Haali Media Splitter supports the following command line options:
/S 		- silent install without any UI
/MKVONLY 	- register only Matroska components
/AVI=[yes|no] 	- register AVI support
/MP4=[yes|no] 	- register MP4 support
/OGG=[yes|no] 	- register OGG/OGM support
/TS=[yes|no] 	- register MPEG TS support
/PS=[yes|no] 	- register MPEG PS support
/WMP=[yes|no] 	- register WMP to play in Windows 7

Also when reporting issues, please include the following:
Code:
People, how about providing detailed bug reports? Simply saying that it's not working or it's slow for me won't really help. It should be something like this:

1. Description:  Explain the problem throughly and provide video sample if possible, if not then at least provide screenshots
2. OS: 
3. CPU:  
4. GPU:  
5. Video Driver Version#:  
6. Player and Version#:  
7. Renderer:  
8. Splitter and Version#:  
9. Codec Version:  
10. Output:  
11. Acceleration (DXVA/CUDA):  
12. Other info that might help.
__________________
Dan "BetaBoy" Marlin
Ubiquitous Multimedia Technologies and Developer Tools

http://corecodec.com

Last edited by BetaBoy; 15th September 2011 at 21:39.
BetaBoy is offline   Reply With Quote