1. 14 Aug, 2019 3 commits
    • Marton Balint's avatar
      avformat/mpegtsenc: fix incorrect PCR selection with multiple programs · d770e0f4
      Marton Balint authored
      The MPEG-TS muxer had a serious bug related to the use of multiple programs:
      in that case, the PCR pid selection was incomplete for all services except one.
      This patch solves this problem and selects a stream to become PCR for each
      service, preferably the video stream.
      
      This patch also moves pcr calculation attributes to MpegTSWriteStream from
      MpegTSService. PCR is a per-stream and not per-service thing, so it was
      misleading to refer to it as something that is per-service.
      
      Also remove *service from MpegTSWriteStream because a stream can belong to
      multiple services so it was misleading to select one for each stream.
      
      You can check the result with this example command:
      
      ./ffmpeg -loglevel verbose -y -f lavfi -i \
        "testsrc=s=64x64:d=10,split=2[out0][tmp1];[tmp1]vflip[out1];sine=d=10,asetnsamples=1152[out2]" \
        -flags +bitexact -fflags +bitexact -sws_flags +accurate_rnd+bitexact  \
        -codec:v libx264 -codec:a mp2 -pix_fmt yuv420p \
        -map '0:v:0' \
        -map '0:v:1' \
        -map '0:a:0'  \
        -program st=0:st=2 -program st=1:st=2 -program st=2 -program st=0 -f mpegts out.ts
      
      You should now see this:
      
      [mpegts @ 0x37505c0] service 1 using PCR in pid=256
      [mpegts @ 0x37505c0] service 2 using PCR in pid=257
      [mpegts @ 0x37505c0] service 3 using PCR in pid=258
      [mpegts @ 0x37505c0] service 4 using PCR in pid=256
      
      Fixes ticket #8039.
      
      v2: a video is stream is preferred if there are no programs, just like before
      the patch.
      Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
      d770e0f4
    • Marton Balint's avatar
      ffplay: properly detect all window size changes · a1c70148
      Marton Balint authored
      SDL_WINDOWEVENT_SIZE_CHANGED should be used instead of SDL_WINDOWEVENT_RESIZED
      because SDL_WINDOWEVENT_RESIZED is only emitted if the resize happened due to
      an external event.
      
      Fixes ticket #8072.
      
      Additional references:
      https://bugzilla.libsdl.org/show_bug.cgi?id=4760
      https://wiki.libsdl.org/SDL_WindowEventIDSigned-off-by: 's avatarMarton Balint <cus@passwd.hu>
      a1c70148
    • Andreas Rheinhardt's avatar
      avfilter/vf_convolution: Fix build failures · 8fcc5d96
      Andreas Rheinhardt authored
      98e419cb added SIMD for the convolution filter for x64 systems. As
      usual, it used a check of the form
      if (ARCH_X86_64)
          ff_convolution_init_x86(s);
      and thereby relied on the compiler eliminating this pseudo-runtime check
      at compiletime for non x64 systems (for which ff_convolution_init_x86
      isn't defined) to compile. But vf_convolution.c contains more than one
      filter and if the convolution filter is disabled, but one of the other
      filters (prewitt, sobel, roberts) is enabled, the build will fail on x64,
      because ff_convolution_init_x86 isn't defined in this case.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      8fcc5d96
  2. 13 Aug, 2019 14 commits
  3. 12 Aug, 2019 4 commits
  4. 11 Aug, 2019 19 commits