Overlay não é o mesmo que decodificação de hardware.
Existem duas partes aqui:
- decodificação de vídeo
- Gravação de vídeo
A decodificação de vídeo é a decodificação real do fluxo de bits codificado, como o H.264, usando um codec de vídeo. Este é o processo de converter o conteúdo codificado em quadros de imagem reais que compõem o vídeo.
Isso pode ser feito em software (CPU) ou acelerado por hardware na GPU (usando hardware especializado e registradores otimizados para tal computação, em vez de computação de propósito genérico, como a CPU). DXVA é a interface Direct-X que um fabricante de placa de vídeo expõe em seus drivers de vídeo que os aplicativos podem usar. O VLC 2.0 em diante suporta a decodificação DXVA .
A renderização de vídeo é onde o Overlay entra. Observe que isso é diferente do processo de decodificação real. Esta é a parte de realmente exibir os quadros de imagem na tela. Pode parecer simples, mas há mais do que se poderia pensar. Normalmente, o Windows manipula a colocação de conteúdo na tela, uma vez que o SO está ciente de que outro conteúdo precisa ser colocado na tela (que janela se sobrepõe a outra janela. Decisões precisam ser feitas sobre qual parte da janela desenhar e o que ocultar ) A configuração 'Overlay' diz ao player de vídeo para despejar os quadros de imagens diretamente na memória da placa de vídeo.
I usually get around 20% cpu usage when playing h264 video which seems a bit high
Você não pode dizer apenas com o uso da CPU. Existem vários níveis de aceleração de hardware que o hardware pode suportar (MoComp, IDCT, VLD etc.) - portanto, não é apenas uma resposta sim / não. Seu uso da CPU depende de quanta aceleração está disponível e dos detalhes do conteúdo.
Se o seu aparelho usa apenas aceleração de decodificação, a CPU ainda faz o trabalho de redimensionamento, dimensionamento, etc. (Se você tiver um vídeo de 480p e torná-lo tela cheia em uma tela de 1080p, o vídeo deve ser dimensionado para preencher o tela inteira - este processamento acontece na CPU, a menos que especificado de outra forma)
Portanto, a resposta final à sua pergunta: com o VLC, não há garantia de aceleração de hardware. Monitorar o uso da CPU sozinho não pode lhe dar a resposta.