Greetings, I'd like to introduce a new bitstream reader I wrote. The advantages of the new bitreader are: * it is easier to use: for example there is just one function to read 0-32 bits instead of 3 of them in the get_bits.h * it is more consistent and easier to follow (macros are not needed anymore) * it is better documented * it is faster for some decoders (no speed loss when not faster) * it could be made a public header.
This work has been sponsored by Luminem.it and it follows the ideas suggested by Niels Möller in his email from the time when he was working on DCA XLL extention (https://www.mail-archive.com/libav-devel%40libav.org/msg57746.html). This patchset does some preparation, adds the new bitreader and converts a few decoders to use it. The following patchets will subsequently convert all remaning decoders and demuxers that uses get_bits.h to the new bitreader and original get_bits.h will be removed in the end of the last patchset. Alexandra Hájková (12): remove unnecessary get_bits.h and add missing headers where needed attributes: add av_unlikely macro move VLC and RL_VLC_ELEM structures definition from get_bits.h add the new bitstream reader cllc: convert to the new bitstream reader rl: use vlc.h directly instead of including get_bits.h bitstream.c: use vlc.h header instead of get_bits.h huffman: include vlc.h instead of get_bits.h eamad: convert to the new bitstream reader dnxhd: convert to the new bitstream reader mdec, eatqi, mpeg12: convert to the new bitstream reader mpeg12dec: convert to the new bitstream reader libavcodec/adpcmenc.c | 1 - libavcodec/bitstream.c | 2 +- libavcodec/bitstream.h | 475 +++++++++++++++++++++++++++++++++++++++++++ libavcodec/cabac.c | 1 - libavcodec/cllc.c | 63 +++--- libavcodec/dnxhddec.c | 39 ++-- libavcodec/eamad.c | 42 ++-- libavcodec/eatqi.c | 8 +- libavcodec/ffv1enc.c | 1 - libavcodec/get_bits.h | 42 +--- libavcodec/huffman.c | 4 +- libavcodec/huffman.h | 2 +- libavcodec/iff.c | 1 - libavcodec/mdec.c | 32 ++- libavcodec/mpeg12.c | 28 +-- libavcodec/mpeg12.h | 11 +- libavcodec/mpeg12dec.c | 414 +++++++++++++++++-------------------- libavcodec/mpeg12vlc.h | 2 +- libavcodec/mpegvideo.h | 3 + libavcodec/rl.c | 1 + libavcodec/rl.h | 2 +- libavcodec/vlc.h | 62 ++++++ libavcodec/yop.c | 4 +- libavformat/mpc.c | 1 - libavformat/oggparseogm.c | 1 - libavformat/oggparsespeex.c | 1 - libavformat/oggparsevorbis.c | 1 - libavformat/tta.c | 2 +- libavutil/attributes.h | 6 + 29 files changed, 835 insertions(+), 417 deletions(-) create mode 100644 libavcodec/bitstream.h create mode 100644 libavcodec/vlc.h -- 2.1.4 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
