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/dvenc : Check for unaligned pointers, strides

    27 mai, par Andreas Rheinhardt
    avcodec/dvenc: Check for unaligned pointers, strides
    
    Fixes segfaults on systems where PixblockDSPContext.get_pixels
    really requires to be properly aligned (e.g. ARMv7).
    Before this commit input created by
    -filter_complex nullsrc=s=740x576:r=25,format=yuv420p,crop=w=720:x=2
    led to crashes.
    
    (The unaligned strides are in violation of the AVFrame.linesize
    documentation, unaligned pointers itself do not seem to be
    prohibited for encoders.)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/dvenc.c
  • avcodec/asvenc : Fix crash with unaligned pointers/linesizes

    27 mai, par Andreas Rheinhardt
    avcodec/asvenc: Fix crash with unaligned pointers/linesizes
    
    This happens on systems where get_pixels really needs
    to be properly aligned, like ARMV7 or RISC-V. For these
    systems, 0401ca714a2714743573e27c384ffa810fd31a92 caused
    a bus error for the vsynth3-asv[12] tests, because
    the stride in these tests is unaligned. See e.g.
    https://fate.ffmpeg.org/report.cgi?slot=armv7-linux-gcc-13&time=20250527020548
    https://fate.ffmpeg.org/report.cgi?slot=rv64gcvb-linux-gnu-gcc&time=20250527001827
    
    It can also happen (even before said commit) if the pointers
    itself are unaligned, e.g. by using the crop filter:
    ffmpeg -filter_complex nullsrc=s=740x576:r=25,format=yuv420p,crop=w=720:x=2 \
    -c:v asv2 -f null -
    
    The alignment requirements for the frames passed to encoders are
    mostly undocumented; the only thing I could find is the documentation
    of AVFrame.linesize: "For video the linesizes should be multiples
    of the CPUs alignment preference". This means that the FFmpeg cli
    violates our API.
    
    Yet as the above command line shows, it can also happen with
    unaligned pointers and there does not seem to be a prohibition
    of this, so we need to handle this case. This commit does so
    by using get_pixels_unaligned when needed.
    
    Reviewed-by: Martin Storsjö <martin@martin.st>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/asvenc.c
  • ffv1enc_vulkan : allow slicecrc=2

    27 mai, par Lynne
    ffv1enc_vulkan: allow slicecrc=2
    
    For parity with the software encoder.
    
    • [DH] libavcodec/ffv1enc_vulkan.c
  • MAINTAINERS : Add myself for graph printing

    27 mai, par softworkz
    MAINTAINERS: Add myself for graph printing
    
    ..and resources
    
    Signed-off-by: softworkz <softworkz@hotmail.com>
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
    
    • [DH] MAINTAINERS
  • fftools/Makefile : clean files from fftools/{graph,textformat}/

    27 mai, par Ramiro Polla
    fftools/Makefile: clean files from fftools/{graph,textformat}/
    
    • [DH] fftools/Makefile