Antes que o HD existisse, as CPUs podiam lidar com decodificação de vídeo facilmente. Quando o HD se tornou popular há cerca de 8 anos, os fabricantes de GPU começaram a implementar a decodificação acelerada de vídeo em seus chips. Você pode encontrar facilmente placas gráficas comercializadas como suportando vídeos em HD e outros slogans. Hoje, qualquer GPU suporta vídeo acelerado, até GPUs integradas, como Intel HD Graphics ou seus antecessores, Intel GMA. Sem essa adição, sua CPU teria dificuldade em digerir vídeo 1080p com taxa de quadros aceitável, sem mencionar o aumento do consumo de energia. Então você já está usando vídeo acelerado todos os dias.
Agora, quando as GPUs têm um poder computacional de uso cada vez mais geral, elas também são amplamente usadas para acelerar o processamento de vídeo. Essa tendência começou na mesma época em que a decodificação acelerada foi introduzida. Programas como o Badaboom começaram a ganhar popularidade, pois as GPUs são muito melhores em (re) codificar vídeo do que as CPUs. Porém, isso não podia ser feito antes, porque as GPUs careciam de habilidades computacionais genéricas.
Mas as GPUs já podiam escalar, girar e transformar imagens desde a idade média, então por que não conseguimos usar esses recursos para o processamento de vídeo? Bem, esses recursos nunca foram implementados para serem usados dessa maneira; portanto, foram abaixo do ideal por vários motivos.
Ao programar um jogo, você primeiro carrega todos os gráficos, efeitos etc. na GPU e, em seguida, apenas renderiza polígonos e mapeia objetos apropriados para eles. Você não precisa enviar texturas sempre que necessário, pode carregá-las e reutilizá-las. Quando se trata de processamento de vídeo, é necessário alimentar constantemente os quadros na GPU, processá-los e buscá-los de volta para recodificá-los na CPU (lembre-se, estamos falando de tempos pré-computacionais da GPU). Não era assim que as GPUs deveriam funcionar, então o desempenho não era ótimo.
Outra coisa é que as GPUs não são orientadas para a qualidade quando se trata de transformações de imagem. Quando você está jogando um jogo a mais de 40 qps, não notará realmente pequenas deturpações de pixel. Mesmo que você queira, os gráficos do jogo não foram detalhados o suficiente para as pessoas se importarem. Existem vários truques e truques usados para acelerar a renderização que podem afetar um pouco a qualidade. Os vídeos também são reproduzidos em taxas de quadros bastante altas, portanto é aceitável dimensioná-los dinamicamente na reprodução, mas a reencodificação ou renderização deve produzir resultados perfeitos em pixels ou pelo menos o mais próximo possível a um custo razoável. Você não pode conseguir isso sem os recursos adequados implementados diretamente na GPU.
Atualmente, o uso de GPUs para processar vídeos é bastante comum, porque exigimos tecnologia. Por que não é a opção padrão, é uma questão para o editor do programa, não para nós - é a escolha deles. Talvez eles acreditem que seus clientes tenham hardware orientado para processar vídeos na CPU, portanto, mudar para GPU afetará negativamente o desempenho, mas esse é apenas o meu palpite. Outra possibilidade é que eles ainda tratem a renderização da GPU como recurso experimental que não é estável o suficiente para defini-la como padrão ainda. Você não quer perder horas renderizando seu vídeo apenas para perceber que algo está errado devido ao erro de renderização da GPU. Se você decidir usá-lo de qualquer maneira, não poderá culpar o editor do software - a decisão foi sua.