1. 08 Nov, 2019 1 commit
  2. 07 Nov, 2019 1 commit
    • Guo, Yejun's avatar
      avfilter/vf_dnn_processing: add a generic filter for image proccessing with dnn networks · 4d980a8c
      Guo, Yejun authored
      This filter accepts all the dnn networks which do image processing.
      Currently, frame with formats rgb24 and bgr24 are supported. Other
      formats such as gray and YUV will be supported next. The dnn network
      can accept data in float32 or uint8 format. And the dnn network can
      change frame size.
      
      The following is a python script to halve the value of the first
      channel of the pixel. It demos how to setup and execute dnn model
      with python+tensorflow. It also generates .pb file which will be
      used by ffmpeg.
      
      import tensorflow as tf
      import numpy as np
      import imageio
      in_img = imageio.imread('in.bmp')
      in_img = in_img.astype(np.float32)/255.0
      in_data = in_img[np.newaxis, :]
      filter_data = np.array([0.5, 0, 0, 0, 1., 0, 0, 0, 1.]).reshape(1,1,3,3).astype(np.float32)
      filter = tf.Variable(filter_data)
      x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
      y = tf.nn.conv2d(x, filter, strides=[1, 1, 1, 1], padding='VALID', name='dnn_out')
      sess=tf.Session()
      sess.run(tf.global_variables_initializer())
      output = sess.run(y, feed_dict={x: in_data})
      graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
      tf.train.write_graph(graph_def, '.', 'halve_first_channel.pb', as_text=False)
      output = output * 255.0
      output = output.astype(np.uint8)
      imageio.imsave("out.bmp", np.squeeze(output))
      
      To do the same thing with ffmpeg:
      - generate halve_first_channel.pb with the above script
      - generate halve_first_channel.model with tools/python/convert.py
      - try with following commands
        ./ffmpeg -i input.jpg -vf dnn_processing=model=halve_first_channel.model:input=dnn_in:output=dnn_out:fmt=rgb24:dnn_backend=native -y out.native.png
        ./ffmpeg -i input.jpg -vf dnn_processing=model=halve_first_channel.pb:input=dnn_in:output=dnn_out:fmt=rgb24:dnn_backend=tensorflow -y out.tf.png
      Signed-off-by: 's avatarGuo, Yejun <yejun.guo@intel.com>
      Signed-off-by: 's avatarPedro Arthur <bygrandao@gmail.com>
      4d980a8c
  3. 06 Nov, 2019 1 commit
  4. 05 Nov, 2019 4 commits
  5. 04 Nov, 2019 5 commits
  6. 03 Nov, 2019 1 commit
    • Zhong Li's avatar
      lavc/qsvenc: enable vp9 encoder · 33583803
      Zhong Li authored
      1. must enable low_power mode since just VDENC can be supported by iHD
      driver right now
      2. Coding option1 and extra_data are not supported by MSDK
      3. IVF header will be inserted in MSDK by default, but it is not needed
      for FFmpeg, so disable it.
      Signed-off-by: 's avatarZhong Li <zhongli_dev@126.com>
      33583803
  7. 30 Oct, 2019 1 commit
  8. 26 Oct, 2019 1 commit
    • ManojGuptaBonda's avatar
      Add support for VP9 VDPAU hwaccel decode · 1054752c
      ManojGuptaBonda authored
      Support for VDPAU accelerated VP9 decoding was added with libvdpau-1.3.
      Support for the same in ffmpeg is added with this patch. Profiles
      related to VDPAU VP9 can be found in latest vdpau.h present in
      libvdpau-1.3. DRC clips are not supported yet due to
      http://trac.ffmpeg.org/ticket/8068
      
      Add VP9 VDPAU to list of hwaccels and supported formats
      Added file vdpau_vp9.c and Modified configure to add VDPAU VP9 support.
      Mapped VP9 profiles to VDPAU VP9 profiles. Populated the codec specific
      params that need to be passed to VDPAU.
      Signed-off-by: 's avatarPhilip Langdale <philipl@overt.org>
      1054752c
  9. 09 Sep, 2019 1 commit
  10. 05 Sep, 2019 2 commits
  11. 03 Sep, 2019 1 commit
  12. 02 Sep, 2019 3 commits
    • Andriy Gelman's avatar
      avformat: Add ZeroMQ as a protocol · ef43a4d6
      Andriy Gelman authored
      When ffmpeg was streaming, multiple clients were only supported by using a
      multicast destination address. An alternative was to stream to a server which
      re-distributes the content. This commit adds ZeroMQ as a protocol, which allows
      multiple clients to connect to a single ffmpeg instance.
      Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
      ef43a4d6
    • Andrey Semashev's avatar
      configure: Update libmysofa check with a new symbol. · 7ea2710e
      Andrey Semashev authored
      The current code in libavfilter/af_sofalizer.c requires
      mysofa_neighborhood_init_withstepdefine function, which only appeared
      in libmysofa 0.7. Use this function in configure script to bail out
      early if a too old libmysofa is found in the system instead of failing
      at compile time.
      7ea2710e
    • Nick Renieris's avatar
      lavc/tiff: Decode embedded JPEGs in DNG images · c31c7089
      Nick Renieris authored
      Used a technique similar to lavc/tdsc.c for invoking the MJPEG decoder.
      
      This commit adds support for:
      - DNG tiles
      - DNG tile huffman lossless JPEG decoding
      - DNG 8-bpp ("packed" as dcraw calls it) decoding
      - DNG color scaling [1]
        - LinearizationTable tag
        - BlackLevel tag
      
      [1]: As specified in the DNG Specification - Chapter 5
      Signed-off-by: 's avatarNick Renieris <velocityra@gmail.com>
      c31c7089
  13. 29 Aug, 2019 2 commits
    • Paul B Mahol's avatar
      avcodec: add IMM5 decoder · 7c0b3ba7
      Paul B Mahol authored
      7c0b3ba7
    • Aman Gupta's avatar
      configure: fix --enable-omx compile on raspberry pi · 59e651c0
      Aman Gupta authored
      Many ffmpeg + rpi compilation guides on the internet recommend
      using `./configure --enable-omx --enable-omx-rpi`. This fails
      to find the IL OMX headers on device because the omx require_headers
      check happens first before the add_cflags in omx_rpi.
      
      A workaround is to use `./configure --enable-omx-rpi` only, since
      omx_rpi already implies omx. But because many users expect to use
      existing scripts and commands, we swap the order here so omx_rpi
      special cases are applied first.
      
      In the past this wasn't an issue because users noticed the OMX_Core.h
      missing error and installed libomxil-bellagio-dev. But since
      76c82843, the rpi specific headers from /opt/vc/include/IL
      are required.
      Signed-off-by: 's avatarAman Gupta <aman@tmm1.net>
      59e651c0
  14. 22 Aug, 2019 1 commit
  15. 20 Aug, 2019 3 commits
  16. 15 Aug, 2019 1 commit
  17. 11 Aug, 2019 1 commit
  18. 05 Aug, 2019 1 commit
  19. 04 Aug, 2019 1 commit
    • Rodger Combs's avatar
      build: add support for building CUDA files with clang · 01994c93
      Rodger Combs authored
      This avoids using the CUDA SDK at all; instead, we provide a minimal
      reimplementation of the basic functionality that lavfi actually uses.
      It generates very similar code to what NVCC produces.
      
      The header contains no implementation code derived from the SDK.
      The function and type declarations are derived from the SDK only to the
      extent required to build a compatible implementation. This is generally
      accepted to qualify as fair use.
      
      Because this option does not require the proprietary SDK, it does not require
      the "--enable-nonfree" flag in configure.
      Signed-off-by: 's avatarTimo Rothenpieler <timo@rothenpieler.org>
      01994c93
  20. 10 Jul, 2019 1 commit
  21. 08 Jul, 2019 1 commit
  22. 24 Jun, 2019 1 commit
    • Alexander Strasser's avatar
      configure: print_in_columns: Replace pr with awk · 99147312
      Alexander Strasser authored
      Get rid of pr dependency and write the columns strictly
      alphabetical without page size considerations (POSIX
      specifies 66 lines as default).
      
      Setting the page size via pr's -l option was considered,
      but as there is issue #5680 which wants to avoid pr
      mainly because it's not in busybox, we chose to replace
      pr instead.
      
      Before pr would attempt to write pages, thus if a page
      boundary was reached, the output looked confusing as one
      couldn't see there was a new page and the alphabetical
      order was disrupted when scanning down one of the columns.
      
      This change is based on a shell implementation submitted
      before by Yejun.
      
      Possible differences to the current version using pr:
      1. pr implementations should truncate items to not overflow columns;
         depending on how it's done not truncating shall be better IMHO.
      2. pr implementations might balance columns differently;
         we use minimum number of lines and might end up not
         using all columns or might have lesser entries in the
         last column(s)
      3. we use spaces only for padding the columns; at least the GNU pr
         version on my system also by default stuffs in tabs in addition
         to a single space in between columns. I don't see that this
         behaviour is demanded by POSIX, though I might be very well
         overlooking things. Anyway for our use case I can't see a need
         for having the additional tabs, or why it would be better compared
         to padding with spaces only.
      
      Fixes output for sizes with width < column width, too.
      
      Fixes remaining part of ticket #5680
      
      Contributor: Guo, Yejun <yejun.guo@intel.com>
      99147312
  23. 12 Jun, 2019 2 commits
  24. 24 May, 2019 1 commit
  25. 15 May, 2019 1 commit
  26. 14 May, 2019 1 commit