1. 31 Mar, 2019 2 commits
    • Lauri Kasanen's avatar
      swscale/ppc: VSX-optimize yuv2422_1 · a6a31ca3
      Lauri Kasanen authored
      ./ffmpeg -f lavfi -i yuvtestsrc=duration=1:size=1200x1440 \
                  -s 1200x1440 -f null -vframes 100 -pix_fmt $i -nostats \
                  -cpuflags 0 -v error -
      
      15.3x speedup:
      
      yuyv422
        14513 UNITS in yuv2packed1,   32768 runs,      0 skips
          949 UNITS in yuv2packed1,   32767 runs,      1 skips
      yvyu422
        14516 UNITS in yuv2packed1,   32767 runs,      1 skips
          943 UNITS in yuv2packed1,   32767 runs,      1 skips
      uyvy422
        14530 UNITS in yuv2packed1,   32767 runs,      1 skips
          941 UNITS in yuv2packed1,   32766 runs,      2 skips
      a6a31ca3
    • Paul B Mahol's avatar
      avcodec: add Amuse Graphics decoder · 4e8cbbf7
      Paul B Mahol authored
      This work is sponsored by VideoLAN.
      4e8cbbf7
  2. 30 Mar, 2019 4 commits
    • Philip Langdale's avatar
      avutil/hcontext_cuda: Remove unnecessary stream synchronisation · 52d8f35b
      Philip Langdale authored
      Similarly to the previous changes, we don't need to synchronise
      after a memcpy to device memory. On the other hand, we need to
      keep synchronising after a copy to host memory, otherwise there's
      no guarantee that subsequent host reads will return valid data.
      52d8f35b
    • Philip Langdale's avatar
      avcodec/cuviddec: Remove unnecessary stream synchronisation · 5d90d1e3
      Philip Langdale authored
      We're also doing a sync here after copying the frame to be passed
      on down the pipleine. And it is also unnecessary.
      
      I was able to demonstrate a 33% speedup removing the sync from
      an example transcode pipeline.
      5d90d1e3
    • Philip Langdale's avatar
      avfilter/vf_yadif_cuda: Remove unnecessary stream synchronisation · c0b6e4cb
      Philip Langdale authored
      I put this call in by habit, rather than because there was any
      actual need. The filter is simply processing frames one after
      the other and has no need to synchronise.
      
      malakudi on the devtalk forums noticed a slowdown when using nvenc
      with temporal/spatial aq and that the slowdown went away if the
      sync call was removed. I also verified that in the basic encoding
      case there's an observable speedup.
      
      I also verified that we aren't doing unnecessary sync calls in any
      other filter.
      c0b6e4cb
    • Gyan Doshi's avatar
      doc/filters: mention input requirements for ebur128 · 5282cbae
      Gyan Doshi authored
      The filter requires input stream to have sample rate 48000 Hz and dbl fmt.
      
      Fixes #7812
      5282cbae
  3. 29 Mar, 2019 4 commits
  4. 28 Mar, 2019 9 commits
  5. 27 Mar, 2019 8 commits
    • Carl Eugen Hoyos's avatar
      lavc/vaapi_h264: Do not set FMO fields. · f8fa8bbf
      Carl Eugen Hoyos authored
      The fields are deprecated in current vaapi,
      setting them to 0 in old versions is fine
      as FMO is not implemented.
      
      Fixes the following warnings:
      libavcodec/vaapi_h264.c:259:10: warning: 'num_slice_groups_minus1' is deprecated [-Wdeprecated-declarations]
              .num_slice_groups_minus1                    = pps->slice_group_count - 1,
               ^
      libavcodec/vaapi_h264.c:260:10: warning: 'slice_group_map_type' is deprecated [-Wdeprecated-declarations]
              .slice_group_map_type                       = pps->mb_slice_group_map_type,
               ^
      libavcodec/vaapi_h264.c:261:10: warning: 'slice_group_change_rate_minus1' is deprecated [-Wdeprecated-declarations]
              .slice_group_change_rate_minus1             = 0, /* FMO is not implemented */
               ^
      
      Reviewed-by: Mark Thompson
      f8fa8bbf
    • Carl Eugen Hoyos's avatar
      lavc/vaapi_hevc: Do not initialize fields twice. · 9fa757ad
      Carl Eugen Hoyos authored
      Fixes the following compilation warnings:
      libavcodec/vaapi_hevc.c:155:21: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
              .pic_fields.bits = {
                         ~^~~~
      libavcodec/vaapi_hevc.c:125:57: note: previous initialization is here
              .pic_fields.value                             = 0,
                                                              ^
      libavcodec/vaapi_hevc.c:175:31: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
              .slice_parsing_fields.bits = {
                                   ~^~~~
      libavcodec/vaapi_hevc.c:126:57: note: previous initialization is here
              .slice_parsing_fields.value                   = 0,
      
      Reviewed-by: Mark Thompson
      9fa757ad
    • Mark Thompson's avatar
      configure: Do not enable both OpenCL-VAAPI interop modes simultaneously · d0b174d7
      Mark Thompson authored
      Beignet offers a far more flexiable and complete interface, so choose it
      by default if available.
      d0b174d7
    • Carl Eugen Hoyos's avatar
      lavf/latmenc: Return the correct error for wrong codec. · 6bc800de
      Carl Eugen Hoyos authored
      Requested-by: Nicolas George
      6bc800de
    • Michael Niedermayer's avatar
      avcodec/hevcdec: Avoid only partly skiping duplicate first slices · 54655623
      Michael Niedermayer authored
      Fixes: NULL pointer dereference and out of array access
      Fixes: 13871/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5746167087890432
      Fixes: 13845/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5650370728034304
      
      This also fixes the return code for explode mode
      
      Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegReviewed-by: 's avatarJames Almer <jamrial@gmail.com>
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      54655623
    • Lauri Kasanen's avatar
      swscale/ppc: VSX-optimize yuv2rgb_full · 681957b8
      Lauri Kasanen authored
      ./ffmpeg -f lavfi -i yuvtestsrc=duration=1:size=1200x1440 \
              -s 1200x1440 -f null -vframes 100 -pix_fmt $i -nostats \
              -cpuflags 0 -v error -
      
      This uses 32-bit mul, so POWER8 only.
      
      The following output formats get about 4.5x speedup:
      
      rgb24
        39980 UNITS in yuv2packed1,   32768 runs,      0 skips
         8774 UNITS in yuv2packed1,   32768 runs,      0 skips
      bgr24
        40069 UNITS in yuv2packed1,   32768 runs,      0 skips
         8772 UNITS in yuv2packed1,   32766 runs,      2 skips
      rgba
        39759 UNITS in yuv2packed1,   32768 runs,      0 skips
         8681 UNITS in yuv2packed1,   32767 runs,      1 skips
      bgra
        39729 UNITS in yuv2packed1,   32768 runs,      0 skips
         8696 UNITS in yuv2packed1,   32766 runs,      2 skips
      argb
        39766 UNITS in yuv2packed1,   32768 runs,      0 skips
         8672 UNITS in yuv2packed1,   32766 runs,      2 skips
      bgra
        39784 UNITS in yuv2packed1,   32768 runs,      0 skips
         8659 UNITS in yuv2packed1,   32767 runs,      1 skips
      681957b8
    • Lauri Kasanen's avatar
      swscale: Remove duplicated code · 81a4719d
      Lauri Kasanen authored
      In this function, the exact same clamping happens both in the if and unconditionally.
      81a4719d
    • Decai Lin's avatar
      lavc/h264_levels: add MaxMBPS checking and update fate test. · ec1e4a8b
      Decai Lin authored
      1. add MaxMBPS checking for level idc setting to align with AVC spec
         AnnexA table A-1/A-6 level limits.
      2. update h264 level fate test.
      Signed-off-by: 's avatarDecai Lin <decai.lin@intel.com>
      Signed-off-by: 's avatarMark Thompson <sw@jkqxz.net>
      ec1e4a8b
  6. 26 Mar, 2019 2 commits
  7. 25 Mar, 2019 11 commits