Como usar o VideoToolbox para descompactar o fluxo de vídeo H.264

Eu tive muitos problemas para descobrir como usar a estrutura de vídeo acelerada por hardware da Apple para descomprimir um fluxo de vídeo H.264. Depois de algumas semanas, eu descobri e queria compartilhar um exemplo extenso, pois não conseguia encontrar um.

Meu objetivo é dar um exemplo completo e instrutivo da Video Toolbox introduzida noWWDC '14 sessão 513. Meu código não será compilado ou executado, pois precisa ser integrado a um fluxo H.264 elementar (como um vídeo lido de um arquivo ou transmitido online, etc.) e precisa ser aprimorado, dependendo do caso específico.

Devo mencionar que tenho muito pouca experiência com decodificação / vídeo, exceto o que aprendi enquanto pesquisava no assunto. Como não conheço todos os detalhes sobre formatos de vídeo, estrutura de parâmetros etc., incluí apenas o que acho que você precisa saber.

Estou usando o XCode 6.2 e implantado em dispositivos iOS que executam o iOS 8.1 e 8.2.

questionAnswers(5)

yourAnswerToTheQuestion