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