cisco/openh264 — pull request #1412 by daniel-j-h (2014-10-14 22:24:21+00:00)
Title: Clang's -Weverything and Static Analyzer's reports

Cleaning up a few warnings found by Clang's -Weverything.
Also undefined behavior from a new[]/delete[] mismatsch.

This all was found by clang (version 3.5.0) with -Weverything.
The undefined behavior by LLVM's Static Analyzer.

Please review further: [codec/decoder/core/src/mv_pred.cpp](https://github.com/cisco/openh264/blob/3ad4d9070ef0cf73f220e0ea17df7e3bcae84ae1/codec/decoder/core/src/mv_pred.cpp#L51). This line only defined the last variable to be zero. The following variables may thus be uninitialized (-Wconditional-uninitialized):

* line: 99, column: 64, "variable 'iLeftXy' may be uninitialized when used here"
* line: 100, column: 62, "variable 'iTopXy' may be uninitialized when used here",
* line: 102, column: 40, "variable 'iLeftTopXy' may be uninitialized when used here",

Then see: [codec/encoder/core/src/encoder_ext.cpp](https://github.com/cisco/openh264/blob/3ad4d9070ef0cf73f220e0ea17df7e3bcae84ae1/codec/encoder/core/src/encoder_ext.cpp#L2195). Found by -Wtautological-pointer-compare:

* line: 2195, column: 36, "comparison of array '(*ppCtx)->pSliceThreading->pExitEncodeEvent' not equal to a null pointer is always true"

There are various other warnings neither listed here nor fixed in the pull request.
The Static Analyzer also reports a few null pointer derefs, uninitialized values and a division by zero.

Please review this and incorporate Clang and the Static Analyzer (or similar tools) into your toolchain.

Thanks,
Daniel