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/libx264 : Remove unnecessary include

    7 juin, par Zhao Zhili
    avcodec/libx264: Remove unnecessary include
    
    eval is for av_strtod, which wasn't been used by libx264 now.
    
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
    
    • [DH] libavcodec/libx264.c
  • libavformat/rtpdec : Fix RTP timestamp wraparound in Producer Reference Time

    7 juin, par Clément Péron
    libavformat/rtpdec: Fix RTP timestamp wraparound in Producer Reference Time
    
    The rtp_set_prft() function incorrectly calculates the timestamp delta
    when RTP timestamps wrap around the 32-bit boundary. The current code:
    
        delta_timestamp = (int64_t)timestamp - (int64_t)s->last_rtcp_timestamp;
    
    treats both timestamps as large positive values, causing wraparound to
    produce a large negative delta instead of the correct small positive delta.
    
    For example, with a 90kHz video clock:
    - last_rtcp_timestamp = 0xFFFFFF00 (near wraparound)
    - timestamp = 0x00000100 (after wraparound)
    - Current result: delta ≈ -4.3 billion ticks ≈ -47,721 seconds
    - Expected result: delta ≈ +512 ticks ≈ +0.006 seconds
    
    This causes prft->wallclock to jump backward by approximately:
    - 90kHz video: ~47,721 seconds (~13.25 hours)
    - 48kHz audio: ~89,478 seconds (~24.9 hours)
    - 8kHz audio: ~536,871 seconds (~6.2 days)
    
    Fix by casting the subtraction result to int32_t, which correctly
    handles wraparound through modular arithmetic:
    
        delta_timestamp = (int32_t)(timestamp - s->last_rtcp_timestamp);
    
    This ensures the delta is always in the range [-2^31, 2^31-1], making
    wraparound produce the correct small positive values.
    
    Fixes timing jumps in applications that rely on Producer Reference Time
    for media synchronization.
    
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
    
    • [DH] libavformat/rtpdec.c
  • avformat/dhav : Do not evaluate avio_size() multiple times

    6 juin, par Michael Niedermayer
    avformat/dhav: Do not evaluate avio_size() multiple times
    
    Code like FFMIN(MAX_DURATION_BUFFER_SIZE, avio_size(s->pb)) is not safe
    as FFMIN() is a macro and avio_size() is thus evaluated multiple
    times
    
    Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
    
    • [DH] libavformat/dhav.c
  • configure : rename POSIX ioctl check

    6 juin, par Leo Izen
    configure: rename POSIX ioctl check
    
    Commit 00b64fca55a3a009c9d0e391c85f4fd3291e5d12 introduced configure
    detection for HAVE_POSIX_IOCTL but unfortunately this conflicts with
    v4l-utils version 1.30, which itself checks for #ifdef HAVE_POSIX_IOCTL
    in a public header and erroneously determines it to be true because we
    define this to be 0.
    
    Since this is only used for avdevice/v4l2, we rename this to something
    else, namely ioctl_posix, simply to prevent the name conflict with the
    file /usr/include/libv4l2.h at least until they can upstream a fix on
    their end.
    
    Signed-off-by: Leo Izen <leo.izen@gmail.com>
    
    • [DH] configure
    • [DH] libavdevice/v4l2.c
  • tools/target_dem_fuzzer : remove unused fuzz_tag

    6 juin, par Kacper Michajłow
    tools/target_dem_fuzzer: remove unused fuzz_tag
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
    
    • [DH] tools/target_dem_fuzzer.c