avcodec: add Newtek SpeedHQ decoder
authorSteinar H. Gunderson <steinar+ffmpeg@gunderson.no>
Sun, 8 Jan 2017 11:07:09 +0000 (12:07 +0100)
committerPaul B Mahol <onemda@gmail.com>
Wed, 11 Jan 2017 15:02:10 +0000 (16:02 +0100)
commit2a293ec7ac72723b5f07aa804bb981ce1de35b82
tree03280e07e6e6eb483974a55384adafc458c62dff
parenteaff1aa09e90e2711207c9463db8bf8e8dec8178
avcodec: add Newtek SpeedHQ decoder

This decoder can decode all existing SpeedHQ formats (SHQ0–5, 7, and 9),
including correct decoding of the alpha channel.

1080p is decoded in 142 fps on one core of my i7-4600U (2.1 GHz Haswell),
about evenly split between bitstream reader and IDCT. There is currently
no attempt at slice or frame threading, even though the format trivially
supports both.

NewTek very helpfully provided a full set of SHQ samples, as well as
source code for an SHQ2 encoder (not included) and assistance with
understanding some details of the format.
12 files changed:
Changelog
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/get_bits.h
libavcodec/mpeg12.c
libavcodec/mpeg12.h
libavcodec/speedhq.c [new file with mode: 0644]
libavcodec/version.h
libavcodec/vlc.h
libavformat/riff.c