1. 15 Feb, 2014 1 commit
  2. 14 Feb, 2014 1 commit
  3. 26 Oct, 2013 1 commit
  4. 22 Oct, 2013 2 commits
  5. 19 Oct, 2013 1 commit
  6. 15 Oct, 2013 2 commits
  7. 08 Aug, 2013 2 commits
    • Ben Avison's avatar
      h264dsp: Factorize code into a new function, h264_find_start_code_candidate · 218d6844
      Ben Avison authored
      This performs the start code search which was previously part of
      h264_find_frame_end() - the most CPU intensive part of the function.
      
      By itself, this results in a performance regression:
                    Before          After
                    Mean   StdDev   Mean   StdDev  Change
      Overall time  2925.6 26.2     3068.5 31.7    -4.7%
      
      but this can more than be made up for by platform-optimised
      implementations of the function.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      218d6844
    • Ben Avison's avatar
      h264_parser: Initialize the h264dsp context in the parser as well · 7a82022e
      Ben Avison authored
      Each AVStream struct for an H.264 elementary stream actually has two
      copies of the H264DSPContext struct (and in fact all the other members
      of H264Context as well):
      
      ((H264Context *) ((AVStream *)st)->codec->priv_data)->h264dsp
      ((H264Context *) ((AVStream *)st)->parser->priv_data)->h264dsp
      
      but only the first of these was actually being initialised. This
      prevented the addition of platform-specific implementations of
      parser-related functions.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      7a82022e
  8. 02 Aug, 2013 1 commit
  9. 21 Jul, 2013 1 commit
  10. 07 Jun, 2013 1 commit
  11. 24 May, 2013 1 commit
  12. 04 May, 2013 1 commit
  13. 30 Apr, 2013 1 commit
  14. 26 Mar, 2013 1 commit
  15. 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
  16. 01 Oct, 2012 1 commit
  17. 07 Aug, 2012 1 commit
  18. 25 Jun, 2012 1 commit
  19. 26 Feb, 2012 1 commit
    • Reinhard Tartler's avatar
      Fix parser not to clobber has_b_frames when extradata is set. · 790a367d
      Reinhard Tartler authored
      Because in contrast to the decoder, the parser does not setup low_delay.
      The code in parse_nal_units would always end up setting has_b_frames
      to "1", except when stream is explicitly marked as low delay.
      Since the parser itself would create 'extradata', simply reopening
      the parser would cause this.
      
      This happens for instance in estimate_timings_from_pts(), which causes the
      parser to be reopened on the same stream.
      
      This fixes Libav #22 and FFmpeg (trac) #360
      
      CC: libav-stable@libav.org
      
      Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
      (commit 31ac0ac2)
      
      Comments and description adapted by Reinhard Tartler.
      Signed-off-by: 's avatarReinhard Tartler <siretart@tauware.de>
      790a367d
  20. 19 Feb, 2012 1 commit
  21. 06 Jan, 2012 1 commit
    • Janne Grunau's avatar
      parsers: initialize MpegEncContext.slice_context_count to 1 · f907615f
      Janne Grunau authored
      The mpeg4 video, H264 and VC-1 parser hold (directly or indirectly)
      a MpegEncContext in their private context. Since they do not call the
      common mpegvideo init function slice_context_count has explicitly set
      to 1.
      Prevents a null pointer dereference in the h264 parser and fixes
      bug 193.
      f907615f
  22. 19 Dec, 2011 1 commit
  23. 18 Dec, 2011 2 commits
  24. 03 Dec, 2011 1 commit
  25. 02 Nov, 2011 1 commit
  26. 27 Oct, 2011 2 commits
  27. 20 Oct, 2011 1 commit
  28. 03 Oct, 2011 2 commits
  29. 23 Sep, 2011 1 commit
  30. 20 Aug, 2011 1 commit
  31. 23 Jun, 2011 1 commit
  32. 13 Jun, 2011 2 commits
  33. 02 May, 2011 1 commit