summaryrefslogtreecommitdiffstats
path: root/libavfilter/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* avfilter/Makefile: add missing framesync dependency to bm3d & mix filtersLou Logan2019-11-081-2/+2
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* avfilter/vf_dnn_processing: add a generic filter for image proccessing with ↵Guo, Yejun2019-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dnn networks 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: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* avfilter: add median filterPaul B Mahol2019-10-291-0/+1
|
* avfilter: add maskedmin/maskedmax filtersPaul B Mahol2019-10-241-0/+2
|
* avfilter: add bilateral filterPaul B Mahol2019-10-211-0/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter: add arnndn filterPaul B Mahol2019-10-161-0/+1
|
* avfilter: add anlms filterPaul B Mahol2019-10-061-0/+1
|
* libavfilter: add photosensitivity filterVladimir Panteleev2019-09-301-0/+1
|
* avfilter: add scroll video filterPaul B Mahol2019-09-301-0/+1
|
* avfilter/Makefile: fix case for sierpinskiPaul B Mahol2019-09-251-1/+1
|
* avfilter: add sierpinski video sourcePaul B Mahol2019-09-251-0/+1
|
* lavfi: add deshake_opencl filterJarek Samic2019-08-231-0/+2
|
* avfilter: add v360 filterEugene Lyapustin2019-08-191-0/+1
| | | | Signed-off-by: Eugene Lyapustin <unishifft@gmail.com>
* lavfi: addroi filterMark Thompson2019-07-281-0/+1
| | | | This can be used to add region of interest side data to video frames.
* libavfilter/dnn: move dnn files from libavfilter to libavfilter/dnnGuo, Yejun2019-07-261-2/+1
| | | | | | | | | | | | | | | | | it is expected that there will be more files to support native mode, so put all the dnn codes under libavfilter/dnn The main change of this patch is to move the file location, see below: modified: libavfilter/Makefile new file: libavfilter/dnn/Makefile renamed: libavfilter/dnn_backend_native.c -> libavfilter/dnn/dnn_backend_native.c renamed: libavfilter/dnn_backend_native.h -> libavfilter/dnn/dnn_backend_native.h renamed: libavfilter/dnn_backend_tf.c -> libavfilter/dnn/dnn_backend_tf.c renamed: libavfilter/dnn_backend_tf.h -> libavfilter/dnn/dnn_backend_tf.h renamed: libavfilter/dnn_interface.c -> libavfilter/dnn/dnn_interface.c Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* avfilter: add deesser audio filterPaul B Mahol2019-07-021-0/+1
|
* libavfilter: Add derain filterXuewei Meng2019-06-061-0/+1
| | | | | | | | | Remove the rain in the input image/video by applying the derain methods based on convolutional neural networks. Training scripts as well as scripts for model generation are provided in the repository at https://github.com/XueweiMeng/derain_filter.git. Signed-off-by: Xuewei Meng <xwmeng96@gmail.com>
* avfilter: add showspatial multimedia filterPaul B Mahol2019-05-311-0/+1
|
* lavfi/opencl: add nlmeans_opencl filterRuiling Song2019-05-241-0/+1
| | | | | Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* avfilter: add asr filterPaul B Mahol2019-05-141-0/+1
|
* avfilter: add xmedian filterPaul B Mahol2019-05-141-0/+1
|
* avfilter: add colorhold filterPaul B Mahol2019-05-111-0/+1
| | | | Fixes #7671.
* avfilter: add audio soft clip filterPaul B Mahol2019-04-271-0/+1
|
* lavfi: add colorkey_opencl filterJarek Samic2019-04-201-0/+2
| | | | | | | This is a direct port of the CPU filter. Signed-off-by: Jarek Samic <cldfire3@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avfilter: add lagfun filterPaul B Mahol2019-04-201-0/+1
|
* avutil/cuda_check: fix usage of removed .c fileTimo Rothenpieler2019-02-151-7/+5
| | | | Why did this not break compilation?
* libavfilter: add transpose_vaapi filterZachary Zhou2019-01-231-0/+1
| | | | | | | | | | | | Swap width and height when do clock/cclock rotation Add reversal/hflip/vflip options ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i input.264 -vf "transpose_vaapi=clock_flip" -c:v h264_vaapi output.h264 Signed-off-by: Zachary Zhou <zachary.zhou@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avfilter: add maskfun filterPaul B Mahol2019-01-121-0/+1
|
* lavfi/Makefile: Fix bwdif filter standalone compilation.Carl Eugen Hoyos2019-01-101-1/+1
|
* avfilter: add anlmdn audio filterPaul B Mahol2019-01-081-0/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavf: add transpose_opencl filterRuiling Song2018-12-021-0/+1
| | | | | Signed-off-by: Ruiling Song <ruiling.song@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avfilter/vf_freezedetect: add filter to detect frozen inputMarton Balint2018-11-191-0/+1
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter: add rgbashift filterPaul B Mahol2018-11-191-0/+1
|
* avfilter: add chromashift filterPaul B Mahol2018-11-191-0/+1
|
* avfilter: add dedot video filterPaul B Mahol2018-11-161-0/+1
|
* avutil/hwcontext_cuda: Define and use common CHECK_CU()Philip Langdale2018-11-141-5/+8
| | | | | | | | | | | | | | | | | | We have a pattern of wrapping CUDA calls to print errors and normalise return values that is used in a couple of places. To avoid duplication and increase consistency, let's put the wrapper implementation in a shared place and use it everywhere. Affects: * avcodec/cuviddec * avcodec/nvdec * avcodec/nvenc * avfilter/vf_scale_cuda * avfilter/vf_scale_npp * avfilter/vf_thumbnail_cuda * avfilter/vf_transpose_npp * avfilter/vf_yadif_cuda
* avfilter/vf_framerate: factorize SAD functions which compute SAD for a whole ↵Marton Balint2018-11-111-0/+1
| | | | | | | | | frame Also add SIMD which works on lines because it is faster then calculating it on 8x8 blocks using pixelutils. Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_yadif_cuda: CUDA accelerated yadif deinterlacerPhilip Langdale2018-11-021-0/+1
| | | | | | This is a cuda implementation of yadif, which gives us a way to do deinterlacing when using the nvdec hwaccel. In that scenario we don't have access to the nvidia deinterlacer.
* libavfilter/vf_yadif: Make frame management logic and options shareablePhilip Langdale2018-11-021-1/+1
| | | | | | | | | | | I'm writing a cuda implementation of yadif, and while this obviously has a very different implementation of the actual filtering, all the frame management is unchanged. To avoid duplicating that logic, let's make it shareable. From the perspective of the existing filter, the only real change is introducing a function pointer for the filter() function so it can be specified for the specific filter.
* avfilter: add tpad filterPaul B Mahol2018-11-021-0/+1
|
* avfilter: add (a)graphmonitor filter(s)Paul B Mahol2018-10-311-0/+2
|
* avfilter: add xstack filterPaul B Mahol2018-10-261-0/+1
|
* avfilter: add vibrance filterPaul B Mahol2018-10-231-0/+1
|
* avfilter/setparams : merge setfield and setrange filter to setparams filterMartin Vignali2018-10-211-1/+2
| | | | setfield and setrange filters are kept.
* avfilter: add chromahold filterPaul B Mahol2018-10-211-0/+1
|
* avfilter: add sinc source filterPaul B Mahol2018-10-191-0/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter: add audio denoising (afftdn) filterPaul B Mahol2018-09-251-0/+1
|
* avfilter: add acrossover filterPaul B Mahol2018-09-161-0/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter: add bm3d filterPaul B Mahol2018-09-131-0/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter: add amultiply audio filterPaul B Mahol2018-09-131-0/+1
|
OpenPOWER on IntegriCloud