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

Reply via email to