Timo Rothenpieler
c2f3af57a5
avcodec/nvenc: mark intentional fall through
2016-11-30 12:36:23 +01:00
Timo Rothenpieler
7dafb3a25a
avfilter/vf_hwupload_cuda: fix potential leak
2016-11-30 12:36:23 +01:00
Timo Rothenpieler
52773a2c68
avutil/hwcontext_cuda: check for missing pixel format
2016-11-30 12:36:23 +01:00
Timo Rothenpieler
88281a5256
avfilter/vf_scale_npp: check ff_set_common_formats return value
2016-11-30 12:36:23 +01:00
Timo Rothenpieler
5ea8f70623
avcodec/libx264: fix forced_idr logic
...
Currently, it forces IDR frames for both true and false.
Not entirely sure what the original idea behind the tri-state bool
option is.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-11-22 16:35:08 +01:00
Timo Rothenpieler
8228b714be
configure: cuda is no longer nonfree, enable and autodetect by default
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
0faf3c3a25
avfilter/vf_hwupload_cuda: check ff_formats_ref for errors
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
b0ca90d7cb
avfilter/vf_hwupload_cuda: use new hwdevice allocation API
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
a66835bcb1
avcodec/nvenc: use dynamically loaded CUDA
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
a0c9e76942
avfilter/vf_scale_npp: use dynamically loaded CUDA
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
d9ad18f3b4
avcodec/cuvid: use dynamically loaded CUDA/CUVID
...
And remove the now obsolete compat headers.
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
e6464a44ed
avutil/hwcontext_cuda: use dynamically loaded CUDA
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
5c02d2827b
compat/cuda: add dynamic loader
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
30c5587503
avcodec/nvenc: add support for forcing intra/idr frames
2016-10-12 20:51:43 +02:00
Timo Rothenpieler
5d4fea88d4
avcodec/cuvid: don't align frame size
...
hwcontext_cuda was changed to take care of proper alignment internally
2016-10-04 12:58:42 +02:00
Timo Rothenpieler
c4b78f9662
MAINTAINERS: add myself for hwcontext_cuda
2016-10-03 15:49:22 +02:00
Timo Rothenpieler
a0d7ce1406
avutil/hwcontext_cuda: align allocated frames
2016-10-03 15:49:22 +02:00
Timo Rothenpieler
b7bd5b9794
configure: define posix source on cygwin
...
Some function definitions are missing without it,
for example sigaction.
Fixes ticket #5868
2016-10-02 17:28:30 +02:00
Timo Rothenpieler
97e7f03d35
avutil/hwcontext_cuda: use proper synchronization flag
2016-09-29 22:58:34 +02:00
Timo Rothenpieler
ba0e516533
avcodec/cuvid: make use of new av_hwdevice_ctx_create api
2016-09-29 22:58:34 +02:00
Timo Rothenpieler
49511501aa
avcodec/cuvid: support a pre-initialized hw_frames_ctx
2016-09-29 22:58:34 +02:00
Timo Rothenpieler
f0ea96d8a2
avcodec/cuvid: use actual frame size for buffer allocation
2016-09-29 22:58:34 +02:00
Timo Rothenpieler
856e1eacf7
ffmpeg_cuvid: make use of new av_hwdevice_ctx_create api
2016-09-29 15:57:32 +02:00
Timo Rothenpieler
c03b9d6a62
avcodec/nvenc: nicely align AVOptions
2016-09-28 16:48:43 +02:00
Timo Rothenpieler
033f98c902
avcodec/nvenc: add HEVC REXT profile
2016-09-28 16:48:43 +02:00
Timo Rothenpieler
a81b000a39
avcodec/nvenc: Make sure that enum and array index match
...
Based on libav commits by Luca Barbato and Yogender Gupta:
https://git.libav.org/?p=libav.git;a=commit;h=352741b5ead1543d775ccf6040f33023e4491186
https://git.libav.org/?p=libav.git;a=commit;h=e02e2515b24bfc37ede6ca1744696230be55e50b
2016-09-28 16:48:43 +02:00
Timo Rothenpieler
99b823f0a1
avcodec/mpegvideo_enc: fix memory leak
...
When the input frames contain side data, it will accumulate endlessly in
the coded frame, as av_frame_copy_props will append any new side data.
Fixes ticket #5799 .
2016-09-26 18:21:00 +02:00
Timo Rothenpieler
7904859fd8
compat/cuda: convert to unix line endings
2016-09-23 11:43:00 +02:00
Timo Rothenpieler
dcea618976
avcodec/cuvid: mark as avoid for probing
2016-09-23 11:17:49 +02:00
Timo Rothenpieler
9777ba33f5
avformat/utils: avoid using marked decoders for probing
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
2016-09-23 11:16:26 +02:00
Timo Rothenpieler
30d3e36a46
avcodec: add new AVOID_PROBING capability
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
2016-09-23 11:15:08 +02:00
Timo Rothenpieler
6d9a46e884
avformat/utils: force native h264 decoder for probing
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
2016-09-22 13:16:00 +02:00
Timo Rothenpieler
0b420886a4
avcodec/cuvid: add support for hardware deinterlacing
...
Currently does not work with the ffmpeg cli tool, due do it using the
old one in one out API.
Anything using the new API, like mpv, can make use of it, provided it is
prepared for a decoder modifying the framerate and outputing multiple
frames per input. FFmpeg itself is not.
2016-09-21 18:23:14 +02:00
Timo Rothenpieler
3b24020b54
avcodec/cuvid: implement new send_packet/receive_frame api
2016-09-21 18:22:27 +02:00
Timo Rothenpieler
b91e0e5987
avcodec/cuvid: check for and warn about invalid pkt_timebase
2016-09-09 17:56:07 +02:00
Timo Rothenpieler
132adf73af
avcodec/cuvid: use pkt_timebase instead of time_base
2016-09-09 17:56:07 +02:00
Timo Rothenpieler
8ebe1dddfb
avcodec/nvenc: use frame size instead of surface size
2016-09-08 19:08:31 +02:00
Timo Rothenpieler
fa3ecad071
avcodec/nvenc: correctly set inputPitch
2016-09-07 18:44:10 +02:00
Timo Rothenpieler
96cba1c552
avcodec/nvenc: use av_image_copy for copying frame data
2016-09-07 18:44:10 +02:00
Timo Rothenpieler
e3fd1857fb
swscale: add unscaled conversion from yuv420p to p010
2016-09-06 12:41:28 +02:00
Timo Rothenpieler
39f75645c8
swscale: add unscaled copy from yuv420p10 to p010
2016-09-03 00:09:39 +02:00
Timo Rothenpieler
1c37be6e95
configure: check for dlsym as well
...
For some reason, when compiling with gcc-asan and a recent enough gcc
version(seen on 5.3+ so far), linking dlopen works without -ldl, but
dlsym fails with:
undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
So this patchs checks for both dlopen and dlsym to work for determining
if -ldl is needed.
2016-09-03 00:09:39 +02:00
Timo Rothenpieler
2b1d316ff6
configure: fix ldl dependency for new nvenc encoder names
2016-08-31 20:16:00 +02:00
Timo Rothenpieler
20f0902010
configure: fix nvenc detection logic
2016-08-31 15:40:00 +02:00
Timo Rothenpieler
99882d05a6
swscale: add support for P010LE/BE output
2016-08-31 13:19:46 +02:00
Timo Rothenpieler
2625b955a3
avfilter/drawutils: honor shift for color component description
2016-08-31 13:19:46 +02:00
Timo Rothenpieler
d3a23b6777
avfilter/drawutils: P010 is not supported
2016-08-31 13:19:46 +02:00
Timo Rothenpieler
cac2df230e
avcodec/nvenc: update license header
2016-08-28 19:51:22 +02:00
Timo Rothenpieler
26a5cbd781
avcodec/nvenc: use proper soname for cuda/nvenc libraries
2016-08-28 19:49:56 +02:00
Timo Rothenpieler
df615efcf2
avcodec/nvenc: check maximum driver API version
2016-08-28 19:46:44 +02:00
Timo Rothenpieler
a19989cae5
avcodec/nvenc: fix potantially uninitialized free
2016-08-28 18:58:05 +02:00
Timo Rothenpieler
19e75fd883
avcodec/nvenc: fix library names on cygwin
2016-08-28 18:58:05 +02:00
Timo Rothenpieler
325e56479f
avcodec/nvenc: include nvEncodeAPI v7 SDK header
...
As Nvidia has put the most recent Video Codec SDK behind a double
registration wall, of which one needs manual approval of a lenghty
application, bundling this header saves everyone trying to use NVENC
from that headache.
The header is still MIT licensed and thus fine to bundle with ffmpeg.
Not bundling this header would get ffmpeg stuck at SDK v6, which is
still freely available, holding back future development of the NVENC
encoder.
2016-08-28 16:47:54 +02:00
Timo Rothenpieler
1a75145559
lavfi: Move new field to the end of AVFilterContext
...
This fixes an accidental ABI break introduced at 8688d3a .
2016-06-29 18:23:28 +02:00
Timo Rothenpieler
1eb43af1a0
lavfi: Move new field to the end of AVFilterLink
...
Even though this is not part of the public API, some external
applications access fields after it, thus breaking after updating from
ffmpeg 3.0 or earlier.
Since it is not public, it can be freely moved to the end to avoid
that problem in the future.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-29 12:53:07 +02:00
Timo Rothenpieler
1bd9fb6de5
ffplay: Fix usage of private lavfi API
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-29 12:53:01 +02:00
Timo Rothenpieler
888a5c7947
avcodec/nvenc: Bring encoder names in line with other encoders
2016-06-25 23:05:17 +02:00
Timo Rothenpieler
d865e74e6d
ffmpeg: Add cuvid hwaccel support
2016-06-10 16:31:23 +02:00
Timo Rothenpieler
88e8aef9e9
avcodec/cuvid: add cuvid decoder
2016-06-10 16:31:23 +02:00
Timo Rothenpieler
808356c61c
avcodec/nvenc: Check capabilities for interlaced encoding
2016-06-06 23:52:55 +02:00
Timo Rothenpieler
7c55f5d782
avcodec/nvenc: Don't set packet duration
...
It's not expected to be set on video packets and causes issues in
ffmpeg.c.
2016-06-04 12:20:59 +02:00
Timo Rothenpieler
e5babccfbc
avcodec/nvenc: Refactor timestamp generation logic
...
Directly adapted from libav
2016-05-31 18:59:37 +02:00
Timo Rothenpieler
69c25c0ad7
avcodec/nvenc: forward frame duration
2016-05-31 18:39:28 +02:00
Timo Rothenpieler
971351b664
avcodec/nvenc: Handle minqp-only case in set_vbr
2016-05-31 17:00:07 +02:00
Timo Rothenpieler
eae4eba9cb
avcodec/nvenc: twopass mode works in all modes
2016-05-31 16:55:24 +02:00
Timo Rothenpieler
1330a0f31f
avcodec/nvenc: Fix forcing constqp rc mode
...
The CONSTQP enum value is 0, so this check failed for it.
2016-05-31 16:53:38 +02:00
Timo Rothenpieler
24fcb23351
avcodec/nvenc: Require Maxwell for lossless
2016-05-25 12:16:54 +02:00
Timo Rothenpieler and Anton Khirnov
09522a303d
configure: Don't require nonfree for nvenc
...
As the nvEncodeApi.h header is now MIT licensed, this can be dropped.
The loaded CUDA and NVENC libraries are part of the nvidia driver, and
thus count as system libraries.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2016-05-19 14:17:03 +02:00
Timo Rothenpieler and Anton Khirnov
cea1fb854c
nvenc: Generate bufferingPeriod/pictureTiming SEI
...
For some unknown reason enabling these causes proper CBR padding,
so as there are no known downsides just always enable them in CBR mode.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2016-05-19 14:17:03 +02:00
Timo Rothenpieler and Anton Khirnov
a1e215ea01
nvenc: Delay frame output to increase encoding speed
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2016-05-19 14:17:01 +02:00
Timo Rothenpieler and Anton Khirnov
795329dd4c
nvenc: Generate AUD NAL units for better compatiblity
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2016-05-19 14:08:30 +02:00
Timo Rothenpieler
c921ca9b5d
avcodec/nvenc: Write buffPeriod/picTime SEI in both CBR modes
2016-05-11 12:58:52 +02:00
Timo Rothenpieler
3a9df7dfec
avcodec/nvenc: Generate bufferingPeriod/pictureTiming SEI
...
For some unknown reason enabling these causes propper CBR padding,
so as there are no known downsides just always enable them in CBR mode.
2016-05-11 10:34:31 +02:00
Timo Rothenpieler
31ce01bdb9
avcodec/nvenc: don't set profile in lossless mode
2016-05-06 10:15:29 +02:00
Timo Rothenpieler
c4312b1cf4
avcodec/nvenc: Add missing lossless presets to doc string
2016-04-27 22:22:29 +02:00
Timo Rothenpieler
bc4137d4aa
configure: Don't require nonfree for nvenc
...
As the nvEncodeApi.h header is now MIT licensed, this can be dropped.
The loaded CUDA and NVENC libraries are part of the nvidia driver, and
thus count as system libraries.
2016-04-27 20:17:33 +02:00
Timo Rothenpieler
901b0f1a21
avformat/concatdec: Use correct stream count on close
2016-04-11 21:06:10 +02:00
Timo Rothenpieler
b3557c79dc
avcodec/nvenc: Generate AUD NAL units for better compatiblity
2016-03-30 12:03:59 +02:00
Timo Rothenpieler
665c05f7cb
configure: Fail if CUDA enabled but not found
...
Without this patch, configure still passes and enables CUDA, no matter
if it was actually found, breaking the build in case it was not.
2016-03-28 01:14:36 +02:00
Timo Rothenpieler
f2bdf9d26a
avcodec/nvenc: Fix typo and preset error message
2016-03-08 11:18:16 +01:00
Timo Rothenpieler
95a5fd4581
configure: NVENC API version 6 is now required
2016-03-04 23:03:14 +01:00
Timo Rothenpieler
d7c2b75681
vaapi: Add VP9 hwaccell support
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2015-12-22 12:54:23 +01:00
Timo Rothenpieler
31ee86cd98
avutil/opencl: Fix volatile pointer
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2015-09-26 20:28:29 +02:00
Timo Rothenpieler
4af1f37682
avfilter/vf_chromakey: Add chromakey video filter
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2015-09-23 18:10:14 +02:00
Timo Rothenpieler
85c343faad
avfilter/vf_colorkey: Improve filter description
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2015-09-18 14:52:19 +02:00
Timo Rothenpieler
dad38bff81
avcodec/vaapi_internal: Add missing include
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2015-09-16 11:41:07 +02:00
Timo Rothenpieler
1dd854e10f
vaapi: Add hevc hwaccel support
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2015-08-27 17:05:44 +02:00
Timo Rothenpieler
2ae45816b2
avcodec/nvenc: Add support for 2pass rc in vbr mode
...
Thanks to WereCatf for pointing out this now exists.
Github: Closes #143
2015-08-04 21:38:10 +02:00
Timo Rothenpieler
3a20e5bc3b
avcodec/nvenc: Only set h264 parameter when encoding h264
2015-08-04 21:38:10 +02:00
Timo Rothenpieler
bef740688d
avcodec/nvenc: Fix indentation
2015-08-04 21:38:10 +02:00
Timo Rothenpieler
9f4bff834c
avcodec/nvenc: Delay frame output to increase encoding speed
2015-07-26 00:52:15 +02:00
Timo Rothenpieler
15cd2f8ea9
avcodec/nvenc: Remove unused parameter
2015-07-25 23:43:16 +02:00
Timo Rothenpieler
550e872bcd
avcodec/nvenc: Fix build with older gcc versions
...
Aparently anonymous structs weren't always supported, not even sure if
they are standard conformant.
2015-07-14 23:00:44 +02:00
Timo Rothenpieler and Michael Niedermayer
f17d973413
avfilter/vf_colorkey: Add colorkey video filter
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-14 01:04:14 +02:00
Timo Rothenpieler and Michael Niedermayer
7b0689c55f
avcodec/nvenc: Add options for level and tier
...
Previous version reviewed-by: Philip Langdale <philipl@overt.org >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-09 18:20:26 +02:00
Timo Rothenpieler and Michael Niedermayer
764f87b6ab
avcodec/nvenc: Fix profile parameter handling
...
It was not possible to set a profile before, the builtin profile
parameter does not seem to work propperly.
To be compatible with libx264, this overlays it with a local parameter
that expects a string, instead of an int, that takes the well known values
"high", "main" or "baseline".
Reviewed-by: Philip Langdale <philipl@overt.org >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-02 14:33:42 +02:00
Timo Rothenpieler and Michael Niedermayer
b63c9a9990
avcodec/nvenc: Fix typoed nv_status checks
...
Thanks to Wyatt Aaron for pointing this out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-01 11:55:26 +02:00
Timo Rothenpieler and Michael Niedermayer
48f7c30bf7
avcodec/nvenc: Drop support for old nvenc api
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-24 17:25:11 +01:00
Timo Rothenpieler and Martin Storsjö
5aef535a64
dashenc: Update extradata for mov muxer
...
The mov muxer already supports picking up extradata that wasn't
present during the avformat_write_header call - we just need to
propagate it. Since the dash muxer uses delay_moov, we have time
up until the first segment is written to get extradata filled in.
Also update the codec description string when the extradata becomes
available.
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-03-06 10:07:17 +02:00
Timo Rothenpieler and Martin Storsjö
6cf7f30655
dashenc: Simplify code by using a local variable
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2015-03-06 10:07:11 +02:00