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
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel