Try a program like JACK, or possibly Virtual Audio Cable.
JACK works like a recording studio patch bay, allowing you to take audio input from one source or program and reroute it through other programs for processing before getting to audio hardware.
For your usage, you'd use JACK to route audio through some type of compressor plugin (VST or similar), that won't alter the volume of sounds over a certain threshold but will boost volumes of low-volume sounds.
I've never tried Virtual Audio Cable, but saw it recommended on another question and it sounds like it does basically the same thing as JACK.
Overlay is not the same as hardware decode.
There are two parts here:
- Video decode
- Video rendering
Video decode is the actual decoding of the encoded bitstream like H.264 using a video codec. This is the process of converting the encoded content into actual picture frames that makes up the video.
This can either be done in software (CPU) or be hardware accelerated on the GPU (using specialized hardware and registers optimized for such computation instead of generic purpose computation like the CPU).
DXVA is the Direct-X interface that a video card manufacturer exposes in their video drivers that applications can make use of. VLC 2.0 onwards supports DXVA decoding.
Video rendering is where Overlay comes in. Note that this is different from the actual decode process. This is the part of actually displaying the picture frames on the screen. It might sound simple, but there is more to it than one might think. Normally, windows handles placing content on the screen since the OS is aware of what other content needs to be placed on the screen (What window overlaps which other window. Decisions need to be made about what part of what window to draw and what to hide)
The 'Overlay' setting tells the video player to dump the pictures frames directly into the memory of the video card.
I usually get around 20% cpu usage when playing h264 video which seems a bit high
You can't tell with CPU usage alone. There are various levels of hardware acceleration that hardware can support (MoComp, IDCT, VLD etc.) - so it is not just a yes/no answer. Your CPU usage is dependent on how much acceleration is available and the details of the content.
If your player only uses decode acceleration, the CPU still does the work of resizing, scaling etc. (If you have a 480p video and make it full-screen on a 1080p screen, the video must be scaled up to fill the entire screen - this processing happens on the CPU unless otherwise specified)
So the final answer to your question: With VLC, there is no guarantee of hardware acceleration. Monitoring CPU usage alone cannot give you the answer.
Best Answer
I believe the only thing that will happen when you raise the volume above 100% is that you will get clipped, distorted audio.
You should not be able to hurt your speakers unless you are using an amplifier that is rated above what the speakers are. So if you use a 100W stereo with speakers rated 20W, you can blow them.
In a laptop, the internal amplifier has been selected by the manufacturer and should always work with those speakers which are also manufacturer selected. I can see some really cheap or low quality laptops possibly being susceptible to defects here, but it's pretty unlikely.
Sound cards don't contain amplifiers - that's why you have use powered speakers with them. On a laptop, they've included "powered speakers" for you, so to speak. So I don't think there's a way for an application program to increase the wattage the internal amplifier draws and then cause your speakers to break.
Although come to think of it, they do have "pre-amps" to bring things to "line level..." but I'd have to defer to an audio expert on that ...