angler-fishThe Vulnerability History Project

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
    
commit 2c541554076cc8a72e7145d4da30389ca763f32f
+4 -2
+24 -24
+1 -1
+4 -8
+4 -8
+744 -1054
+13 -57
+53 -48
+77 -74
+39 -34
+32 -29
+52 -50
+4 -3
+51 -46
+23 -23
+136 -130
+74 -64
+49 -42
+2
+1 -1
+233 -349
+17 -28
+10 -22
+1 -5
+6 -1
+7 -2
+9 -2
+1 -1
+31 -23
+5 -19
+5 -6
+2 -2
+2 -2
+2 -2
expand_less