lavc: Deprecate AVPicture structure and related functions
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 14 Oct 2015 09:33:28 +0000 (11:33 +0200)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Thu, 22 Oct 2015 11:32:15 +0000 (13:32 +0200)
commitdca23ffbc7568c9af5c5fbaa86e6a0761ecae50c
treeaf7dc53eee966b592c4d01c17675b51e4d293dc2
parent3ee2c60cc296eee3f63d7b5fee9b4332eeeac9fa
lavc: Deprecate AVPicture structure and related functions

This structure served as a bridge between data pointers and frames,
but it suffers from several limitations:
- it is not refcounted and data must be copied to every time
- it cannot be expanded without ABI break due to being used on the stack
- its functions are just wrappers to imgutils which add a layer of
  unneeded indirection, and maintenance burden
- it allows hacks like embedding uncompressed data in packets
- its use is often confusing to our users

AVFrame provides a much better API, and, if a full blown frame is not
needed, it is just as simple and more straightfoward to use data and
linesize arrays directly.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavcodec/avcodec.h
libavcodec/avpicture.c
libavcodec/imgconvert.c