1. 16 Mar, 2014 1 commit
  2. 25 Jan, 2014 1 commit
  3. 24 Aug, 2013 1 commit
  4. 20 Aug, 2013 1 commit
  5. 21 Mar, 2013 7 commits
  6. 08 Mar, 2013 1 commit
  7. 25 Feb, 2013 1 commit
  8. 19 Feb, 2013 1 commit
  9. 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
  10. 23 Jan, 2013 1 commit
  11. 05 Oct, 2012 1 commit
  12. 01 Oct, 2012 2 commits
  13. 23 Jun, 2012 1 commit
  14. 28 Apr, 2012 2 commits
    • Roland Scheidegger's avatar
      h264: new assembly version of get_cabac for x86_64 with PIC · 9b9df1cd
      Roland Scheidegger authored
      This adds a hand-optimized assembly version for get_cabac much like the
      existing one, but it works if the table offsets are RIP-relative.
      Compared to the non-RIP-relative version this adds 2 lea instructions
      and it needs one extra register. get_cabac() gets about 40% faster, for
      an overall speedup of about 5%.
      Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
      9b9df1cd
    • Roland Scheidegger's avatar
      h264: use one table instead of several for cabac functions · 14e9ffc1
      Roland Scheidegger authored
      The reason is this is easier for PIC code (in particular on darwin...).
      Keep the old names as pointers (static in cabac_functions.h so gcc
      knows these are just immediate offsets) so the c code can nicely stay the same
      (alternatively could use offsets directly in the functions needing the
      tables). This should produce the same code as before with non-pic and better
      code (confirmed) with pic.
      
      The assembly uses the new table but still won't work for PIC case.
      Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
      14e9ffc1
  15. 05 Apr, 2012 1 commit
  16. 28 Mar, 2012 1 commit
  17. 29 Feb, 2012 1 commit
  18. 10 Feb, 2012 1 commit
    • Ronald S. Bultje's avatar
      h264: disallow constrained intra prediction modes for luma. · 45b7bd7c
      Ronald S. Bultje authored
      Conversion of the luma intra prediction mode to one of the constrained
      ("alzheimer") ones can happen by crafting special bitstreams, causing
      a crash because we'll call a NULL function pointer for 16x16 block intra
      prediction, since constrained intra prediction functions are only
      implemented for chroma (8x8 blocks).
      
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      CC: libav-stable@libav.org
      45b7bd7c
  19. 12 Jan, 2012 1 commit
    • Diego Biurrun's avatar
      cabac: split cabac.h into declarations and function definitions · 55b9ef18
      Diego Biurrun authored
      This fixes standalone compilation of some decoders with --disable-optimizations.
      cabac.h defines some inline functions that use symbols from cabac.c.  Without
      optimizations these inline functions are not eliminated and linking fails with
      references to non-existing symbols.
      
      Splitting the inline functions off into their own header and only #including
      it in the places where the inline functions are used allows #including cabac.h
      from anywhere without ill effects.
      55b9ef18
  20. 27 Dec, 2011 1 commit
    • Martin Storsjö's avatar
      x86: Fix constraints for decode_significance*_x86 · 676a9ee1
      Martin Storsjö authored
      Originally, prior to 8742a4ff, the caller code was compiled
      within this condition:
      
      ARCH_X86 && HAVE_7REGS && HAVE_EBX_AVAILABLE && !defined(BROKEN_RELOCATIONS)
      
      Since HAVE_7REGS is defined as
      (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
      the subcondition HAVE_7REGS && HAVE_EBX_AVAILABLE is equal
      to HAVE_7REGS (for 32 bit at least). The correct simplification
      of the original condition thus is HAVE_7REGS, not
      HAVE_EBX_AVAILABLE.
      
      This fixes compilation in some cases where HAVE_EBP_AVAILABLE = 0
      and HAVE_EBX_AVAILABLE = 1.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      676a9ee1
  21. 21 Dec, 2011 2 commits
  22. 13 Dec, 2011 1 commit
  23. 12 Dec, 2011 1 commit
  24. 21 Oct, 2011 1 commit
  25. 28 Jul, 2011 1 commit
  26. 10 Jul, 2011 1 commit
    • Diego Biurrun's avatar
      Eliminate FF_COMMON_FRAME macro. · 657ccb5a
      Diego Biurrun authored
      FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied
      to struct Picture.  Replace by an embedded AVFrame structure in struct Picture.
      657ccb5a
  27. 08 Jul, 2011 1 commit
  28. 03 Jul, 2011 2 commits
  29. 14 Jun, 2011 1 commit
  30. 13 Jun, 2011 1 commit