vf_yadif: factorize initializing the filtering callbacks

Do it all in config_props().
vf_yadif: fix out-of line reads

Some changes in the border pixels, visually indistinguishable.
get_buffer(): do not initialize the data.

There may be more decoders that rely on this. Those should be found and
fixed.
h264: simplify calls to ff_er_add_slice().

partitioned_frame is never set for h264 (as easily seen from git grep).
h264: remove a pointless if()

!encoding is always true, we do not have a H.264 encoder
svq3: remove a pointless if()

The H264 context is always uninitialized at this point.
error_resilience: decouple ER from MpegEncContext
mpegvideo: split ff_draw_horiz_band().

Split out dependency on MpegEncContext.
h264: deMpegEncContextize

Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.

The nontrivial parts are:
1) extracting a simplified version of the frame management code from
   mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
   its own more complex system already and those were set only to appease
   the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
   for dxva, the draw_horiz_band() call is moved from
   ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
   because it's now different for h264 and MpegEncContext-based
   decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
   added some very simplistic frame management instead and dropped the
   use of ff_h264_frame_start(). Because of this I also had to move some
   initialization code to svq3.

Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Merge commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13'

* commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13':
  vf_yadif: factorize initializing the filtering callbacks

Conflicts:
	libavfilter/vf_yadif.c

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

* commit '64ed397635ef2666b0ca0c8d8c60a8bc44581d82':
  vf_yadif: fix out-of line reads

Conflicts:
	libavfilter/vf_yadif.c
	tests/ref/fate/filter-yadif-mode0
	tests/ref/fate/filter-yadif-mode1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
mpegvideo_enc: draw edges on input

Improves Motion estimation, avoids using out of picture areas for %16 != 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavfi: port MP noise filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
avcodec: add avpriv_color_frame()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
h264: color frames gray

This prevents a regression from the removial of the buffer
initialization

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

* commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793':
  get_buffer(): do not initialize the data.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
yadif: remove unused variable

Found by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
cinepack: print an error if cinepak_decode() failed

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

* commit '68f930d2188aba5b32624887dcbf688c23482834':
  h264: simplify calls to ff_er_add_slice().

Conflicts:
	libavcodec/h264.c

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

* commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc':
  svq3: remove a pointless if()
  h264: remove a pointless if()

Conflicts:
	libavcodec/h264.c
	libavcodec/svq3.c

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