As discussed during the sprint, there was little value in introducing
a whole new struct to access fields which are of little to no use. In
particular, coded_frame.pict_type and coded_frame.error serve no practical
purpose, as the former can be just expressed with avpacket.flags and the
latter reports no useful (or at least way too specific for the library
scope) information.
So we decided to preserve only the quality field that is exported only
by a few encoders, and to make it accessible with a simpler AVPacketSideData.
The structure is similar to the previous set, first I make sure that
coded_frame is not misused (eg. behaviour depending on values written to it)
or entangled in strange ways by a couple of encodersl then I group all
allocations and frees for simplicity and finally proceed to introduce the
new side data and deprecate coded_frame.
Cheers,
Vittorio
Vittorio Giovara (15):
mpegvideo_enc: Drop unnneded initialization
roqvideoenc: Drop unneeded initialization
a64multienc: Do not entangle coded_frame
proresenc: Do not entangle coded_frame
svq1enc: Do not entangle coded_frame
libxvid: Do not entangle coded_frame
libvpxenc: Do not entangle coded_frame
libtheoraenc: Keep coded_frame.key_frame a write-only variable
ffv1enc: Keep coded_frame.key_frame a write-only variable
ffv1enc: Use input frame to set SAR and interlacing
qtrleenc: Keep coded_frame.key_frame a write-only variable
flashsvenc: Keep coded_frame.key_frame a write-only variable
Gather all coded_frame allocations and free functions to a single
place
Add a quality factor packet side data
Deprecate avctx.coded_frame
avconv.c | 32 ++++++++++++++++++++++++---
avconv.h | 3 +++
doc/APIchanges | 3 +++
libavcodec/a64multienc.c | 20 ++++++-----------
libavcodec/alacenc.c | 7 ------
libavcodec/aliaspixenc.c | 20 ++++-------------
libavcodec/asvenc.c | 22 +++++-------------
libavcodec/avcodec.h | 13 ++++++++++-
libavcodec/bmpenc.c | 15 ++++---------
libavcodec/cljrenc.c | 21 ++++--------------
libavcodec/dnxhdenc.c | 25 +++++++++++++++------
libavcodec/dpxenc.c | 15 ++++---------
libavcodec/dvenc.c | 15 ++++---------
libavcodec/ffv1.h | 1 +
libavcodec/ffv1enc.c | 32 +++++++++++++++------------
libavcodec/flashsvenc.c | 18 +++++++--------
libavcodec/gif.c | 10 ++++-----
libavcodec/huffyuvenc.c | 9 ++++----
libavcodec/jpeglsenc.c | 15 ++++---------
libavcodec/lclenc.c | 10 ++++-----
libavcodec/libopencore-amr.c | 1 -
libavcodec/libopenjpegenc.c | 8 -------
libavcodec/libschroedingerenc.c | 14 +++++-------
libavcodec/libspeexenc.c | 4 ++--
libavcodec/libtheoraenc.c | 12 +++++-----
libavcodec/libvpxenc.c | 49 +++++++++++++++++++++++------------------
libavcodec/libx264.c | 25 ++++++++++++++-------
libavcodec/libx265.c | 12 ++++------
libavcodec/libxavs.c | 28 ++++++++++++++++++-----
libavcodec/libxvid.c | 40 ++++++++++++++++++++++-----------
libavcodec/ljpegenc.c | 9 ++++----
libavcodec/mpegvideo_enc.c | 16 ++++++++++----
libavcodec/nvenc.c | 10 ++++-----
libavcodec/pamenc.c | 15 ++++---------
libavcodec/pcm.c | 11 ---------
libavcodec/pcxenc.c | 15 ++++---------
libavcodec/pngenc.c | 15 ++++---------
libavcodec/pnmenc.c | 18 ++++-----------
libavcodec/proresenc.c | 24 ++++++++++----------
libavcodec/pthread_frame.c | 4 ++++
libavcodec/qsvenc.c | 10 ++++-----
libavcodec/qtrleenc.c | 34 ++++++++++++++--------------
libavcodec/rawenc.c | 15 ++++---------
libavcodec/roqvideoenc.c | 2 --
libavcodec/sgienc.c | 15 ++++---------
libavcodec/sunrastenc.c | 15 ++++---------
libavcodec/svq1enc.c | 46 +++++++++++++++++++++++---------------
libavcodec/svq1enc.h | 4 ++++
libavcodec/targaenc.c | 15 ++++---------
libavcodec/tiffenc.c | 15 ++++---------
libavcodec/utils.c | 24 ++++++++++++++++++--
libavcodec/utvideoenc.c | 13 ++++-------
libavcodec/v210enc.c | 16 ++++----------
libavcodec/v410enc.c | 19 ++++------------
libavcodec/version.h | 7 ++++--
libavcodec/xbmenc.c | 15 ++++---------
libavcodec/xwdenc.c | 22 ++++--------------
libavcodec/zmbvenc.c | 12 ++++------
libavdevice/v4l2.c | 8 +++++++
libavformat/dump.c | 3 +++
60 files changed, 441 insertions(+), 505 deletions(-)
--
1.9.5 (Apple Git-50.3)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel