Gather all coded_frame allocations and free functions to a single place
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 15 Jul 2015 17:41:20 +0000 (18:41 +0100)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Mon, 20 Jul 2015 13:16:15 +0000 (14:16 +0100)
commitd6604b29ef544793479d7fb4e05ef6622bb3e534
tree37d5559063e276f17da8036e4c08bb8aa4b05534
parent91f9b6579ac684c4b51c4cd0dbaed0a4f8295edf
Gather all coded_frame allocations and free functions to a single place

Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().

This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
49 files changed:
libavcodec/a64multienc.c
libavcodec/alacenc.c
libavcodec/aliaspixenc.c
libavcodec/asvenc.c
libavcodec/bmpenc.c
libavcodec/cljrenc.c
libavcodec/dnxhdenc.c
libavcodec/dpxenc.c
libavcodec/dvenc.c
libavcodec/ffv1enc.c
libavcodec/flashsvenc.c
libavcodec/gif.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/lclenc.c
libavcodec/libopencore-amr.c
libavcodec/libopenjpegenc.c
libavcodec/libschroedingerenc.c
libavcodec/libspeexenc.c
libavcodec/libtheoraenc.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/libx265.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/ljpegenc.c
libavcodec/mpegvideo_enc.c
libavcodec/nvenc.c
libavcodec/pamenc.c
libavcodec/pcm.c
libavcodec/pcxenc.c
libavcodec/pngenc.c
libavcodec/pnmenc.c
libavcodec/proresenc.c
libavcodec/qsvenc.c
libavcodec/qtrleenc.c
libavcodec/rawenc.c
libavcodec/sgienc.c
libavcodec/sunrastenc.c
libavcodec/svq1enc.c
libavcodec/targaenc.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/v210enc.c
libavcodec/v410enc.c
libavcodec/xbmenc.c
libavcodec/xwdenc.c
libavcodec/zmbvenc.c