Posted by: qyot27 | March 27, 2009

The rain that falls in synch with me…

Since I keep mentioning it around on various forums, I guess it would be a good idea to actually have a link for my HCenc profiles (RAR archive).

I typically use HCenc from the command-line, with which these profiles can be called with the -ini option.  A description of the profiles follows below.

Included in that archive are two sets of nearly identical profiles – one set for HCenc 0.23 and one set for HCenc 0.24 beta.  Generally speaking, the names of the profiles are self-explanatory as to their purpose.  The syntax goes like this:

Aspect-ratio_fps-bitrate (for instance, 16-9_29fps-6000.ini)

This applies to the main profiles for full DVD resolution.  The 16:9 profiles are anamorphic, meaning that the video you give to HCenc should be 720×480 and squished.

Device_fps (example, vcddvd_29fps.ini)

This applies to the vcddvd profiles.  ‘vcddvd’ is just the colloquial name I decided to give to CIF resolution (352×240) files that I put on DVD, since VCD operated at CIF resolution and it’s easier for me to remember ‘vcd’ than ‘cif’.  Despite the fact they’re called vcddvd, they aren’t actually VCD-compliant.  They use MPEG-2 instead of MPEG-1, and a bitrate of 2000kbps instead of 1150kbps.  I mainly use these to encode low-resolution videos, such as ones I’ve grabbed from YouTube.

Personal profiles (only the ASI marked profiles)

These are the profiles I would use to encode my AMVs, if I used HCenc to do that.  I still stick to using TMPGEnc Plus for that because TMPGEnc’s MPEG Default matrix produces better-quality output with those settings than what I’ve gotten from these profiles (however, if the HCenc matrix is changed from mpeg to fox1 the HCenc encodes actually look about the same and have a higher SSIM value than TMPGEnc’s MPEG Default).  They operate on much the same syntax principle as the others, denoting aspect ratio and framerate, with the special separate vcddvd profiles for my low-res encodes.

The difference between the 0.23 profiles and the 0.24 beta profiles (which are in the ‘024’ folder) is that the 0.24 profiles use the *INTRAVLC 1  and *1PASS options that were introduced in 0.24 beta.  The 0.23 profiles use *CQ_MAXBITRATE instead.  The exceptions to both are the ASI profiles, which always use *2PASS encoding.

The sets have several things in common.  They all use *PROGRESSIVE, *LASTIFRAME, *PROFILE best, *MATRIX mpeg, *CLOSEDGOPS, *DC_PREC 9 (except the ASI profiles, which use *DC_PREC 10), *NOSMP (which is only because I don’t have a multithreading processor), *AQ 1, *MPEGLEVEL MP@ML, and *GOP 12 2.  The 23fps profiles all use *PULLDOWN.

Finally, there’s the issue of the 25fps profiles.  These exist in all of the different sets save for the ASI profiles (because I live in NTSC land and therefore don’t produce 25fps content to begin with), and there’s nothing that distinguishes them from the 29fps profiles.  The reason they exist at all is because it makes it easier to set up my batch scripts.  After I encode them, I use DGPulldown to do the proper flagging so that the streams become compliant.  Also worth noting is that these 25->29.97 streams that DGPulldown outputs are processed correctly by mplex from the MJPEG Tools project – I don’t know of any other muxing app that deals with them correctly.

The other relevant links:

HCenc 0.23 (main site),
HCenc 0.24 beta,
MJPEG Tools,


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: