h264: deMpegEncContextize
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.
The nontrivial parts are:
1) extracting a simplified version of the frame management code from
mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
its own more complex system already and those were set only to appease
the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
for dxva, the draw_horiz_band() call is moved from
ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
because it's now different for h264 and MpegEncContext-based
decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
added some very simplistic frame management instead and dropped the
use of ff_h264_frame_start(). Because of this I also had to move some
initialization code to svq3.
Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>
Signed-off-by:
Anton Khirnov <anton@khirnov.net>
Showing
- libavcodec/dxva2.c 2 additions, 4 deletionslibavcodec/dxva2.c
- libavcodec/dxva2_h264.c 24 additions, 24 deletionslibavcodec/dxva2_h264.c
- libavcodec/dxva2_internal.h 1 addition, 1 deletionlibavcodec/dxva2_internal.h
- libavcodec/dxva2_mpeg2.c 8 additions, 4 deletionslibavcodec/dxva2_mpeg2.c
- libavcodec/dxva2_vc1.c 8 additions, 4 deletionslibavcodec/dxva2_vc1.c
- libavcodec/h264.c 1054 additions, 744 deletionslibavcodec/h264.c
- libavcodec/h264.h 57 additions, 13 deletionslibavcodec/h264.h
- libavcodec/h264_cabac.c 48 additions, 53 deletionslibavcodec/h264_cabac.c
- libavcodec/h264_cavlc.c 74 additions, 77 deletionslibavcodec/h264_cavlc.c
- libavcodec/h264_direct.c 34 additions, 39 deletionslibavcodec/h264_direct.c
- libavcodec/h264_loopfilter.c 29 additions, 32 deletionslibavcodec/h264_loopfilter.c
- libavcodec/h264_mb_template.c 50 additions, 52 deletionslibavcodec/h264_mb_template.c
- libavcodec/h264_mc_template.c 3 additions, 4 deletionslibavcodec/h264_mc_template.c
- libavcodec/h264_mvpred.h 46 additions, 51 deletionslibavcodec/h264_mvpred.h
- libavcodec/h264_parser.c 23 additions, 23 deletionslibavcodec/h264_parser.c
- libavcodec/h264_ps.c 130 additions, 136 deletionslibavcodec/h264_ps.c
- libavcodec/h264_refs.c 64 additions, 74 deletionslibavcodec/h264_refs.c
- libavcodec/h264_sei.c 42 additions, 49 deletionslibavcodec/h264_sei.c
- libavcodec/h264pred.c 0 additions, 2 deletionslibavcodec/h264pred.c
- libavcodec/mpegvideo.h 1 addition, 1 deletionlibavcodec/mpegvideo.h
Loading
Please register or sign in to comment