1. 18 Mar, 2012 24 commits
  2. 17 Mar, 2012 11 commits
  3. 16 Mar, 2012 5 commits
    • Paul B Mahol's avatar
      vqavideo: check malloc return values · 341404f7
      Paul B Mahol authored
      Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
      Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
      341404f7
    • Antonio Ospite's avatar
      x11grab: fix a memory leak exposed by valgrind · d3958ab4
      Antonio Ospite authored
      When using "-f x11grab -i :0.0" valgrind reports a definitely lost
      memory block with this message:
      
      ==31544== 5 bytes in 1 blocks are definitely lost in loss record 1 of 2
      ==31544==    at 0x4026E68: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==31544==    by 0x4026F17: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==31544==    by 0x60D399A: av_malloc (in /usr/lib/x86_64-linux-gnu/libavutil.so.51.22.1)
      ==31544==    by 0x60D3A70: av_strdup (in /usr/lib/x86_64-linux-gnu/libavutil.so.51.22.1)
      ==31544==    by 0x4A2BE58: ??? (in /usr/lib/x86_64-linux-gnu/libavdevice.so.53.2.0)
      ==31544==    by 0x506D29E: avformat_open_input (in /usr/lib/x86_64-linux-gnu/libavformat.so.53.21.0)
      ==31544==    by 0x400A80: main (in /home/ao2/WIP/am7xxx-play/tests/a.out)
      
      The 5 bytes lost are the ones from param = av_strdup(":0.0"), so let's
      free param in the exit path.
      
      Also check the av_strdup() return value.
      
      Note: calling av_free(param) even when av_strdup() fails and param is
      NULL is OK and keeps the code simpler without adding another label to
      skip av_free().
      Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
      d3958ab4
    • Uoti Urpala's avatar
      threads: fix old frames returned after avcodec_flush_buffers() · 05b9a89e
      Uoti Urpala authored
      Calling avcodec_flush_buffers() and then avcodec_decode_video2() with
      a 0-sized packet (to get remaining buffered frames) could incorrectly
      return an old frame from before the avcodec_flush_buffers() call. Add
      a loop in ff_thread_flush() to zero the got_frame field of each thread
      to ensure the old frames will not be returned.
      Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
      05b9a89e
    • Janne Grunau's avatar
      MPV: always mark dummy frames as reference · 7b60799a
      Janne Grunau authored
      If the dummy frame are not created from a reference frame they could
      be deleted untimely resulting in multithreaded decoder waiting on
      the current frame to finish.
      Noticed by Ronald S. Bultje in the RV34 decoder with a broken file.
      7b60799a
    • Ronald S. Bultje's avatar
      h264: fix deadlocks on incomplete reference frame decoding. · 1e26a48f
      Ronald S. Bultje authored
      If decoding a second complementary field, and the first was
      decoded in our thread, mark decoding of that field as complete.
      If decoding fails, mark the decoded field/frame as complete.
      Do not allow switching between field modes or field/frame mode
      between slices within the same field/frame. Ensure that two
      subsequent fields cover top/bottom (rather than top/frame,
      bottom/frame or such nonsense situations).
      
      Fixes various deadlocks when decoding samples with errors in
      reference frames.
      
      Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
      CC: libav-stable@libav.org
      1e26a48f