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.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 5th July 2003, 17:35   #1  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
Helix YV12 / I420 / IYUV VfW Codecs

The Helix YUV Codecs are three almost identical Video for Windows compatible
codecs for decoding and viewing of YV12, I420 and IYUV
AVI files or AviSynth scripts in all versions of Windows. Additionally, they will let
you convert/encode/save as.. to any of the three formats. When converting from
one YUV format to another it is a lossless conversion.


2016/12/14: New version Dec2016 by MLJ
Download: HelixRC3

Thanks again to MLJ for providing this update!

Here is the information provided in the package ReadThis.txt:

Helix YUV Codecs RC3 - Version 1.2/1.3 by Karl Lillevold
Release: December 2016

LEGAL DISCLAIMER:
Great Care and very Intensive Tests where made by developing this
Software before it was Released. This Software is "AS IS" and the
Author can not be made liable under any Circumstances for any
Damages or Data-Loss of any Kind by installing and using this
Software ! The End-User agrees to these Terms silently and uses
this Software on his own Risk by installing and using this
Software ! It is strictly forbidden to include and distribute the
Helix Codecs in so called "Codec-Packs" ! The Helix Codecs are NOT
FOR SALE or Re-Distribution of ANY Kind ! All Rights Reserved !

IMPORTANT WARNING !
DO NOT USE THE "VCSWAP" TOOL BECAUSE IT MESSES UP THE FOURCC TABLE
IN WINDOWS ! The "VCSwap" Tool changes all uppercase FourCC's to
lowercase but many Routines inside DirectX rely on uppercase
FourCC's and their Entries in the Registry to work properly.

Special thanks to:
Igor Pavlov - for the "7Zip" Freeware Program
Nicolas OTT - for NLE and Hardware tests (Win SE to 8 ,32/64 Bit)
Michael Henke - for Ingest Hardware and NLE tests
Mickey Lee Jones - for IYUV Development, Fixes and INF-Script

Helix YUV Codecs Features: (Fully Tested)
I420: YCbCr 12 Bit Planar YUV
IYUV: YCbCr 12 Bit Planar YUV (New)
YV12: YCbCr 12 Bit Planar Swapped YUV
Alpha Channel Support: Yes
RAW VBI Support: Yes
MMX CPU Support: Yes
SD / HD Support: Yes
DirectShow Support: Yes
ActiveMovie Support: Yes
Video for Windows Support: Yes
QuickTime for Windows Support: Yes (AVI with I420/IYUV)
AVI1 (VfW) Support: Yes
AVI2 (OpenDML) Support: Yes
Overlay Support: Yes
Multiple Overlay Support: Yes
Image Color Management (ICM) Support: Yes
Interlaced Support: Yes (All SD/HD TFF/BFF Field Orders)
Progressive Scan Support: Yes
Progressive Segmented Support: Yes
Alternating Scan Line Support: Yes
Supported Frame Rates: All
Supported Pixel Types: Square / Non-Square
Supported Television Norms: All ITU/EBU/ATSC/SMPTE Norms
Format Support for H.26x/MPEG-1/-2/-4: Yes
Format Support for FFMpeg: Yes
Format Support for FFDShow: Yes
Format Support for AviSynth: Yes
Format Support for AVC/AVCHD: Yes
Format Support for UHD and Cinema: 2K (V1.2), 2K/4K/8K (V1.3 only)
Support for Dual-Image 3D: Yes (V1.3 only)
Extended Buffering: V1.2 = No, V1.3 = Yes

System Requirements:
Microsoft Windows 9x to 10 (32/64 Bit)
Microsoft DirectX (Version 7,8,9 and higher recommended)
Microsoft Media Player 6,7,9 and higher
Apple QuickTime for Windows Version 4 to 7 and higher (Optional)
Intel/AMD Processor with MMX Support for best Performance
Intel/ATI/Matrox/NVidia Graphics Card with I420/IYUV/YV12 Support
The Freeware "7Zip" by Igor Pavlov to unpack the Files

Installation:
Save the downloaded File to a Location on your Harddisk and extract
the File with "7Zip". NOTE: DO NOT try to install the Codecs WITHOUT
extracting the Files to a Folder on your Harddisk !

IMPORTANT:
It is highly recommended to install Version 1.3 first. Version 1.2
should ONLY be used if you have a older System with a older Capture
Card or Video Device. Please DO NOT mix the Version 1.2 with Version
1.3 ! If you do want to try another Version, uninstall first before
you try a different Version of the Helix Codecs !

ATTENTION !
The Helix RC2 that only contained the original Helix Codecs without
the new IYUV Codec is no longer available !

Installation: (Windows 9x to 10, 32/64 Bit)
The Helix RC3 Codecs are available in two different Versions:
"HelixRC3.7z" -> contains the new Helix 1.2/1.3 Codecs

Helix Codec Version 1.2: Folder "Ver12\Helix12.inf"
Helix Codec Version 1.3: Folder "Ver13\Helix13.inf"

Simply right-click on the "Helix12.inf" OR "Helix13.inf" File
and follow the Instructions.

Windows NT to 10 Users need Admin Rights to Install the Codecs and
should read the Section "Troubleshooting" in this Document in case
the Installation fails on 64 Bit Systems.

Windows 9x to ME Users should restart the System after the
Installation completed and we highly recommend to use the "Infast"
for a silent or the "Infstall" Program for a guided installation.

If the Message Window "Uncertified Program" and/or "Unsigned Driver"
pops up, simply click on the "OK" Button to ignore the Message and
continue with the Installation.

After the Installation completed, open the "Run" Command, type
"dxdiag" and press the "OK" Button. DirectX Diagnostics will
register now the new Helix Codecs with the DirectX Engines.

Please note that the new INF-Script does NOT delete any other Codecs
on your System and only replaces them in the Registry. The replaced
Codecs are restored if the Helix Codecs are removed from the System
via the "Uninstall" Option (Software). Other third Party Codecs are
NOT restored, ONLY the native Windows Codecs !

Description:
The Helix YUV Codecs encode/decode I420, IYUV and YV12 RAW Format
Videos. Fast color conversions to all common RGB formats, YUY2,
and of course I420, IYUV and YV12 when requested.

"i420vfw.dll" encodes to I420 -> Replaces Microsoft msh263.drv (*)
"iyuvvfw.dll" encodes to IYUV -> Replaces Intel iyuv_32.dll
"yv12vfw.dll" encodes to YV12 -> Replaces XviD as a YV12 Decoder

(*) = Up to XP. Vista to 10 uses the modified Intel Iyuv_32.dll.

Otherwise identical, the encoders accept common input formats,
and losslessly converts to and from both color spaces, i.e. with
"Fast recompress" in VirtualDub, there is no conversion via RGB.

Example for "Fast Recompress" in VirtualDub: (See Note !)
I420 can be converted losslessly to IYUV but NOT to YV12
IYUV can be converted losslessly to I420 and YV12
YV12 can be converted losslessly to I420 and IYUV

Note:
Using "Fast Recompress" with the Helix I420 Codec to the Helix YV12
Codec WILL SWAP THE PLANAR YUV and is meant to work this way !

The Reason are MPEG-1/2/4 encoders because many NLE's install
a Filter for the Color Conversion from I420 to YV12 so MPEG Videos
don't encode the inverted Chroma and is reversed by the additional
Filter if a Video with I420 is used. The same Filter is used during
capture, encoding or decoding MPEG-1, MPEG-2 and MPEG-4 Videos.

Solution 1: (Recommended)
Open your I420 Video with Nic's "FourCC Changer" by either draging
it to the field where the two dots are or press the Button with the
two dots and navigate to the location of your Video. Then change the
FourCC from "i420/I420" to "iyuv/IYUV" in both fields and press the
"Apply" Button. If both Entries are upper-case, then replace them both
as upper-case.

In the "FourCC Description Code" Field you should insert iyuv (lower
case) and in the "FourCC Used Codec" Field IYUV (upper case) because
ActiveMovie uses lower case FourCC while DirectShow uses the upper
case FourCC to identify the Codec. This only changes the FourCC code
without re-rendering the Video and can be changed back to I420 anytime
when requested.

CAUTION !
Changing the FourCC from I420/IYUV to YV12 WILL SWAP THE YUV PLANES !

Solution 2: (Best alternative)
Open your I420 Video in VirtualDub, select the Box "Ask for extended
options after this dialog" before you press the "OK" Button and enable
the Options "Force video format FOURCC code to", insert iyuv (lower
case) in the "Force video codec handler FOURCC code to" insert IYUV
(upper case) and click on the "OK" Button. Your I420 Video is now
loaded with the IYUV Codec in VirtualDub.

This has the same effect as using Nic's FourCC Changer, only that the
FourCC code I420 is mapped to IYUV and not permanently changed.

Solution 3: (not recommended)
Open your I420 Video in VirtualDub and select the Mode
"Normal Recompress" and change the Colorspace to YUY2 or YV12 in
the "Video - Color Depth" Option.

All Solutions will prevent a Swap in the Planar YUV Colorspace.

The Helix Codecs negotiate with other Codecs in this Order:
I420 (12 Bit) -> I420 12 Bit/YUY2 16 Bit/RGB24 24 Bit/RGB32 32 Bit
IYUV (12 Bit) -> IYUV 12 Bit/YUY2 16 Bit/RGB24 24 Bit/RGB32 32 Bit
YV12 (12 Bit) -> YV12 12 Bit/YUY2 16 Bit/RGB24 24 Bit/RGB32 32 Bit

If a target Codec is able to compress I420/IYUV/YV12 then the
Source Colorspace (FourCC) is not changed and remains lossless if
"Fast recompress" is used in VirtualDub otherwise YUY2 or RGB24.

Input for the Helix Codecs can be:
YVU9 / YUY2 / RGB24 / RGB32 and UYVY -> See Note !

Note:
UYVY is always mapped to RGB24 and is the default behavior of
DirectX and their Components. That's why many Capture Cards and
Devices only offer I420 and YUY2 as the default Color Space to
prevent the mapping over RGB24 while the I420 Color Space is
directly used by the Hardware.

AviSynth 2.5.x:
A "DirectShow" Script uses these Color Spaces:
Helix I420 is decoded as YUY2 -> see Note
Helix IYUV is decoded as RGB32 -> see Note
Helix YV12 is decoded as YV12

Note:
This is meant to work this Way and conforms to the DirectX Specs.

A "AviSource" Script uses these Color Spaces:
Helix I420 is decoded as YV12 -> see Note
Helix IYUV is decoded as YV12 -> see Note
Helix YV12 is decoded as YV12

Note:
The YUV Planes are properly swapped without any Chroma Shifts.

Hint: (VirtualDub Versions 1.6 to 1.10)
Disable the Option "Directly decode uncompressed YCbCr Sources"
under "Options - Preferences - AVI" in VirtualDub. This disables
the internal YUV Codecs in VirtualDub and the external ones are
used instead. Disable the "Allow Video Overlays" Option if you
see a "Green Screen" during Playback or encoding in VirtualDub.

Videos encoded with the Helix I420/IYUV Codecs can be played back
in Apple QuickTime for Windows (YUV420). Videos encoded with
VirtualDub in YV12 can be decoded with the Helix Codecs. AviSynth
uses the Helix YV12 Codec instead of the XviD Decoder.

Limitations: (Windows 9x to XP)
The Intel IYUV Codec (I420/IYUV) is limited to 640x480, max.30 Fps.
Videos encoded with the Helix Codec in this Resolution can now be
decoded by the Intel Codec and vice versa. Means, a Video encoded
with the Intel I420/IYUV Codec (iyuv_32.dll) can now be decoded with
the Helix Codecs and Videos using the Intel 4:2:0 Codec (msh263.drv)
or Intel RAW 4:2:0 (i263_32.drv) can also be decoded with the Helix
Codec.

Drastic YCbCr I420/IYUV/YV12 Videos can now be encoded/decoded both
Ways at higher Resolutions and Frame Rates. (Fully Tested)

Overview:
Intel 4:2:0 (I420) -> can be decoded using the Helix 32 Bit Codec
Intel RAW 4:2:0 -> can be decoded using the Helix 32 Bit Codecs
Intel I420/IYUV -> can be decoded using the Helix 32 Bit Codecs
Drastic I420/IYUV/YV12 -> can be used both Ways
Helix I420/IYUV -> can be decoded with the Intel 32/64 Bit Codecs at
a maximum Resolution of 640x480 at max. 30 Fps. Larger Resolutions
and Frame Rates are NOT supported by the Intel Codecs !

The Helix Codecs are only avaliable in 32 Bit Applications on 64 Bit
Systems and is meant this Way. The 64 Bit Intel Codecs will show up
in the List of available Codecs instead of the Helix 32 Bit Codecs
with 64 Bit Applications.

Important:
The Helix Codecs are RAW Codecs and don't vary in the Bitrate. A
large Resolution with a high Frame Rate results in a higher Bitrate
and vice versa. Most Consumer Devices are limited to VGA if the User
selects I420/IYUV/YV12 to capture a Video (640x480) because Windows
does not support natively higher Resolutions using these FourCC's.

The Helix Codecs can be used to compress higher Resolutions that are
available through YUY2 by the Capture Card or Device via VirtualDub
or other Capture Software where the target Codec is selectable.

[...]

WARNING !
DO NOT RUN THE 64 BIT REG-FILE ON A 32 BIT SYSTEM AND VICE VERSA !

Windows 9x Users need to edit the "System.ini" File. Open this File
with "NotePad" (Editor) and change the following Section:

[Drivers32]
VIDC.I420=i420vfw.dll
VIDC.IYUV=iyuvvfw.dll
VIDC.YV12=yv12vfw.dll

Save the edited System.ini File and navigate to the Folder where you
uncompressed the Helix Codecs. Look for the "Helix9x.reg" File and
double-click on it. A Window pops up and click on the "OK" Button to
add the ICM Descriptions to the Registry.

Note:
The "VIDC.IYUV=iyuvvfw.dll" Entry is ONLY available with the Helix
Codec Version 1.2/1.3 RC3, NOT with Version 1.2/1.3 RC2 which is no
longer available !

Close all Applications and restart your System to re-enable the
Helix Codecs.

Uninstall:
Open the "Software" Applet in Windows, select the "Helix Codecs"
and click on the "Remove" Button. This removes the Helix Codecs
and restores the Registry and native 32 Bit Windows Codecs.

Users with Windows 9x/SE/ME need to restart the System.

After you uninstalled the Helix Codecs, open the "Run" Command,
type "dxdiag" and press the "OK" Button. The DirectX Diagtool now
re-registers the native Windows Codecs for the DirectX Engine.

Known Issues:
Width has to be a multiple of 4 and the Height a multiple of 2.
Recommened for best Performance: 4x4

The new Installation Routine always installs all Helix Codecs
and they can not be selected individually anymore to enable a
lossless Transcoding from one Colorspace to another.

The Helix Codecs can not be selected in some Ulead/Corel Software
Versions for Compression, only for De-Compression when you captured
with I420 or YV12. This is a Issue in some Ulead/Corel Versions and
not a Bug in the Helix Codecs.

Videos encoded with the Intel IYUV Codec can now be played back
with the Helix Codecs even if the Intel IYUV Codec converts 12 Bit
up to 24 Bit and vice versa while the Helix Codecs stay in 12 Bit.

VirtualDub does not support I420/IYUV as a Output Format. If the
"Normal Recompress" or "Full Processing" Modes are used then the
Conversion is made over RGB. "Direct Stream Copy" is without any
Conversion, just like the "Fast Recompress" Mode.


Blue-Screen with large Resolutions using RGB32
Karl Lillevold:

7th August 2015
"forclip" informed me that if using a renderer with RGB32 output, for
example VMR-9, for higher than HD resolutions (e.g. 2560x1440) the
Helix YV12 converter will cause a crash. I investigated this and found
that when I created version 1.3 and allowed up to 8192x8192, I failed to
notice that the assembly coded YUV to RGB color converters written in
1996 are hard-coded with a 2080 pixel wide limit. Back then no one
foresaw resolutions would ever need to be higher :S

All I can do at the moment is add this information to the thread, as I
am unable to make any modifications to the assembly code, nor in fact
build the projects due to build system incompatibilities. If staying in
the YUV domain, the converters work fine up to 8192.


Other product names, trademarks and registered trademarks mentioned
in this Document are the property of their respective holders.
-EoF-

For a Changelog, see ReadThis.txt in archive.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.

Last edited by karl_lillevold; 14th December 2016 at 22:19. Reason: new version Dec2016 by MLJ
karl_lillevold is offline   Reply With Quote
Old 6th July 2003, 19:17   #2  |  Link
phrentec
waprout?
 
phrentec's Avatar
 
Join Date: Jan 2002
Location: LA
Posts: 224
would you recommend to use this for video capture? could you also give another scenario to use this in because i though the newer versions of helixproducer already supported I420 and YV12 as input or should this be used with Gabest's realmedia directshow filter if the realvideo is in I420. Also what happened to the rids3290.dll?

Thanks Karl.
phrentec is offline   Reply With Quote
Old 6th July 2003, 23:55   #3  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
Since most video capture devices support I420 output, but not YV12, I would recommend capturing to I420, for use as input to Producer. Then you can use these VFW codecs to view, edit, and convert losslessly the files you captured.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 7th July 2003, 01:07   #4  |  Link
Animaniac
Registered User
 
Animaniac's Avatar
 
Join Date: Mar 2003
Location: Cambridge, MA
Posts: 286
Thanks, these should be very useful!
Animaniac is offline   Reply With Quote
Old 7th July 2003, 01:27   #5  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
Quote:
Originally posted by phrentec
should this be used with Gabest's realmedia directshow filter if the realvideo is in I420. Also what happened to the rids3290.dll?
It's not really related to Gabest's RM DS filter.

rids3290.dll is now called dsreader.dll. Maybe I did not quite understand your question.. Helix producer still reads its source files via dshow on Windows, but it understands common YUV formats, like YV12, I420, YUY2 natively, so these VFW codecs are not used. Producer then simply tells dshow to provide the raw data without going via a decompressor.

I found good use for the I420 codec in particular when running some PSNR tests in Avisynth, because all my ITU test clips are in I420, and the I420 codec outputs YV12 when requested. Similarly, if you happen to have I420 files from capture or other sources, and want to compress to XviD or another codec that accepts YV12, just use "Fast recompress" in VirtualDub to avoid going via RGB.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 9th July 2003, 03:00   #6  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
i updated the version to 1.0a after making a couple of modifications to the installer script. No change to the codecs themselves.
o win9x support in installer, hopefully, not fully verified.
o uninstaller will delete reg keys vidc.i420/yv12 only if they point to these DLLs (in case they were changed to point to other codecs after installing these, they will not get deleted by the uninstaller)

I have one question perhaps someone here can answer. In VirtualDub and ..Mod for a YV12 source when I choose "Fast Recompress" and use a YV12 capable compressor like XviD or even the Helix YV12 codec, based on the FAQ on YV12, I would have expected VDub to ask the codec to provide YV12.. But I see in the debugger that VDub asks for YUY2, even though the Helix codecs say they support YV12. In fact VDub does not even ask for YV12, it asks for YUYV and YUY2 as far as I can tell. Is this expected? Maybe I should jump over to Avisynth Dev and ask there.

From FAQ: "Just load your avs file in Virtual Dub and set the video on "Fast recompress". In this mode the process will stay in YV12 (all the necessary filtering has to be done in AviSynth itself). Under compression select a codec which support YV12"
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.

Last edited by karl_lillevold; 9th July 2003 at 07:53.
karl_lillevold is offline   Reply With Quote
Old 9th July 2003, 08:39   #7  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
Correct Vdub asks for YUY2, whereas VdubMOD asks for YV12 before YUY2. I've asked Avery to correct this, but he doesn't seem to care...

Anyway Vdub doesn't have anything VDubMod doesn't have (except maybe a smaller installer ) - so I don't care that much.
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 9th July 2003, 08:46   #8  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
You are right, but only for XviD. If I do YV12 -> YV12 (Helix), VDubMod asks for YUY2, if I do YV12 -> XviD, VDubMod asks for YV12. I will investigate some more. Either something is hard-coded in VDubMod to prefer YV12 for XviD, or my YV12 compressor is somehow not communicating well enough to VDubMod that it would really really like YV12 as input
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 9th July 2003, 10:33   #9  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
I don't think anything special was made for XviD (as I made the first hack to allow YV12). The code is somewhere in Dup.cpp

(Search for YV12 - skip the overlay things - actually I don't know why vdubmod doesn't attempt YV12 overlay, but nevermind that).

Even though the comments state that it attempts "UYVY" first this isn't the case when you look at the actual code.
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 10th July 2003, 04:14   #10  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
Thanks. That helped me find the problem in my code. With VDubMod, both the I420 and YV12 codecs now get YV12 input from any codec capable of supplying this (instead of YUY2), when they are used as compressors to I420 or YV12. There is no change when used as decompressors.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 31st July 2003, 06:58   #11  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
tiny tiny update. I found that on systems that have installed an Osprey capture card, Osprey is nice enough to include an I420 codec. However, it does not work very well (for instance, no YV12 support for Avisynth), and also, Osprey decided to put the vidc.i420 reg key in HKEY_CURRENT_USER and not along with all the other VFW codecs, in HKEY_LOCAL_MACHINE. So unless the key in HKCU is removed, the Osprey codec will be loaded before the Helix codec, and you are out of luck, causing a minor headache trying to figure out why for instance an Avisynth script referencing an I420 file can not provide YV12.

So the little update is to include in my installer, the removal of any I420 / YV12 vidc string value in HKCU, in case it is there, before placing a new vidc.I420/YV12 in HKLM.

p.s. a little warning for those that use YV12 support in ffdshow instead of a native VFW codec (like the Helix YUV codec) for YV12 playback. Having YV12 enabled in ffdshow causes Gabest's Directshow filter for RealMedia to malfunction.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 4th October 2003, 22:17   #12  |  Link
bobololo
Registered User
 
Join Date: May 2003
Posts: 328
I've just installed these codecs and I get a little problem. I'm currently developping a VFW codec and I use vdub to debug.

Once I've installed these codecs, and run vdub through MSVC debugger, an assert failed. The debugger reports this message :

HEAP[VeedubP4.exe]: Heap block at 00150E90 modified at 0015108C past requested size of 1f4

This is a bit annoying since I can't debug my codec anymore When I uninstall the yuvcodec, the debugger works fine.

Do you have an idea of what is going ?

ps: I've installed 1.1a.
bobololo is offline   Reply With Quote
Old 4th October 2003, 22:23   #13  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
no, sorry, I have frequently run VDub myself in MSVC with these codecs without any asserts or problems. When is it you get the assert? Maybe I can try to repro your scenario.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 5th October 2003, 02:47   #14  |  Link
bobololo
Registered User
 
Join Date: May 2003
Posts: 328
Quote:
Originally posted by karl_lillevold
no, sorry, I have frequently run VDub myself in MSVC with these codecs without any asserts or problems. When is it you get the assert? Maybe I can try to repro your scenario.
I've investigated a little bit more and I discovered an interesting issue. Actually the assert has nothing to do with yuvcodecs. It occurs with any codec provided that the total number of registered codecs (vidc.xxxx in HKLM/.../Drivers32) is exactly equal to 24 ! Weird isn't it ?

The assert comes out when stepping over ICInfo() function call.

I've searched for some info from MS documentation and I found nothing.
bobololo is offline   Reply With Quote
Old 9th October 2003, 02:51   #15  |  Link
stevenxu
Registered User
 
Join Date: Dec 2002
Posts: 11
It seems to save U block and V block in wrong order.
stevenxu is offline   Reply With Quote
Old 9th October 2003, 03:26   #16  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
it's funny you should mention this right now, i just discovered the problem yesterday, and fixed it today. New version should be ready tomorrow. The error got introduced when I fixed the "fast recompress" option for I420->YV12 and YV12->I420, so those work fine, it's just saving ("compressing") to I420 and YV12 for any other format that's reversed.
Thanks!
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.
karl_lillevold is offline   Reply With Quote
Old 9th October 2003, 22:34   #17  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
corrected version posted (1.2). This problem shows how rarely the codecs are used as "compressors", even by myself No need to update unless you use these codecs to convert to YV12 or I420. Let me know of any other problems.
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.

Last edited by karl_lillevold; 10th October 2003 at 22:33.
karl_lillevold is offline   Reply With Quote
Old 10th October 2003, 17:05   #18  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
Are there any speed or quality differences in the YV12->YUY2? Anybody notice any?

- Tom
__________________
My video filters (still) at www.trbarry.com.
trbarry is offline   Reply With Quote
Old 28th May 2004, 20:31   #19  |  Link
freelock7
High beam
 
freelock7's Avatar
 
Join Date: Apr 2004
Location: Belgium
Posts: 290
ince I have downloaded the helix codec I don't need to convert to RGB with Tmpgenc through aviscript.
What does it means?
Tmpgenc works better in YV12 space color??
freelock7 is offline   Reply With Quote
Old 28th May 2004, 20:43   #20  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,295
Quote:
Since I have downloaded the helix codec I don't need to convert to RGB with Tmpgenc through aviscript.
True.

It means that this codec converts your video to RGB when opening in TMPGEnc. The processing done by TMPGEnc is always in RGB.
Wilbert is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 18:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.