lavc: Add an internal wrapper around get_format()

It will be useful in the following commits.
lavc: set AVCodecContext.hwaccel in ff_get_format()

This way each decoder does not have to do the same thing manually.
lavc: document which parts of AVHWAccel are private.
hwaccel: Rename priv_data_size to frame_priv_data_size

This describes more accurately what this field is for.
hwaccel: Support specific frame allocators

It would reduce the boilerplate code users have to write.
lavc: Add hwaccel private data and init/uninit callbacks
lavu: Add a pixel format for new VDA hwaccel

The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.
vda: use hwaccel private data for internal bitstream buffer
lavc: Add new VDA hwaccel

It leverages the new hwaccel 1.2 features:

- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
avconv: Support VDA hwaccel

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'

* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425':
  lavc: Add an internal wrapper around get_format()

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/mpeg12dec.c

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

* commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f':
  lavc: set AVCodecContext.hwaccel in ff_get_format()

Conflicts:
	libavcodec/mpeg12dec.c

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

* commit '08bb2567586599d62a282c4cd31567a0807f3d92':
  lavc: document which parts of AVHWAccel are private.

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

* commit 'a871ef0cc936612bdb0e643196be72efcf0c8986':
  hwaccel: Rename priv_data_size to frame_priv_data_size

Conflicts:
	libavcodec/avcodec.h

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

* commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436':
  hwaccel: Support specific frame allocators

Conflicts:
	libavcodec/utils.c

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

* commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8':
  lavc: Add hwaccel private data and init/uninit callbacks

Conflicts:
	libavcodec/avcodec.h
	libavcodec/internal.h
	libavcodec/pthread_frame.c

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

* commit '66e6c8a7b4e3ac926302529606bd3e323c28b20f':
  lavu: Add a pixel format for new VDA hwaccel

Conflicts:
	doc/APIchanges
	libavutil/pixfmt.h
	libavutil/version.h

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

* commit '31a46750c7eafe6bce6a3e4f09853cd0a585292b':
  vda: use hwaccel private data for internal bitstream buffer

Conflicts:
	libavcodec/vda.h
	libavcodec/vda_h264.c

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

* commit '67afcefb35932b420998f6f3fda46c7c85848a3f':
  lavc: Add new VDA hwaccel

Conflicts:
	configure
	libavcodec/vda.h
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/vda_h264: fix null pointer dereference

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