ljpegenc: deMpegEncContextize

The encoder uses almost none of the mpegvideo infrastructure, only some
fields from MpegEncContext.

The FATE results change because now an all-zero quant matrix is written
into the file. Since it is not used for anything for ljpeg, this should
not be a problem.
ljpeg: remove a commented-out line
ljpegenc: rename the encoding function.

The new name is more consistent with the rest of Libav.
ljpegenc: accept bgr24 instead of bgra

The alpha plane is not encoded.
ljpegenc: split bgr encoding into a separate function
ljpegenc: split yuv encoding into a separate function
webp: do not call av_frame_free() on the user-provided frame

Fixes double-free on error.
webp: add a special case for a huffman table with only 1 symbol

The vlc reader cannot handle 0-bit huffman codes. For most
situations WebP uses the "simple" huffman coding for this case,
but that will only handle symbols up to 255. For the LZ77 distance
codes, larger symbol values are needed, so it can happen in rare
cases that a normal huffman table is used that only has a single
symbol.
Merge commit '24abd806ea0cfb0d988d2f0044eac79cff12918c'

* commit '24abd806ea0cfb0d988d2f0044eac79cff12918c':
  ljpegenc: deMpegEncContextize

Conflicts:
	libavcodec/ljpegenc.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	tests/ref/vsynth/vsynth1-ljpeg
	tests/ref/vsynth/vsynth2-ljpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mjpegenc: fix and use lossless flag in ff_mjpeg_encode_picture_header()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '72c0b8f724a71d2784aecad0e5221e7ab6206371'

* commit '72c0b8f724a71d2784aecad0e5221e7ab6206371':
  ljpeg: remove a commented-out line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '0cdbc4d39394965bd8712395b19160da8f3fe144'

* commit '0cdbc4d39394965bd8712395b19160da8f3fe144':
  ljpegenc: rename the encoding function.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'daffed3b173c59d64907747bf3309e98a8974f4e'

* commit 'daffed3b173c59d64907747bf3309e98a8974f4e':
  ljpegenc: accept bgr24 instead of bgra

Conflicts:
	libavcodec/ljpegenc.c
	libavcodec/mjpegenc.c

Only whitespace merged, we continue to support both formats

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5'

* commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5':
  ljpegenc: split bgr encoding into a separate function

Conflicts:
	libavcodec/ljpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'b73a8922d818c7f909855557718d4c3bfacbd92d'

* commit 'b73a8922d818c7f909855557718d4c3bfacbd92d':
  ljpegenc: split yuv encoding into a separate function

Conflicts:
	libavcodec/ljpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e'

* commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e':
  webp: do not call av_frame_free() on the user-provided frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  webp: add a special case for a huffman table with only 1 symbol

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mjpegenc/ff_mjpeg_escape_FF: remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mpegvideo_enc/frame_end(): remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mjpeg/ljpegenc: factor ff_mjpeg_init_hvsample() out

This reduces the amount of duplicated code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>