1. 05 Sep, 2019 1 commit
  2. 30 Aug, 2019 1 commit
  3. 29 Aug, 2019 1 commit
  4. 28 Aug, 2019 1 commit
  5. 27 Aug, 2019 1 commit
  6. 24 Aug, 2019 1 commit
  7. 23 Aug, 2019 1 commit
    • Marton Balint's avatar
      avformat/mpegtsenc: get rid of packet counting for sdt/pat/pmt · 2fb55089
      Marton Balint authored
      The packet counting based approach caused excessive sdt/pat/pmt for VBR, so
      let's use a timestamp based approach instead similar to how we emit PCRs.
      SDT/PAT/PMT period should be consistent for both VBR and CBR from now on.
      
      Also change the type of sdt_period and pat_period to AV_OPT_TYPE_DURATION so no
      floating point math is necessary.
      
      Fixes ticket #3714.
      Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
      2fb55089
  8. 17 Aug, 2019 2 commits
  9. 13 Aug, 2019 1 commit
  10. 05 Aug, 2019 1 commit
  11. 01 Aug, 2019 1 commit
  12. 25 Jul, 2019 1 commit
  13. 22 Jul, 2019 2 commits
    • Limin Wang's avatar
      avformat/f_select: add support for more pixel formats for scene change score calculations · b696caba
      Limin Wang authored
      This avoids automatic conversions to rgb if scene change score is used in the expression.
      
      Below is the tested results for the new added pixel format without autoscale to rgb24:
      1. AV_PIX_FMT_YUVJ420P
      time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
      "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,select=gt(scene\,.25)"
      
      master:
      pkt_pts=1620|tag:lavfi.scene_score=1.000000
      pkt_pts=4140|tag:lavfi.scene_score=0.875036
      pkt_pts=5800|tag:lavfi.scene_score=1.000000
      pkt_pts=6720|tag:lavfi.scene_score=0.461625
      pkt_pts=8160|tag:lavfi.scene_score=1.000000
      pkt_pts=9760|tag:lavfi.scene_score=1.000000
      pkt_pts=14080|tag:lavfi.scene_score=0.838916
      pkt_pts=15700|tag:lavfi.scene_score=1.000000
      pkt_pts=18500|tag:lavfi.scene_score=0.474948
      pkt_pts=20040|tag:lavfi.scene_score=0.379700
      pkt_pts=21760|tag:lavfi.scene_score=1.000000
      ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.71s user 0.01s system 99% cpu 0.721 total
      
      patch applied:
      pkt_pts=1620|tag:lavfi.scene_score=1.000000
      pkt_pts=4140|tag:lavfi.scene_score=0.668643
      pkt_pts=5800|tag:lavfi.scene_score=0.996721
      pkt_pts=6720|tag:lavfi.scene_score=0.357390
      pkt_pts=8160|tag:lavfi.scene_score=0.886268
      pkt_pts=9760|tag:lavfi.scene_score=0.926219
      pkt_pts=14080|tag:lavfi.scene_score=0.650033
      pkt_pts=15700|tag:lavfi.scene_score=1.000000
      pkt_pts=18500|tag:lavfi.scene_score=0.316402
      pkt_pts=20040|tag:lavfi.scene_score=0.269509
      pkt_pts=21760|tag:lavfi.scene_score=1.000000
      ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.19s user 0.01s system 81% cpu 0.240 total
      
      2. AV_PIX_FMT_YUV420P
      time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
      "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,select=gt(scene\,.2)"
      master:
      pkt_pts=3587|tag:lavfi.scene_score=0.462364
      pkt_pts=4838|tag:lavfi.scene_score=0.419519
      pkt_pts=6548|tag:lavfi.scene_score=0.397027
      pkt_pts=9968|tag:lavfi.scene_score=0.419245
      pkt_pts=12471|tag:lavfi.scene_score=0.413084
      pkt_pts=16225|tag:lavfi.scene_score=0.506370
      pkt_pts=19645|tag:lavfi.scene_score=0.507538
      pkt_pts=22314|tag:lavfi.scene_score=0.504319
      pkt_pts=24817|tag:lavfi.scene_score=0.417544
      pkt_pts=25651|tag:lavfi.scene_score=0.413916
      pkt_pts=26652|tag:lavfi.scene_score=0.487707
      18.58s user 0.07s system 99% cpu 18.663 total
      
      patch applied:
      pkt_pts=3587|tag:lavfi.scene_score=0.272173
      pkt_pts=4838|tag:lavfi.scene_score=0.247841
      pkt_pts=6548|tag:lavfi.scene_score=0.233134
      pkt_pts=9968|tag:lavfi.scene_score=0.247253
      pkt_pts=12471|tag:lavfi.scene_score=0.244129
      pkt_pts=16225|tag:lavfi.scene_score=0.302531
      pkt_pts=19645|tag:lavfi.scene_score=0.303560
      pkt_pts=22314|tag:lavfi.scene_score=0.301861
      pkt_pts=24817|tag:lavfi.scene_score=0.249331
      pkt_pts=25651|tag:lavfi.scene_score=0.247096
      pkt_pts=26652|tag:lavfi.scene_score=0.287728
      10.90s user 0.06s system 99% cpu 10.967 total
      
      3. AV_PIX_FMT_YUV422P
      
      time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
      "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,format=yuv422p,select=gt(scene\,.2)"
      master:
      
      patched applied:
      pkt_pts=3587|tag:lavfi.scene_score=0.224017
      pkt_pts=4838|tag:lavfi.scene_score=0.204225
      pkt_pts=9968|tag:lavfi.scene_score=0.204636
      pkt_pts=12471|tag:lavfi.scene_score=0.202772
      pkt_pts=16225|tag:lavfi.scene_score=0.248765
      pkt_pts=19645|tag:lavfi.scene_score=0.250144
      pkt_pts=22314|tag:lavfi.scene_score=0.248802
      pkt_pts=24817|tag:lavfi.scene_score=0.208362
      pkt_pts=25651|tag:lavfi.scene_score=0.205777
      pkt_pts=26652|tag:lavfi.scene_score=0.230742
      
      4.  AV_PIX_FMT_YUV420P10
      time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
      "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_4k.mkv,select=gt(scene\,.2)"
      
      master:
      pkt_pts=3587|tag:lavfi.scene_score=0.269890
      pkt_pts=4838|tag:lavfi.scene_score=0.248957
      pkt_pts=6548|tag:lavfi.scene_score=0.234619
      pkt_pts=9969|tag:lavfi.scene_score=0.224912
      pkt_pts=12471|tag:lavfi.scene_score=0.225158
      pkt_pts=16225|tag:lavfi.scene_score=0.289809
      pkt_pts=19645|tag:lavfi.scene_score=0.285013
      pkt_pts=22314|tag:lavfi.scene_score=0.280295
      pkt_pts=24817|tag:lavfi.scene_score=0.206486
      pkt_pts=25651|tag:lavfi.scene_score=0.208556
      pkt_pts=26652|tag:lavfi.scene_score=0.249577
      ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  76.03s user 0.22s system 99% cpu 1:16.27 total
      
      patch applied
      pkt_pts=3587|tag:lavfi.scene_score=0.269890
      pkt_pts=4838|tag:lavfi.scene_score=0.248957
      pkt_pts=6548|tag:lavfi.scene_score=0.234619
      pkt_pts=9969|tag:lavfi.scene_score=0.224912
      pkt_pts=12471|tag:lavfi.scene_score=0.225158
      pkt_pts=16225|tag:lavfi.scene_score=0.289809
      pkt_pts=19645|tag:lavfi.scene_score=0.285013
      pkt_pts=22314|tag:lavfi.scene_score=0.280295
      pkt_pts=24817|tag:lavfi.scene_score=0.206486
      pkt_pts=25651|tag:lavfi.scene_score=0.208556
      pkt_pts=26652|tag:lavfi.scene_score=0.249577
      ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  50.27s user 0.20s system 99% cpu 50.476 total
      
      5. AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8
      are tested by format= with the fate sample: Vertical400kbit.sorenson3.mov like below:
      time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
      "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=rgba,select=gt(scene\,.25)"
      
      patch applied:
      pkt_pts=1620|tag:lavfi.scene_score=1.000000
      pkt_pts=4140|tag:lavfi.scene_score=0.656277
      pkt_pts=5800|tag:lavfi.scene_score=1.000000
      pkt_pts=6720|tag:lavfi.scene_score=0.346218
      pkt_pts=8160|tag:lavfi.scene_score=0.987686
      pkt_pts=9760|tag:lavfi.scene_score=1.000000
      pkt_pts=14080|tag:lavfi.scene_score=0.629187
      pkt_pts=15700|tag:lavfi.scene_score=1.000000
      pkt_pts=18500|tag:lavfi.scene_score=0.356211
      pkt_pts=20040|tag:lavfi.scene_score=0.284775
      pkt_pts=21760|tag:lavfi.scene_score=1.000000
      
      6. AV_PIX_FMT_YUVJ422P
      time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
      "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=yuvj422p,select=gt(scene\,.25)"
      
      patch applied:
      pkt_pts=1620|tag:lavfi.scene_score=0.838281
      pkt_pts=4140|tag:lavfi.scene_score=0.541382
      pkt_pts=5800|tag:lavfi.scene_score=0.780588
      pkt_pts=6720|tag:lavfi.scene_score=0.298274
      pkt_pts=8160|tag:lavfi.scene_score=0.699106
      pkt_pts=9760|tag:lavfi.scene_score=0.730136
      pkt_pts=14080|tag:lavfi.scene_score=0.537742
      pkt_pts=15700|tag:lavfi.scene_score=0.811946
      pkt_pts=18500|tag:lavfi.scene_score=0.263382
      pkt_pts=21760|tag:lavfi.scene_score=0.880773
      Reviewed-by: 's avatarMarton Balint <cus@passwd.hu>
      Signed-off-by: 's avatarLimin Wang <lance.lmwang@gmail.com>
      b696caba
    • Limin Wang's avatar
      fate: change the scenecut fate threshold · d75c7dd4
      Limin Wang authored
      why change .4 to .25, it's for:
      one scenecut(pkt_pts=20040) isn't detected by 0.4 threshold
      
      why not change to 0.3 instead of 0.25:
      it will miss the scenecut(pkt_pts=20040) after applying the next
      patch which enables yuvj420
      
      for fate testing, it's better to catch all scenecut scenes.
      Reviewed-by: 's avatarMarton Balint <cus@passwd.hu>
      Signed-off-by: 's avatarLimin Wang <lance.lmwang@gmail.com>
      d75c7dd4
  14. 15 Jul, 2019 1 commit
  15. 12 Jul, 2019 1 commit
  16. 11 Jul, 2019 2 commits
  17. 12 Jun, 2019 2 commits
  18. 14 May, 2019 1 commit
  19. 12 May, 2019 3 commits
    • Philip Langdale's avatar
      swscale: Add test for isSemiPlanarYUV to pixdesc_query · 4fa4f1d7
      Philip Langdale authored
      Lauri had asked me what the semi planar formats were and that reminded
      me that we could add it to pixdesc_query so we know exactly what the
      list is.
      4fa4f1d7
    • Philip Langdale's avatar
      swscale: Add support for NV24 and NV42 · cd483180
      Philip Langdale authored
      The implementation is pretty straight-forward. Most of the existing
      NV12 codepaths work regardless of subsampling and are re-used as is.
      Where necessary I wrote the slightly different NV24 versions.
      
      Finally, the one thing that confused me for a long time was the
      asm specific x86 path that did an explicit exclusion check for NV12.
      I replaced that with a semi-planar check and also updated the
      equivalent PPC code, which Lauri kindly checked.
      cd483180
    • Philip Langdale's avatar
      avutil: Add NV24 and NV42 pixel formats · 5de4f1d8
      Philip Langdale authored
      These are the 4:4:4 variants of the semi-planar NV12/NV21 formats.
      
      These formats are not used much, so we've never had a reason to add
      them until now. VDPAU recently added support HEVC 4:4:4 content
      and when you use the OpenGL interop, the returned surfaces are in
      NV24 format, so we need the pixel format for media players, even
      if there's no direct use within ffmpeg.
      
      Separately, there are apparently webcams that use NV24, but I've
      never seen one.
      5de4f1d8
  20. 08 May, 2019 3 commits
  21. 22 Apr, 2019 1 commit
  22. 18 Apr, 2019 1 commit
  23. 14 Apr, 2019 1 commit
  24. 11 Apr, 2019 1 commit
  25. 05 Apr, 2019 1 commit
  26. 03 Apr, 2019 1 commit
    • Gyan Doshi's avatar
      lavf/movenc: fix tmcd writing for non-MP4/MOV modes · 8161ac29
      Gyan Doshi authored
      write_tmcd allows tmcd track to be created with any mode but in
      mov_write_header, index for first tmcd track is only set for modes
      MP4 or MOV, causing a crash if tmcd creation is attempted with other
      modes.
      8161ac29
  27. 14 Mar, 2019 2 commits
  28. 13 Mar, 2019 1 commit
  29. 09 Mar, 2019 1 commit
  30. 04 Mar, 2019 1 commit
  31. 27 Feb, 2019 1 commit