mjpegdec: use the AVFrame API properly.
p*menc: use the AVFrame API properly.
mxpegdec: use the AVFrame API properly.
pthread_frame: use the AVFrame API properly.

Remove the extended_data workaround, all decoders should now handle this
properly.
lavc: remove the extended_data workarounds.

All decoders should now handle it properly.
lavc: use buf[0] instead of data[0] as the indicator of an allocated frame

data[0] may be NULL for valid frames with hwaccel pixel formats.
lavc: remove a pointless check in decode_audio4()

av_frame_unref() works fine on unallocated frames.
lavc/decode_video(): always unref the frame if there is no output in decode_video

Not just on failure. This is the same thing that is done in the audio
path and should prevent leaks in decoders that allocate a frame, but
then end up not writing into it.
frame: copy flags in av_frame_copy_props()

Flags can be considered metadata (at least those that are defined now).
frame: cosmetics, reindent
lavc: rework handling of refcounted_frames=0

Use only proper AVFrame API (no assigning of whole frames, since that
hardcodes sizeof(AVFrame) into lavc).

Make a copy of the side data, so the caller can use av_frame_unref/free
on non-refcounted frames, eliminating the need for
avcodec_get_frame_defaults()/avcodec_free_frame().
ac3dec: make drc_scale exponentially

The a52 spec suggests that "partial compression" should scale the
drc value in this manner.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
dv: use AVFrame API properly
avcodec: Use av_reallocp where suitable

Signed-off-by: Martin Storsjö <martin@martin.st>
configure: detect Solaris libc

Add preprocessor flags for API availability as necessary.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Merge commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5'

* commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5':
  mjpegdec: use the AVFrame API properly.

Conflicts:
	libavcodec/mjpegdec.c

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

* commit 'afa21a12bf084f905187615706b0a8d92bc98661':
  p*menc: use the AVFrame API properly.

Conflicts:
	libavcodec/Makefile
	libavcodec/pamenc.c
	libavcodec/pnmenc.c

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

* commit 'b605b123ef1d3bac0e7c221d8d7fa74cd8c7253c':
  mxpegdec: use the AVFrame API properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Revert: flvenc: Don't pretend to support muxing "plain" VP6

Muxing VP6 is used by applications and works with Flashplayer.

Reported-by: David Bertrand
Merge commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac'

* commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac':
  pthread_frame: use the AVFrame API properly.

Conflicts:
	libavcodec/pthread_frame.c

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