1. 26 May, 2020 6 commits
    • Lynne's avatar
      hwcontext_vulkan: use host mapped buffers when uploading and downloading · 4dcb50c5
      Lynne authored
      Speeds up both use cases by 30%.
      4dcb50c5
    • Lynne's avatar
      pngdec: add ability to check chunk CRC · b8d9bc2e
      Lynne authored
      By default now, if AV_EF_CRCCHECK or AV_EF_IGNORE_ERR are enabled the decoder
      will skip the chunk and carry on with the next one. This should make the
      decoder able to decode more corrupt files because the functions which decode
      individual chunks will very likely error out if fed invalid data and stop the
      decoding of the entire image.
      b8d9bc2e
    • Lynne's avatar
      mpegaudiodec_template: add ability to check CRC · e69f407b
      Lynne authored
      A lot of files have CRC included.
      The CRC only covers 34 bytes at most from the frame but it should still be
      enough for some amount of error detection.
      e69f407b
    • Lynne's avatar
      apedec: add ability to check CRC · 1cc8eecd
      Lynne authored
      The CRC flag is only signalled once every few minutes but CRC is still
      always present so the patch uses the file version instead.
      CRC on 24-bit files wants non-padded samples so skip such files.
      Some corrupt samples may have been output before the final check
      depending on the -max_samples setting.
      1cc8eecd
    • Andreas Rheinhardt's avatar
      avutil/mem: Use max_alloc_size as-is · 731c7758
      Andreas Rheinhardt authored
      The size of a single allocation performed by av_malloc() or av_realloc()
      is supposed to be bounded by max_alloc_size, which defaults to INT_MAX
      and can be set by the user; yet currently this is not completely
      honoured: The actual value used is max_alloc_size - 32. How this came
      to be can only be understood historically:
      
      a) 0ecca7a4 disallowed allocations
      > INT_MAX. At that time the size parameter of av_malloc() was an
      unsigned and the commentary added ("lets disallow possible ambiguous
      cases") indicates that this was done as a precaution against calling the
      functions with negative int values. Genuinely limiting the size of
      allocations to INT_MAX doesn't seem to have been the intention given
      that at this time the memalign hack introduced in commit
      da9b170c (which when enabled increased
      the size of allocations slightly so that one can return a correctly
      aligned pointer that actually does not point to the beginning of the
      allocated buffer) was already present.
      b) Said memalign hack allocated 17 bytes more than actually desired, yet
      allocating 16 bytes more is actually enough and so this was changed in
      a9493601; this commit also replaced
      INT_MAX by INT_MAX - 16 (and made the limit therefore a limit on the size
      of the allocated buffer), but kept the comment, although there is nothing
      ambiguous about allocating (INT_MAX - 16)..INT_MAX.
      c) 13dfce3d then increased 16 to 32 for
      AVX, 6b4c0be5 replaced INT_MAX by
      MAX_MALLOC_SIZE (which was of course defined to be INT_MAX) and
      5a8e9942 added max_alloc_size and made
      it user-selectable.
      d) 4fb311c8 then dropped the memalign
      hack, yet it kept the -32 (probably because the comment about ambiguous
      cases was still present?), although it is no longer needed at all after
      this commit. Therefore this commit removes it and uses max_alloc_size
      directly.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      731c7758
    • Andreas Rheinhardt's avatar
  2. 25 May, 2020 10 commits
  3. 24 May, 2020 1 commit
  4. 23 May, 2020 23 commits