1. 02 Aug, 2016 2 commits
    • Martin Storsjö's avatar
      intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64 · f79d8474
      Martin Storsjö authored
      AV_WN64 is meant for unaligned data, but the existing av_alias* unions
      (without a definition for the av_alias attribute - we don't have one
      for MSVC) indicate to the compiler that they would have sufficient
      alignment for normal access, i.e. the compiler is free to assume
      8 byte alignment.
      
      On ARM, this makes sure that AV_WN64 (or two consecutive AV_WN32) is
      done with two str instructions instead of one strd.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      f79d8474
    • Martin Storsjö's avatar
      intreadwrite: Add intermediate variables in the byteswise AV_W*() macros · 230b1c07
      Martin Storsjö authored
      This avoids issues with expanding the argument multiple times,
      and makes sure that it is of the right type for the following shifts.
      
      Even if the caller of a macro could be expected not to pass parameters
      that have side effects if expanded multiple times, these fallback
      codepaths are rarely, if ever, tested, so it is expected that such
      issues can arise.
      
      Thefore, for safety, make sure the fallback codepaths only expand
      the arguments once.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      230b1c07
  2. 31 Jul, 2016 6 commits
  3. 29 Jul, 2016 8 commits
  4. 27 Jul, 2016 2 commits
  5. 26 Jul, 2016 3 commits
  6. 25 Jul, 2016 1 commit
  7. 23 Jul, 2016 2 commits
  8. 22 Jul, 2016 14 commits
  9. 21 Jul, 2016 2 commits