Hello,
    this set of patches is an effort to untangle h264 from the mpegvideo
    monstrosity. It proceeds in the following way: first it removes an unneeded
    call using Picture in svq3, then introduces ERPicture which is the only
    Context using Picture in h264, and finally it creates H264Picture (which
    is actually most of Picture itself) and repaces it in h264 and all
    hwaccel-h264 related modules.

    One last cleanup is the removal of MotionEstContext from h264 and then
    mpegvideo is split in two modules for the MB_TYPE_/IS_ macros and for
    the PICT_ and DELAYED_PIC_ macros. Finally the patch set cleans up most
    of Picture itself (removing like +10 integers!) and removes mpegvideo.h
    from h264.

    Oracle has been an invaluable asset for testing this set across platforms,
    and it is now all green.

Cheers,
    Vittorio

Vittorio Giovara (10):
  svq3: remove unused ff_draw_horiz_band code
  er: move relevant fields from Picture to ERPicture
  h264: move relevant fields from Picture to H264Picture
  h264: use private H264_MAX_PICTURE_COUNT
  h264: use private H264_MAX_THREADS
  h264: remove MotionEstContext and save relevant fields
  mpegvideo: move PICT_* macros into picttype.h
  mpegvideo: move MB_TYPE_* and IS_* macros to mbtype.h
  mpegvideo: remove h264-only fields
  h264 does not depend on mpegvideo anymore

 libavcodec/dxva2_h264.c       |  11 ++--
 libavcodec/dxva2_mpeg2.c      |   1 +
 libavcodec/dxva2_vc1.c        |   1 +
 libavcodec/error_resilience.c |   7 ++-
 libavcodec/error_resilience.h |  21 ++++++-
 libavcodec/h261dec.c          |   1 +
 libavcodec/h261enc.c          |   1 +
 libavcodec/h263.c             |   1 +
 libavcodec/h264.c             | 127 ++++++++++++++++++++++++++----------------
 libavcodec/h264.h             |  73 ++++++++++++++++++++----
 libavcodec/h264_cavlc.c       |   1 -
 libavcodec/h264_direct.c      |   9 ++-
 libavcodec/h264_loopfilter.c  |   1 -
 libavcodec/h264_mb_template.c |  12 ++--
 libavcodec/h264_ps.c          |   2 +-
 libavcodec/h264_refs.c        |  52 ++++++++---------
 libavcodec/h264data.h         |   1 -
 libavcodec/ituh263dec.c       |   1 +
 libavcodec/mbtype.h           |  75 +++++++++++++++++++++++++
 libavcodec/motion_est.c       |   1 +
 libavcodec/mpeg12dec.c        |   2 +
 libavcodec/mpeg4video.c       |   1 +
 libavcodec/mpeg4videodec.c    |   1 +
 libavcodec/mpegvideo.c        |  37 +++++++++++-
 libavcodec/mpegvideo.h        |  79 ++------------------------
 libavcodec/mpegvideo_enc.c    |   1 +
 libavcodec/mpegvideo_motion.c |   2 +
 libavcodec/mpegvideo_xvmc.c   |   1 +
 libavcodec/msmpeg4dec.c       |   1 +
 libavcodec/picttype.h         |  35 ++++++++++++
 libavcodec/rv30.c             |   1 +
 libavcodec/rv34.c             |   1 +
 libavcodec/rv40.c             |   1 +
 libavcodec/svq1enc.c          |   1 +
 libavcodec/svq3.c             |  21 +++----
 libavcodec/vaapi_h264.c       |  11 ++--
 libavcodec/vaapi_mpeg2.c      |   1 +
 libavcodec/vc1dec.c           |   1 +
 libavcodec/vdpau_h264.c       |  13 +++--
 libavcodec/wmv2dec.c          |   1 +
 40 files changed, 396 insertions(+), 215 deletions(-)
 create mode 100644 libavcodec/mbtype.h
 create mode 100644 libavcodec/picttype.h

-- 
1.8.3.4 (Apple Git-47)

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to