Commit Graph

4694 Commits

Author SHA1 Message Date
Yayoi 0463df6f42 avfilter/lut: reduce dereference in the inner loop
For rgb, with a 1080p source, 69 to 74fps on core i5(2 core, 1.8GHz),
and 136 to 160 fps on an core i7(4770R, 3.2Ghz)
Changed the yuv code for consistency, even though the performance
increase is not as obvious as rgb

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 21:54:23 +01:00
Michael Niedermayer 19ecd675c5 avfilter/vf_spp: add gbrp support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 17:46:35 +01:00
Michael Niedermayer 4a06215c1a avfilter/vf_spp: add gray8 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 17:43:10 +01:00
Michael Niedermayer 3ff8ef62bb avfilter/vf_spp: Fix pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 16:54:18 +01:00
Paul B Mahol 5f90ef6611 lavfi: add colorlevels filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-12-16 10:10:04 +00:00
Michael Niedermayer 838aa08d75 avfilter/vf_spp: support 10bit per sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:49:35 +01:00
Michael Niedermayer 6de2f027cd avfilter/vf_dctdnoiz: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 15:56:32 +01:00
Michael Niedermayer eb055295bd avfilter/f_sendcmd: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 15:54:45 +01:00
Michael Niedermayer 609a73b6ff avfilter/vf_uspp: fix gray pixfmt handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 17:16:49 +01:00
Michael Niedermayer 3dd5f7aaa0 avfilter/vf_uspp: fix used chroma subsampling factors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 16:54:13 +01:00
Michael Niedermayer 354fda7698 avfilter/vf_uspp: fix used pix_fmt
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 16:38:44 +01:00
Michael Niedermayer 43fb40c3c3 avfilter/vf_kerndeint: use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 14:18:30 +01:00
Michael Niedermayer 498396f80c avfilter/vf_unsharp: use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 14:18:30 +01:00
Michael Niedermayer 792a5004a1 avfilter/vf_uspp: Add grayscale support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 05:48:28 +01:00
Michael Niedermayer b898c49ba1 avfilter/vf_uspp: assert that the qp_type is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 05:48:28 +01:00
Arwa Arif 9f85c273a3 Delete mp=uspp 2014-12-12 18:28:31 +00:00
Michael Niedermayer 2a8eb0d156 avfilter/vf_spp: The qp array width is qp_stride not stride/16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 18:14:15 +01:00
Michael Niedermayer e8dbecb995 avfilter/vf_spp: Allocate qp storage after qp_stride is known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 18:13:13 +01:00
Michael Niedermayer 30d2ac4bf9 avfilter/vf_spp: change temporary to unsigned
More consistent with uspp and allows for future 10bit support

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 13:34:18 +01:00
Michael Niedermayer e07c82688e avfilter/vf_uspp: fix integer overflow in intermediate
Fixes Ticket3596

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 04:28:34 +01:00
Michael Niedermayer 13c3a97bf1 avfilter/vf_uspp: remove YUV 411/422/440
snow doesnt support 422/411/440 currently, so these do not work yet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:31 +01:00
Michael Niedermayer e1540cdf07 avfilter/vf_uspp: use the average QP instead of QP[0]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:31 +01:00
Michael Niedermayer 5172782352 avfilter/vf_uspp: The qp array width is qp_stride not stride/16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:04 +01:00
Michael Niedermayer d2d8ac24b8 avfilter/vf_uspp: Allocate qp storage after qp_stride is known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:04 +01:00
Michael Niedermayer 327c5292f2 avfilter/version: bump for uspp
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 01:58:52 +01:00
Clément Bœsch e93abe1f40 avfilter/uspp: use AVFILTER_DEFINE_CLASS() 2014-12-12 01:52:19 +01:00
Clément Bœsch 397859c4a8 avfilter/uspp: make src const in store_slice_c() 2014-12-12 01:45:29 +01:00
Clément Bœsch 73d88109c0 avfilter/uspp: misc style fixes 2014-12-12 01:42:25 +01:00
Arwa Arif 100fc395b6 lavfi: USPP Filter
Previous version reviewed by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 01:03:44 +01:00
Michael Niedermayer a2fa1889a6 avfilter/vf_perspective: add av_assert0() to help gcc see that there are no uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 13:40:20 +01:00
Michael Niedermayer 7ad742b224 avfilter/vf_signalstats: fix avframe leak on error
Fixes CID1257014
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 17:05:20 +01:00
Michael Niedermayer 8280b7db47 avfilter/buffersrc: add context to av_log() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:31:05 +01:00
Michael Niedermayer b4ece54947 avfilter/avcodec: use NULL instead of 0 for pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:29:23 +01:00
Michael Niedermayer 46b64e3098 Revert "avfilter/vf_interlace: more accurate pts calculation"
This reverts commit df8248f66e.

the revert produces a timebase and timestamps that are more close
to what users expect

Hoped-by: koda
2014-12-02 18:48:03 +01:00
Michael Niedermayer 59f1f764d6 avfilter/vf_tinterlace: Favor using standard timebases for the output
Reported-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Inspired by discussion with Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 18:28:06 +01:00
Neil Birkbeck e4788e9cd9 avfilter/vf_yadif: fix extra leading dup frame when deint=1
Logic for handling single frame in yadif (0f9f24c9), caused deint=1 (e.g., yadif=0:-1:1) to output extra duplicate leading frame:

ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm  -vf yadif=0:-1:1,showinfo -f null -y /dev/null
 [Parsed_showinfo_1 @ 0x1d967d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
 [Parsed_showinfo_1 @ 0x1d967d0] n:1 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
(Outputs 51 frames)

After patch, vf "yadif=0:-1:1" behaves correctly (like "yadif=0:-1:0") and outputs 50 frames, first two:

[Parsed_showinfo_1 @ 0x1e307d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:68E8D1EB plane_checksum:[68E8D1EB] mean:[126] stdev:[46.0]
[Parsed_showinfo_1 @ 0x1e307d0] n:1 pts:2 pts_time:0.04 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:4E674BC7 plane_checksum:[4E674BC7] mean:[125] stdev:[46.0]
(Outputs 50 frames)

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 21:59:47 +01:00
Neil Birkbeck dd5d617956 avfilter/vf_idet: Fixing idet for single-frame inputs.
Handle single frame inputs similar to yadif (e.g., https://github.com/FFmpeg/FFmpeg/commit/0f9f24c9cfd291c7ece4d3bad64fdf06d107168a and https://github.com/FFmpeg/FFmpeg/commit/681e008d06d2241d50abe6316c908a184ddc5942)

Example:
  ffmpeg -r 1 -t 1 -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm  -vf idet,showinfo -f null -y /dev/null

Previously:
  Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
  [Parsed_idet_0 @ 0x36389d0] Repeated Fields: Neither:     0 Top:     0 Bottom:     0

After patch:
  [Parsed_showinfo_1 @ 0x1909810] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 ...
  [Parsed_idet_0 @ 0x18f9bb0] Repeated Fields: Neither:     1 Top:     0 Bottom:     0

Fate looks good.

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 23:38:59 +01:00
Clément Bœsch c2ea7069c4 avfilter/signalstats: re-use yuv/yuvu/yuvv vars in diff 2014-11-26 21:29:09 +01:00
Clément Bœsch 9cb1d81a60 avfilter/signalstats: localize a few variables 2014-11-26 21:29:09 +01:00
Clément Bœsch 82dda8e4ea avfilter/signalstats: add threading in compute_sat_hue_metrics 2014-11-26 21:29:09 +01:00
Clément Bœsch 7acbd56a8a avfilter/signalstats: isolate sat hue computation metrics in a function
This will be useful for the following commit
2014-11-26 21:29:09 +01:00
Clément Bœsch 9db78a296c avfilter/signalstats: add slice threading for subfilters 2014-11-26 21:29:09 +01:00
Clément Bœsch fad6865748 avfilter/signalstats: fix repitition/repetition typo 2014-11-26 21:29:09 +01:00
Clément Bœsch cc5c667eb1 avfilter/signalstats: reindent after previous commit 2014-11-26 21:29:08 +01:00
Clément Bœsch 56b98dfc4f avfilter/signalstats: integrate height loop into subfilters 2014-11-26 21:29:08 +01:00
Clément Bœsch c7e8f610f2 avfilter/signalstats: remove pointless sub filter init system 2014-11-26 21:29:08 +01:00
Clément Bœsch b424e67abf avfilter/signalstats: fix different buffers for out frame if burn is enabled
This was the original intend.
2014-11-26 21:29:08 +01:00
Michael Niedermayer ca59b5b6ec avfilter/x86/vf_interlace: remove redundant instructions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:37:19 +01:00
Michael Niedermayer 3fe3c8abb1 Merge commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b'
* commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b':
  vf_interlace: x86: improve asm performance

Conflicts:
	libavfilter/x86/vf_interlace.asm

See: 05e4b25e9b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:31:45 +01:00
Michael Niedermayer ca5c3ff909 vf_interlace: x86: improve asm performance
4775 decicycles -> 3688 decicycles
2014-11-25 02:00:06 +00:00