Has anyone attempted to make an independent DShow environment so that one could use a DShow-based player like MPC-HC (I saw that there was work on the player, but AFAICT, it depends on the host for codecs outside of its limited built-in capabilities)? VLC and SMPlayer are fine for low-resolution videos, but I'm pretty sure neither has an AVC decoder that supports any kind of offloading to the video card (ffdshow supports DXVA, CoreAVC supports CUDA and is extremely optimized overall, etc.). Granted, it's far from guaranteed that the average user will use hosts with video cards that support such things, but it certainly puts playing high-quality, high-resolution AVC-encoded videos into the realm of possibility for some users. This would also make a portable AviSynth possible, which would be awesome for those who want it.
This is more of an idea I'm throwing out there out of curiosity rather than a request.
"but AFAICT, it depends on the host for codecs outside of its limited built-in capabilities)?"
MPC-HC is quite capable
It has most codecs built-in just like VLC and so far I haven't been able to throw anything at it it couldn't handle. That means containers like avi, mkv, ogm etc. containing video encoded with anything from H.264, Xvid, DivX to more obscure codecs. It can even be associated with QuickTime and all the codecs which might be contained within a mov container. And yes, this also means built-in DXVA support (http://mpc-hc.sourceforge.net/DXVASupport.html).
I have FFDShow installed as well for other purposes (e.g. Subtitle Workshop) and I never see the icons (FFDShow's) in the tray when running MPC-HC, so it's quite self-reliant. I also have a copy of MPC-HC on my flash drive and only problem here might be too slow flash ram and too narrow USB 2.0 bandwidth when running HD stuff like 1080p.
I've found the built-in decoder horrendous with the 1080i/p AVC videos that I have. I consider the built-in decoder a last resort. As I said, it might be just fine with lower resolution videos, but very few PCs will handle 1080i/p AVC (or VC-1 for that matter) well without offloading at least some of the work to a video card.
).
Using QuickTime relies on the host, so unless you plan to plug it into a portable QuickTime, that's not an option.
USB 2.0 will handle 1080p video just fine unless it's an insanely high bitrate (like uncompressed or losslessly compressed video). I would never expect anyone to try to play 1080i/p video from a flash drive (with any player). This would be useful for those who carry an external hard drive (a WD Passport is great as a portable hard drive
Vintage!
I rarely play anything with a bitrate higher than 3 or 4 mbps and even so I also prefer to play it off a HDD and not from a USB flash drive. But I still have never had any kind of hickup with MPC-HC, on the other hand while a like a lot about VLC it seems kinda buggy/laggy to me. E.g. when I press pause in MPC-HC it stops immediately, but VLC takes a second or so to completely come to a halt. Even so MPC (before it was MPC-HC) and VLC have been my favorite players for years and I use one or the other periodically whenever there's a new release with new "stuff" implemented which needs to be checked out.
What kind of bandwidth/bitrate are we talking about? Maybe you need new hardware (CPU/GPU)? Also the container format avi, mkv, ogm etc. seem to play a big role. Matroska (mkv) feels much more responsive to me!?
Why should the CPU do all the hard work when the GPU has dedicated hardware to do it? It's not about using antiquated hardware, it's about using the hardware you have to its fullest potential. It's a bit like towing a Ferrari with a Ford F150, why not just drive the Ferrari? I guarantee it will go faster than the F150.
I forgot that MPC-HC (the codecs?) is one of the few players with hardware support for certain video playback (at least that's what they say over at the Media-Portal forums). It's a big deal in you're in to home theater PC's and media in general. I'm not quite so hardcore but I am getting into the home theater PC arena. If so, then I can understand why I'd want to be utilizing my hardware as effectively as possible. If nothing else, the PC might run quieter because it doesn't have to work so hard.
Just some thoughts.
"Why should the CPU do all the hard work when the GPU has dedicated hardware to do it?"
Yeah, that's exactly what the thread is about! The OP wasn't sure whether MPC-HC had the capabilities to do it, but I assured him that MPC-HC not only has all the most commonly used codecs (H.264, Xvid, DivX etc.) built-in (like VLC) but also support for DXVA (http://mpc-hc.sourceforge.net/DXVASupport.html). Whenever I throw an H.264 (or AVC if you like, http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC) encoded file at MPC-HC, it promptly states "Playing [DXVA]" in the status bar. Still, if your graphics card (GPU) is getting old, as well as your machine in general (CPU), all the "offloading" in the world won't do you much good.
Nevertheless when I throw 1080p stuff at MPC-HC it rarely complains, but I have a fairly new machine (AMD Mobility Radeon HD 5730, Intel Core i5 2.27 GHz, 4 GB DDR3 RAM) and (as I said) most stuff I play have a bitrate of no more than 3 to 4 mbps. The bitrate (bits per second) is really what it's all about, the resolution (1080p, 720p etc.) is really only secondary and tells you nothing without you also knowing the actual quality (the bitrate) of the encoding . I mean you can have an 1080p (1920*1080) file but it might only have a bitrate of 1 or 2 mbps which means it will be a lot less taxing on your system than a 720p file having a bitrate of 3 or 4 mbps. Of course there's usually a connection between bitrate (quality) and resolution, but not always.
When it comes to media centers (HTPCs) MPC-HC is the exact opposite of where you wanna go as it's about as simple as it can get. MPC-HC though is ideal for portability as it's a single exe file with the possibility of saving the settings to an ini file instead of the registry. Having MediaPortal installed on my machine as well I can however tell you that MP allows for MPC-HC to be used as its player, but it's been a long time since I've fiddled around with that so I don't know how well it works or how responsive it is.
The great thing about all these players... MP, MPC-HC and VLC... is that they're all open source as well as being cool players
I'm not suggesting you use MPC-HC as your Home Theater software but you can integrate it to take advantage of the fact that it supports hardware acceleration, as you alluded to (with the likes of MediaPortal).
I'm also not suggesting that if you have a 486DX PC with the latest NVidia graphics card that has hardware acceleration you'll be able to play hi-def movies. However, if you have a mid-spec, modern PC with a that same latest Nvidia graphics card then you might get some reasonable mileage. To my mind, taking advantage of hardware whenever possible is mostly preferable.
"To my mind, taking advantage of hardware whenever possible is mostly preferable."
Agreed
Why have something if you're not gonna use it fully? That's true for all other belongings as well 
1080p at 4Mbps? Unless it's a very flat cartoon, the quality must be horrendous. Almost all of my 1080i/p stuff is at least 6.5Mbps (acceptable for a sitcom without much fast motion). I have a lot of wrestling stuff, and that requires at least 12Mbps (unless the source quality is poor, in which case, I reencode it to a higher CRF). In any case, bitrate isn't a factor since USB2.0 can handle much higher bitrates (which, as I mentioned, won't likely get hit unless you're working with lossless video). Encoding settings play a huge role too. If b-frames and CABAC aren't used, decoding requirements are much lower (at the cost of compression efficiency). Resolution is far from a secondary factor unless you have limited bandwidth or disk read speed. It takes a lot more power to render 1080i/p than 480i/p.
With MPC-HC's internal encoder, playback is impractical for me. With CoreAVC using CUDA, 1080i/p plays fine at about 20-25% CPU usage.
Containers aren't very relevant, but demuxers can be. If you're having issues with certain containers, check the demuxer used.
Vintage!
I have no idea how MPC-HC and its built-in H.264 decoder (incl. DXVA and all) would handle stuff at that bitrate (12 mbps), but I have occasionally come across stuff around 6-7 mbps and at that rate MPC-HC is still doing fine. At this time I don't think the trade-off between image quality (5 mbps and above) and storage space (size of drives and the price there of) is worth the "investment". I won't say that I won't upgrade sometime in the future but for now I'm good with the quality of H.264 encoded stuff around 3 mbps. I'm also someone who most of the time is fine with MP3 (192 kbps and above) as opposed to uncompressed stuff like wav files... in other words: I'm not a snob
With regards to USB 2.0 bandwidth you're right: It's not a factor, but the "quality" (read speed) of the flash ram might be. When I wrote it I couldn't remember the speed of USB 2.0 as I've recently gotten a device which can make use of my laptop's USB 3.0 port so USB 2.0 just seems so slow to me now when I shift back to that
Encoding definitely plays a huge role (the biggest) which was also why I wrote that resolution is secondary to BITRATE... not secondary in general. But resolution is implied in the bitrate or is a "subset of", if you like, the overall bitrate. Just like the bitrate of audio is a product of several parts (e.g. a CD quality wav file would have a bitrate being a product of channels (2), sampling frequency (44.1 KHz) and sample quality (16 bit) equaling 1,411 kbps) so is video bitrate a product of several factors like resolution, framerate and the type of frames and other encoding settings etc... somewhat more complicated than a CBR wav file
Again when mentioning containers as having a difference when playing material I simply meant that it is more or less agreed on that mkv is a superior format to e.g. avi. I didn't want to get all technical about demuxers etc. as MPC-HC is simply the continuation of Gabest's MPC (again tightly connected with FFDShow) and as such uses the same codecs, filters etc. I merely thought you weren't aware of MPC-HC's abilities (codecs, DXVA etc.) from your first post and wanted to help out. Anyway with the "horrendous" quality I'm used to it's good enough for me
As far as the decoder is concerned, the bitrate of the compressed file is almost meaningless unless your medium's read speed is too slow to handle it. Resolution (which is a huge factor at the rendering stage) and encoding settings (which are a huge factor at the decoding stage) are far more important than bitrate in this context. I think you mistakenly associate bitrate with those factors since high bitrate tends to go along with high resolution and high encoding settings. There is less power required to decode something of a lower bitrate, but it all has to do with I/O, and unless your hardware has slow read/write speeds somewhere in the chain, it's insignificant.
Vintage!
Yes, you're right, I do :o I've just read up on it a bit (pun not intended) and there's much I've forgotten and mixed-up with regards to the connection between bitrate, framerate and resolution when we're talking about vbr and lossy video compression. I come from the "old" and somewhat simpler world of audio and cbr where there's a direct connection between bitrate and its "components" (channels, sampling frequency, sample quality etc.). I've done very little video encoding myself, 'cause I've always been so baffled about encoder settings like frame types (B, I, P etc.), block size, quantizer etc. I'd really like to know more about it so if you have a link to a simple FAQ (or tutorial for an encoder like x264) explaining the most important settings and the relationship between them, I'd be very happy
I've checked out the Doom9 forums from time to time but I've never really gotten into video ripping/encoding, as everybody seems to have their own preferred apps and tools to do these things, all with individual settings and ways to do it. How does e.g. Handbrake rate in all this? I'm also curious about whether you use CoreAVC in connection with MPC-HC or you use the standalone CorePlayer?
I'm far from an expert in all this but in my humble opinion, Handbrake is utterly useless. I've never gotten it to successfully encode anything worthwhile but perhaps I just don't know what I'm doing.
I found Handbrake overly simplistic with options that don't directly correspond to x264's options. I didn't even try to encode anything.
Vintage!
Hmmm... It seems possible. MPC-HC can store all of its filter information and such in an INI file, and the paths can be adapted... I'm not seeing anything left behind in the registry from ffdshow-tryouts either. I couldn't try using CoreAVC as I'm a poor student, but if the MPC launcher did the registry entries right then there's no visible reason why it wouldn't be portable.
But there’s no sense crying over every mistake,
You just keep on trying till you run out of cake.