git.videolan.org Git - ffmpeg.git/rss log

FFmpeg git repo

http://git.videolan.org/?p=ffmpeg.git;a=summary

Les articles publiés sur le site

  • avcodec/cbrt_tablegen : Avoid LUT only used once

    2 septembre, par Andreas Rheinhardt
    avcodec/cbrt_tablegen: Avoid LUT only used once
    
    This can be done by reusing the destination array to store
    a temporary LUT (with only half the amount of elements, but
    double the element size). This relies on certain assumptions
    about sizes, but they are always fulfilled for systems supported
    by us (sizeof(double) == 8 is needed/guaranteed since commit
    3383a53e7d0abb9639c3ea3481f0eda9dca61a26). Furthermore,
    sizeof(uint32_t) is always >= four because CHAR_BIT is eight
    (in fact, sizeof(uint32_t) is four, because the exact width
    types don't have any padding).
    
    Reviewed-by: Zhao Zhili <quinkblack@foxmail.com>
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/cbrt_data.h
    • [DH] libavcodec/cbrt_tablegen.h
    • [DH] libavcodec/cbrt_tablegen_template.c
  • avcodec/cbrt_tablegen : Reduce size of LUT only used once

    2 septembre, par Andreas Rheinhardt
    avcodec/cbrt_tablegen: Reduce size of LUT only used once
    
    ff_cbrt_tableinit{,_fixed}() uses a LUT of doubles of the same size
    as the actual LUT to be initialized (8192 elems). Said LUT is only
    used to initialize another LUT, but because it is static, the dirty
    memory (64KiB) is not released. It is also too large to be put on
    the stack.
    
    This commit mitigates this: We only use a LUT for the powers of
    odd values, thereby halving its size. The generated LUT stays unchanged.
    
    Reviewed-by: Zhao Zhili <quinkblack@foxmail.com>
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/cbrt_tablegen.h
  • avcodec/cbrt_tablegen : Remove always-false branch

    2 septembre, par Andreas Rheinhardt
    avcodec/cbrt_tablegen: Remove always-false branch
    
    Each ff_cbrt_tableinit*() is called at most once, making this
    check always-false.
    
    Reviewed-by: Zhao Zhili <quinkblack@foxmail.com>
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/cbrt_tablegen.h
  • .forgejo/CODEOWNERS : add myself for various files

    2 septembre, par Niklas Haas
    .forgejo/CODEOWNERS: add myself for various files
    
    • [DH] .forgejo/CODEOWNERS
  • checkasm : sw_ops : Avoid division by zero

    2 septembre, par Martin Storsjö
    checkasm: sw_ops: Avoid division by zero
    
    If we're invoked with range == UINT_MAX, we end up doing
    "rnd() % (UINT_MAX + 1)", which is equal to "rnd() % 0". On
    arm (on all platforms) and on MSVC i386, this ends up crashing
    at runtime.
    
    This fixes the crash.
    
    • [DH] tests/checkasm/sw_ops.c