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

  • avformat/sbgdec : fix leak in sbg_read_header()

    17 juin, par Lidong Yan
    avformat/sbgdec: fix leak in sbg_read_header()
    
    In sbg_read_header(), if avformat_new_stream() failed, it returns
    without cleanup, which may cause memory leaks. Replace return statement
    with goto so that we would first clean up then return.
    
    Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
    Reviewed-by: Nicolas George <george@nsup.org>
    Signed-off-by: James Almer <jamrial@gmail.com>
    
    • [DH] libavformat/sbgdec.c
  • vulkan : maintain compatibility with old headers

    17 juin, par Lynne
    vulkan: maintain compatibility with old headers
    
    Previous patch to fix these issues was incomplete.
    
    • [DH] libavutil/hwcontext_vulkan.c
    • [DH] libavutil/vulkan.c
  • tests/iamf : rename BACK to SIDE filterchain labels in the 5.1.4 iamf tests

    17 juin, par James Almer
    tests/iamf: rename BACK to SIDE filterchain labels in the 5.1.4 iamf tests
    
    Cosmetic change to reflect the actual channels used in the layouts.
    
    Signed-off-by: James Almer <jamrial@gmail.com>
    
    • [DH] tests/fate/iamf.mak
    • [DH] tests/fate/mov.mak
    • [DH] tests/filtergraphs/iamf_5_1_4
  • avformat/iamf : fix setting channel layout for Scalable layers

    17 juin, par James Almer
    avformat/iamf: fix setting channel layout for Scalable layers
    
    The way streams are coded in an IAMF struct follows a scalable model where the
    channel layouts for each layer may not match the channel order our API can
    represent in a Native order layout.
    
    For example, an audio element may have six coded streams in the form of two
    stereo streams, followed by two mono streams, and then by another two stereo
    streams, for a total of 10 channels, and define for them four scalable layers
    with loudspeaker_layout values "Stereo", "5.1ch", "5.1.2ch", and "5.1.4ch".
    The first layer references the first stream, and each following layer will
    reference all previous streams plus extra ones.
    In this case, the "5.1ch" layer will reference four streams (the first two
    stereo and the two mono) to encompass six channels, which does not match out
    native layout 5.1(side) given that FC and LFE come after FL+FR but before
    SL+SR, and here, they are at the end.
    
    For this reason, we need to build Custom order layouts that properly represent
    what we're exporting.
    
    ----
    Before:
    
      Stream group #0:0[0x12c]: IAMF Audio Element:
        Layer 0: stereo
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
        Layer 1: 5.1(side)
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
          Stream #0:1[0x1]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:2[0x2]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:3[0x3]: Audio: opus, 48000 Hz, mono, fltp (dependent)
        Layer 2: 5.1.2
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
          Stream #0:1[0x1]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:2[0x2]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:3[0x3]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:4[0x4]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
        Layer 3: 5.1.4
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
          Stream #0:1[0x1]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:2[0x2]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:3[0x3]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:4[0x4]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:5[0x5]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
    
    ----
    AFter:
    
      Stream group #0:0[0x12c]: IAMF Audio Element:
        Layer 0: stereo
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
        Layer 1: 6 channels (FL+FR+SL+SR+FC+LFE)
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
          Stream #0:1[0x1]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:2[0x2]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:3[0x3]: Audio: opus, 48000 Hz, mono, fltp (dependent)
        Layer 2: 8 channels (FL+FR+SL+SR+FC+LFE+TFL+TFR)
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
          Stream #0:1[0x1]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:2[0x2]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:3[0x3]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:4[0x4]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
        Layer 3: 10 channels (FL+FR+SL+SR+FC+LFE+TFL+TFR+TBL+TBR)
          Stream #0:0[0x0]: Audio: opus, 48000 Hz, stereo, fltp (default)
          Stream #0:1[0x1]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:2[0x2]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:3[0x3]: Audio: opus, 48000 Hz, mono, fltp (dependent)
          Stream #0:4[0x4]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
          Stream #0:5[0x5]: Audio: opus, 48000 Hz, stereo, fltp (dependent)
    
    Signed-off-by: James Almer <jamrial@gmail.com>
    
    • [DH] libavformat/iamf_parse.c
    • [DH] libavformat/iamf_writer.c
    • [DH] libavformat/iamfdec.c
    • [DH] tests/ref/fate/iamf-5_1-copy
    • [DH] tests/ref/fate/iamf-5_1-demux
    • [DH] tests/ref/fate/iamf-5_1_4
    • [DH] tests/ref/fate/iamf-7_1_4
    • [DH] tests/ref/fate/iamf-9_1_6
    • [DH] tests/ref/fate/mov-mp4-iamf-5_1_4
    • [DH] tests/ref/fate/mov-mp4-iamf-7_1_4-video-first
    • [DH] tests/ref/fate/mov-mp4-iamf-7_1_4-video-last
  • avcodec/osq : Switch back to av_ceil_log2()

    17 juin, par Michael Niedermayer
    avcodec/osq: Switch back to av_ceil_log2()
    
    This returns to code closer to prior 56c334d732dbbce43b0c8fc0809ec545b7946832
    The prior fixes should limit the sum and avoid the need for double argument log2()
    
    Fixes: Assertion n>=0 && n<=32 failed at libavcodec/get_bits.h:406
    Fixes: 410109093/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OSQ_fuzzer-6550900028276736
    
    No testcases except fuzzers
    
    Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
    
    • [DH] libavcodec/osq.c