1. 29 Dec, 2015 1 commit
    • Mark Harris's avatar
      avcodec: Use get_ue_golomb_long() when needed · c51c08e0
      Mark Harris authored
      get_ue_golomb() cannot decode values larger than 8190 (the maximum
      value that can be golomb encoded in 25 bits) and produces the error
      "Invalid UE golomb code" if a larger value is encountered.  Use
      get_ue_golomb_long() instead (which supports 63 bits, up to 4294967294)
      when valid h264/hevc values can exceed 8190.
      
      This updates decoding of the following values:   (maximum)
        first_mb_in_slice                                36863* for level 5.2
        abs_diff_pic_num_minus1                         131071
        difference_of_pic_nums_minus1                   131071
        idr_pic_id                                       65535
        recovery_frame_cnt                               65535
        frame_packing_arrangement_id                4294967294
        frame_packing_arrangement_repetition_period      16384
        display_orientation_repetition_period            16384
      
      An alternative would be to modify get_ue_golomb() to handle encoded
      values of up to 49 bits as was done for get_se_golomb() in a92816c4.
      In that case get_ue_golomb() could continue to be used for all of
      these except frame_packing_arrangement_id.
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      c51c08e0
  2. 30 Oct, 2015 2 commits
  3. 08 Sep, 2015 1 commit
  4. 21 Aug, 2015 2 commits
  5. 01 Aug, 2015 1 commit
  6. 17 Jul, 2015 1 commit
  7. 06 Jul, 2015 1 commit
  8. 30 Jun, 2015 3 commits
  9. 26 Jun, 2015 1 commit
  10. 16 Sep, 2014 1 commit
  11. 01 Aug, 2014 1 commit
  12. 09 Jul, 2014 1 commit
  13. 04 Jun, 2014 1 commit
  14. 14 Feb, 2014 2 commits
  15. 17 Dec, 2013 1 commit
  16. 09 Dec, 2013 1 commit
  17. 03 Oct, 2013 1 commit
  18. 24 Sep, 2013 2 commits
  19. 20 Aug, 2013 1 commit
  20. 02 Aug, 2013 1 commit
  21. 01 Aug, 2013 2 commits
  22. 22 Jul, 2013 1 commit
  23. 21 Jul, 2013 5 commits
  24. 05 May, 2013 1 commit
  25. 12 Mar, 2013 1 commit
  26. 15 Feb, 2013 1 commit
    • Anton Khirnov's avatar
      h264: deMpegEncContextize · 2c541554
      Anton Khirnov authored
      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: 's avatarAnton Khirnov <anton@khirnov.net>
      2c541554
  27. 21 Oct, 2012 1 commit
  28. 13 Aug, 2012 1 commit
  29. 23 Apr, 2012 1 commit