Sunday, January 17, 2010

ffdshow

As you may know, since early 2002, the best way to ensure good video play back on a Windows PC was to install the ffdshow codec. FFDshow by Milan Cutka is a Directshow wrapper for a few codecs including libavcodec and ffmpeg, as well as many filters including cropping, resize, subtitles and more. This made ffdshow both a quick and easy way to ensure playback of almost any audio/video file in a Directshow based player...it also makes for amazing control for power users.

Anyways, ffdshow was abandoned by Milan in late 2004 and has since been picked up by another team as the ffdshow-tryouts fork. This fork has been continuing the example of Milan for having both massively simple to use as well as many expert features, woo!...

Recently ffdshow-tryouts have added DXVA support for H264 and VC-1, so now ffdshow-tryouts can use the video card (GPU) to offload processing of some content. Unfortunately the DXVA implementation is not as mature as Media Player Classic - Home Cinema's Video Decoder (MPC-HC). I am sure that the team will work to fix all the issues that I am seeing in build 3200. albain and Tal are great people.

Please do checkout ffdshow-tryouts (http://www.ffdshow.info/) and MPC-HC + Standalone filters (http://mpc-hc.sourceforge.net/).

Here is the issue I am seeing. With some H264 videos there is a jitter, like two frames get out of order. Maybe this is an issue with the ordering from the splitter and/or ffdshow is not picking up the ordering. I would use the MPCVidDec codec and enable to DXVA codes there and disable H264/VC-1 decoding in ffdshow for now.

I hope this helps open some eyes to a wonderful opensource project that is keeping up amazing quality video and audio decoding for Windows PCs.

Tuesday, January 12, 2010

Windows 7 Start Menu Search doesn;t wiork

I had an issue recently where the start menu would not search properly. I found this site
http://www.troublefixers.com/fix-windows-7-start-menu-search-problem/
Deleting the registry key it said to fixed the issue ([HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{EF87B4CB-F2CE-4785-8658-4CA6C63E38C6}]). What the heck?

Saturday, August 15, 2009

HalfLife 2 Node graph out of date/ AI disabled

Howdy internet gamer kids. I don't know how many of you are into Half Life 2, I just started to play it again today on my newly installed Windows 7 x64 install and see this note in the upper right hand corner "64-bit mode active", reading this I was kind of excited, woo get to use the 64-bits to full effect, yes.

Anyways, my happiness was quickly replaced with annoyance. Each map start would have a message "Node graph data out of data" and something about recompiling or whatever...I thought fine, recompile I see no slow down or issue.

As I approached the doctors building I then see a statement "AI disabled" which stays on the screen in the lower right quadrant of the screen. Guess what all AI objects stopped working; pigeons sat around, and the swat like guys didn't attack me so that Alyx could come rescue me. Oh boy how can I play the game if the computer has been lobotomized?

I did a quick search for AI disabled what was returned was a console command to disable/re-enable the ai "ai_disable" which seems to be a Boolean variable. Pulling the console down "~" (remember that you must have enabled to console "developer access" in the Advanced keyboard settings) "ai_disable 0" allowed me at times to re-enable the AI and sometimes not.

With the AI re-enabled I was able to proceed past the attack and meet Alyx. Now Alyx calls the elevator to take us down to find the doctor, however, she cannot seem to see that the elevator is there or just doesn't know how to walk into the elevator. My hypothesis is that the rebuilt node graph is inaccurate or not working. With the help of some threads on steampowered forums I was able to add an automatically executed fixer to disable the node graph updates "ai_norebuildgraph "1"" with this in place I have not yet had another issue. I am midway through the lake map and hope that I see no further issues at all.

So in summary
1. Valve, please put someone on fixing the 64-bit build of HL2.
2. For anyone having trouble, I would recommend adding this auto command. or
3. You can also try running in 32-bit mode, add the -32bit launch option, in 32bit mode I had crash issues when at the doctors for teleporting so YMMV *Your Mileage May Vary".

Happy Gaming,
Craig

Sunday, July 12, 2009

Wolfenstein 3D, still fun after all these years.

Just finished re-playing Wolfenstein 3D using NewWolf a OpenGL (video) and SDL (audio) rewrite of the engine. A little issue is that after killing each of the Boss's it doesn't end the map but, whatever you know you did it. It's a dead project but, it is the best Wolf3D engine rewrite.

The game is still hard, fun, and can get your blood pumping when you come around a corner and face down the Blue machine-gunner. And who doesn't like killing Nazi's (ah when good and bad was so black and white), except maybe German's. The map (TAB) gives you a little bit of a cheat at finding secrets. Be careful as you might go bleary eyed through some of the maps where the secrets are like impossible to get to all of them.

You'll be amazed by some of the great design and gameplay mechanics that were ahead of the games time, including enemies that patrol, specialized sounds (e.g. things farther away are softer than those that are close up, also things on the left and right are actually setup that way). You might want to search for the original game, not sure if the full version is legal to download, so that you can also revel in the nostalgia inducing game with NewWolf.

Sunday, May 17, 2009

MC Chris For the Win

Friday I went out to Cat's Cradle in Carrboro, NC (www.catscradle.com) to see MC Chris Live. It was amazingly fun. I only sat down once in the hour long set by MC Chris. The opening set by Whole Wheat Bread was a lot of fun too.

Anyways, check out MC Chris' Left 4 Dead rant on youtube. http://www.youtube.com/watch?v=Kje_iluojts

Friday, March 20, 2009

240Hz? Why?

So, you might have read one of my previous posts discussing 120Hz, the technologies and what they solve. I recently read that Sony has released a 240Hz model, I am at a lose as to what this solves, it only allows there SmoothMotion, Automotion, whatever interpolation algorithm more chances to change the original picture to something new.

As we know, traditional NTSC broadcasts are 60Hz (30fps), movies are 24Hz (24fps) and Digital broadcast is an amalgam of 24Hz (24fps) and0 60Hz (both 30fps and 60fps for interlaced and progressive). And we also know that these smoothing techniques are interpolation and create images that were never captured by the camera. So bottom line, 120Hz covers the entire spectrum of frame rates and there is no reason for 240Hz.

This is the same argument I had with European countries and the 100Hz LCD panels. In Europe the two primary analog transmission styles were PAL and SECAM both of which where 50Hz (25fps) and films are already modified (read slowed slightly) to be 25Hz (25fps)...so 50Hz covers both segments, 100Hz is unneeded and does not cover 24Hz (24fps)...so what are these companies thinking?

Oh wait, I know they are thinking that they can make a buck off of people who either a) do not understand film/video or b) just want the prestige of owning the latest and greatest gadget.

Anyways, enough of my rant. Please note, this discussion is only for LCD technology flat-panel displays.

Sunday, February 01, 2009

Snow in NC?!!!

Check out some pics I took of the snow a few weeks ago.

Click the Image.

Friday, December 26, 2008

120Hz Importance to a consumer

This is an email I wrote to a group at the office explaining 120Hz with respect to HD TV sets. (Keep in mind this is written for an American audience, so I used the NTSC standard 30fps (60 fields/second). European countries have a different electrical system which operates at 50Hz thus there television standards (SECAM, PAL) were defined as 25fps (50 fields/second)
-----
There is a lot of incorrect information out there about 120Hz. There are two separate technologies and problems being solved, however, most sales people cannot separate them.

So first let us define the problems
1. Judder - This is when the image appears to stutter on sweeping camera moves or similar. Judder occurs because of a difference between the refresh rate of the display device and the frame rate of the source.

2. Motion Blur - This is an artifact of the fact that all video/film is moving pictures (e.g. sampled). The blur occurs because our eyes bridge the gap between frames.

Below we will define the two technologies which are unfortunately both referred to as 120Hz by most people

1. 120Hz - this is the refresh rate of the monitor, so how many full frames/fields per second which can be displayed. (Most devices have historically had 60Hz refresh)

2. Auto-Motion Plus (Samsung's TM, Sony named theirs MotionFlow) - This is an interpolation technique which attempts to create intermediate frames to increase the clarity and decrease the bridging your eyes need to do.

Now we know the two technologies and problems we are trying to solve.

The 120Hz (refresh rate alone) is designed to solve judder. To explain why this is we need to learn a little about video/film. As you may know film is recorded at 24 fps (frames per second), TV programing is filmed in 30 fps (60 Hz interlaced). So with a 60 Hz display we get a none equal pattern to display film (24 fps) with 60 Hz we get a 3:2 pattern so the first frame is displayed 3 times, then the second twice and that continues to fill out 24 fps into 60 fields/second, this is where the judder comes in as there is a caddence mismatch between the original film and the display. To correct this we look to 120Hz and the display rate becomes 5:5 each frame is displayed 5 times thus creating a standard cadence (however, the 3:2 cadence is hard coded into standard DVD video so you need to rely on a good de-interlacer to restore the original 24fps and then pass them at that rate to the TV so that we get 5:5 output.

The Auto-Motion (interpolation) changes the original quality of the video because it is adding frames that didn't originally exist. Some people like the extreme crispness of the image it produces. I prefer to see the directors intent and very much dislike the video which is produced by this interpolation.

So for me 120Hz would be a big buying point today, however, I would need to be able to ensure that the interpolation is off. For a normal consumer I would say it isn't a make or break feature.

Whew that was a lot of typing to let you know that I doubt it would matter to you or your family, however, hopefully it has educated and my assist others in deciding.

Friday, October 03, 2008

Video Encoding with mencoder is a nightmare

I have been spending a lot of time recently working on defining exactly how to accomplish taking my HD feed of television programing, and automatically encoding it to remove commercials and use x264 as the H264 encoding engine. To this end I have found some lacking in the original mencoder documentation. I will try to document each of the filters that I am using in my attempt to complete my task and hopefully help others to not have the same issue(s).

Conventions:
Text which requires replacement will be marked like a variable with a dollar sign ($).
definitions will be preceded by a double hyphen (--)


Part 1. In this section I will provide an automated method to crop a video to remove all of the black bar area. The remaining video area will be the correct aspect ratio...etc. as mencoder corrects this for us.

Step 1 is to get the crop value. The easiest method is to use mencoders brother mplayer and the cropdetect filter

mplayer -vf cropdetect $videofile

cropdetect -- outputs to console the current crop values to remove the black area around an image as mplayer plays. output will be similar to [CROP] Crop area: X: 0..1738 Y: 0..1079 (-vf crop=1728:1072:6:4). (units pixel)

Now you can just copy paste the -vf crop line and run mencoder with the crop filter.

crop=w:h:x:y -- crops a video frame to w by h and offsets the frame by x:y from the top left corner. Keep in mind you must be re-encoding the video otherwise crop is meaningless. (units pixel) Crop can be used in both mencoder and mplayer...so you can test the crop values by doing

mplayer -vf crop=$cropvalues and see how the frame will look.
and of course to encode
mencoder $infile -vf crop=$cropvalues -ovc $video_codec -oac $audio_codec -of $output_formatdefaultavi -o $outfile

Step 2 Now how do we string these two items together? cropdetect and crop?
Answer: Scripting, woo.

As I am using windows and my HTPC is windows I am writing my scripts in batch but, you should easily be able to convert to perl/bash...etc.

1. Let's get the crop detected values into a text file that we can find within (this is far easier with GNU tools such as grep than Windows find. But here is the line I use

mplayer -vf cropdetect -ao null -vo null -frames 5 $infile | find "-vf crop=" > crop

This parses 5 lines of the video, and find selects only the lines with crop them to print to the text file 'crop'. Next we need to extract the crop parameter

2. Extract the detected values

FOR /F "tokens=3 delims=(=)" %%G IN ('type "crop"') DO SET crop=%%G

What this line does is, for each line in the crop file extract separate items based upon the delims ((=)) and take the third item (tokens=3) then I set that item to crop

[CROP] Crop area: X: 0..1738 Y: 0..1079 (-vf crop=1728:1072:6:4). is broken into
1=[CROP] Crop area: X: 0..1738 Y: 0..1079
2=-vf crop=
3=1728:1072:6:4

3. use the crop values in your mencoder filter string

mencoder $infile -vf crop=$cropvalues -ovc $video_codec -oac $audio_codec -of $output_formatdefaultavi -o $outfile

Let's put it together

-----
mplayer -vf cropdetect -ao null -vo null -frames 5 $infile | find "-vf crop=" > crop
FOR /F "tokens=3 delims=(=)" %%G IN ('type "crop"') DO SET crop=%%G
--mplayer is a little weird and will sometimes take over the stdout redirection. Here is my replacement way to do this
FOR /F "tokens=3 delims=(=)" %%G IN ('mplayer -vf cropdetect -ao null -vo null -frames 5 $infile') DO SET crop=%%G

mencoder $infile -vf crop=%crop% -ovc $video_codec -oac $audio_codec -of $output_formatdefaultavi -o $outfile
-----

Sunday, June 22, 2008

Best HTPC Front-end

I have been having a lot of fun lately with building my new HTPC. It is based upon my old Gaming Rig, ASUS M2N-SLI Deluxe w/ AMD Athlon XP 3500+ (64-bit) w/ 2GB RAM and a EVGA Geforce 7900. I added a Hauppauge HVR-1800 for TV tuning, it supports NTSC, ATSC, and clearQAM tuning. I put all of this into a new case, a Coolermaster CM-282 which has a built on front panel LCD and Remote Control by SoundGraph.

With the Soundgraph LCD and Remote you get the Soundgraph iMon/iMedian software, iMon provides controls for the Front Panel and Remote, iMedian is Soundgraph's HTPC front-end, and it isn't horrible...but it isn't complete and the performance is not what you would really want. My biggest issue with the iMedian software is that as I delete/add files to my Hard Drive I would need to rescan to update the database. And the scanning is beyond slow for iMedian. So I began looking for alternatives, SageTV, BeyondTV, Meedio (now Yahoo Media Center or something like that)...etc. I found a lot of these did some things better than iMedian, however, overall they were not what I wanted.

Finally I came upon a free HTPC Front End software by a guy from New Zealand, the software is named GBPVR. It not only does everything as well/better than iMedian, it also has a built in TV Tuner that is very feature rich, with built in Electronic Programming Guide (EPG). Now GBPVR still has its issues, however, the developer of the product is extremely willing to help and fix issues. I filed (well opened a support thread on) a bug with DVD Special Features and he had a test fix for me within a few weeks. The issue was that some Special Features are in 4:3 frames and the software was not getting that data and rebuilding the frame, so the video was being stretched. Anways, he fixed that very quickly and he seemed eager to improve his product. For this I gave him $10 USD. As a retail product I would have to pay far more for this but, it is just a donation. Also, remember my main complaint from iMedian, having to rescan all the time, well GBPVR seems to not use a static db but, rather reads the current directory structure. So no phantom files or missing files.

If you, like me, are looking for a good HTPC front-end, I would highly recommend you look at GBPVR.

Sunday, November 11, 2007

Keith Lorentzen Memorial Slideshow

Hello Everyone,

Many people wanted a copy of this, so here it is. Please head on over to http://lorentzen.x10hosting.com site no longer operational to get a copy of it, either the Powerpoint Slideshow or Powerpoint both are the same size(5.6 MB).

Wednesday, November 07, 2007

Update for the regular listeners

If you know me personally you may have already heard about my brother's death. Keith Wendell Lorentzen died on Sunday (11/4/07). The remaining Lorentzen Family is in Connecticut now preparing for the funeral...etc.


You can get more information at worldkarting.com (http://www.worldkarting.com/pg/news/2007-11/KeithLorentzen.html)

I thank everyone for their outpouring of support.

Tuesday, October 02, 2007

Good Morning

Source image http://www.helsinki.fi/~vvnurmi/photos/sunrise.jpg

Well, didn't get up until 0720 this morning...was deep in contemplative sleep or just being lazy, take your pick :). Just wanted to welcome the day with a nice sunrise, and remember "You've got to make your own type of music, play your own special song" Mama Cass - Make Your Own Kind Of Music :). Have a good day everyone.

Saturday, June 30, 2007

The Rensselaer Magizine recognizes Stickymap.com

The recent issue of the Rensselaer Magazine (Spring 2007) speaks of my activities with the website http://www.stickymap.com.

And I quote:
"Craig Lorentzen has been part of a team of three that developed Stickymap.com, an interactive Web site that lets users annotate maps of neighborhoods throughout the country."

This has been an interesting project which I worked with Max Sklar and Daniel Wiznia (Yale Grads 2006) to get it off the ground. At this point I play a far reduced part in the project. Max has become a budding Website developer he has spent tons of time learning AJAX, CSS, HTML...etc. And Dan is providing direction and business like activities.

Please check out the site and the development blog http://blog.stickymap.com/.

Wednesday, October 04, 2006

Tiumphant Return

I hope to be updating you, my readers, more often.

Anyways as those who know me outside the web should know. I am working at Cisco Systems in RTP North Carolina. Stickmaps Marker

I have an apartment but I spend far more time at work than in the apartment, I know "welcome to the real world." Anyways, I am having fun with friends at work and outside of work. Been doing a good amount of Mountain Biking. http://www.trianglemtb.com/

I need to get a new bike unfortunately, I taco-ed the rear tire recently.
The look of a taco-ed tire.

Sunday, April 23, 2006

Arguably the best weekend ever

This weekend was great. I spent Friday night in Woodstock NY at the Woodstock Lodge just hanging at a Joey Eppard jam session. I was completely and utterly at peace with myself. It is wonderful just to forget all your worries and hang.

Got home around 4AM and hit the sack to sleep like a log until 2PM Saturday. Got down to work started and completed my final paper for Philosophy of Law class. Then went and enjoyed a night of musical expression performed by my roommate’s band…Tryptich. I think everyone enjoyed the show.

Finally a relaxing Sunday to top of the best weekend I have ever had here at RPI.

Thursday, March 30, 2006

How to fold a Shirt

The Japanese Way.


Pretty cool, seems to be easier than normal folding after a couple tries.

Rant

Why would you open a new product when the same exact thing is already open, and perfectly good?!?!?!?!??