summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavf/flvdec: Set avg_frame_rate for video streams.Carl Eugen Hoyos2016-11-25
| | | | | Requested-by: qw, applemax82 at 163 dot com Reviewed-by: Steven Liu
* MAINTAINERS: Add Vittorio to "Developers with git write access who are ↵Michael Niedermayer2016-11-25
| | | | | | currently not maintaining any specific part" Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* MAINTAINERS: Add developers who have git write access but are otherwise not ↵Michael Niedermayer2016-11-25
| | | | | | listed Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* softfloat: decrease MIN_EXP to cover full float rangeAndreas Cadhalpun2016-11-25
| | | | | | | | floats are not necessarily normalized, so a normalized softfloat needs MIN_EXP lowered by 23 to cover that range. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* fate/exr: add test for pxr24 with half and uint32 channelMartin Vignali2016-11-25
| | | | Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* libavcodec/exr: add support for uint32 channel decoding with pxr24Martin Vignali2016-11-25
| | | | | | Doesn't decode the uint32 layer, but decodes the half part of the file. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* libopusdec: default to stereo for invalid number of channelsAndreas Cadhalpun2016-11-25
| | | | | | | This fixes an out-of-bounds read if avc->channels is 0. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* flvdec: require need_context_update when changing codec idAndreas Cadhalpun2016-11-25
| | | | | | | | Otherwise the codec context and codecpar might disagree on the codec id, triggering asserts in av_parser_parse2. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* swresample/resample: optimize exact_rational=on:linear_interp=on caseMuhammad Faiz2016-11-25
| | | | | | | | | | | | | | | | | | | separate dsp.resample to dsp.resample_common and dsp.resample_linear and choose to call faster resample_common even when linear_interp=on when c->frac and c->dst_incr_mod are both zero speed up resampling when exact_rational and linear_interp are both enabled because exact_rational force c->frac and c->dst_incr_mod to be zero when soft compensation does not happen benchmark on exact_rational=on:linear_interp=on old new real 8.432s 5.097s user 7.679s 4.989s sys 0.125s 0.107s Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* fate/swresample: add resample exact_lin and exact_lin_async testMuhammad Faiz2016-11-25
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* avutil/tests: add cpu_init to .gitignore and tests/fateWan-Teh Chang2016-11-24
| | | | | | | This is a follow-up to commit d84a21207ea83055dc9b6dc1cd6a379f2ea756e7, which added the libavutil/tests/cpu_init.c. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/tests/.gitignore: add integralWan-Teh Chang2016-11-24
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* cuda: check for cuda.h when enabledJames Almer2016-11-24
| | | | | | | Fixes make checkheaders on systems without the Cuda Toolkit, which was broken after the dynlink changes. Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg_filter: fix several logic failuresPaul B Mahol2016-11-24
| | | | | | | | | Move global thread variables to better place. Use correct variable for simple and complex filtergraphs. This makes number of threads set per filter work again. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* pgssubdec: only set w/h/linesize when allocating dataAndreas Cadhalpun2016-11-24
| | | | | | | Rects with positive w/h/linesize but no data are invalid. Reviewed-by: Petri Hintukainen <phintuka@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* lavfi/pan: allow negative gain parameters also for other inputs than the ↵Moritz Barsnick2016-11-24
| | | | | | | | | | | | | | first named Expands the parser to also accept the separator '-' in addition to '+', and take the negative sign into consideration. The optional sign for the first factor in the expression is already covered by parsing for an integer. Signed-off-by: Moritz Barsnick <barsnick@gmx.net> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/vaapi_hevc: fix scaling list duplicate transfer issue.Jun Zhao2016-11-23
| | | | | | | | | | | | scaling list is already transfered to raster scan during head parsing, so no need to transfer it again. And after this fix, FATE test SLIST_A_Sony_4/SLIST_B_Sony_8/ SLIST_C_Sony_3/SLIST_D_Sony_9 will pass in i965/Skylake. Signed-off-by: Wang, Yi A <yi.a.wamg@intel.com> Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avutil/tests: Add cpu_init.c to check whether the one-time initialization in ↵Wan-Teh Chang2016-11-23
| | | | | | | | av_get_cpu_flags() has data races. Co-author: Dmitry Vyukov of Google Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/cpu: remove the |checked| static variableWan-Teh Chang2016-11-23
| | | | | | | | | | | Remove the |checked| variable because the invalid value of -1 for |flags| can be used to indicate the same condition. Also rename |flags| to |cpu_flags| because there are a local variable and a function parameter named |flags| in the same file. Co-author: Dmitry Vyukov of Google Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cuvid: Restore initialization of pixel format in init()Philip Langdale2016-11-23
| | | | | | | | | | | | I moved this into the handle_video_sequence callback because that's the earliest time you can make an accurate decision as to what the format should be. However, transcoding requires that the decision between using the accelerated PIX_FMT_CUDA vs a normal pix format happen at init() time. There is enough information available to make that decision and things work out with the underlying format only being discovered in the sequence callback.
* avfilter/vf_zscale: add support for some recent new additionsPaul B Mahol2016-11-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* fate: update fate-source ref fileJames Almer2016-11-23
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/examples/muxing: Fix av_frame_make_writable usageSam Hocevar2016-11-23
| | | | | | | | | | | | | This patch moves the av_frame_make_writable() call from fill_yuv_image to get_video_frame so that its argument can be the actual frame that will be sent to the encoder. This fixes data corruption issues in codecs that keep references on one or several previous frames. Signed-off-by: Sam Hocevar <sam@hocevar.net> Reviewed-by: wm4 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/options_table: make channel_layouts uint64Michael Niedermayer2016-11-23
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/opt: Add AV_OPT_TYPE_UINT64Michael Niedermayer2016-11-23
| | | | | | | Requested-by: wm4 ([FFmpeg-devel] [PATCH] avutil/opt: Support max > INT64_MAX in write_number() with AV_OPT_TYPE_INT64) Requested-by: ronald ([FFmpeg-devel] [PATCH] avutil/opt: Support max > INT64_MAX in write_number() with AV_OPT_TYPE_INT64) Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* sbgdec: prevent NULL pointer accessAndreas Cadhalpun2016-11-23
| | | | | Reviewed-by: Josh de Kock <josh@itanimul.li> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* rmdec: validate block alignmentAndreas Cadhalpun2016-11-23
| | | | | | | This fixes division by zero crashes. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* smacker: limit recursion depth of smacker_decode_bigtreeAndreas Cadhalpun2016-11-23
| | | | | | | | This fixes segmentation faults due to stack-overflow caused by too deep recursion. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avformat/mpeg: Adjust vid probe threshold to correct mis-detectionMichael Niedermayer2016-11-23
| | | | | | Fixes: _ij.mp3 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* mxfdec: fix NULL pointer dereference in mxf_read_packet_oldAndreas Cadhalpun2016-11-23
| | | | | | | Metadata streams have priv_data set to NULL. Reviewed-by: Josh de Kock <josh@itanimul.li> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* libvpxenc: Support targeting a VP9 levelAlex Converse2016-11-22
| | | | Levels are specified at https://www.webmproject.org/vp9/levels/
* avcodec/cuvid: Add support for P010/P016 as an output surface formatPhilip Langdale2016-11-22
| | | | | | | | | | | | | | | | | The nvidia 375.xx driver introduces support for P016 output surfaces, for 10bit and 12bit HEVC content (it's also the first driver to support hardware decoding of 12bit content). The cuvid api, as far as I can tell, only declares one output format that they appear to refer to as P016 in the driver strings. Of course, 10bit content in P016 is identical to P010, and it is useful for compatibility purposes to declare the format to be P010 to work with other components that only know how to consume P010 (and to avoid triggering swscale conversions that are lossy when they shouldn't be). For simplicity, this change does not maintain the previous ability to output dithered NV12 for 10/12 bit input video - the user will need to update their driver to decode such videos.
* libavutil/hwcontext_cuda: Support P010 and P016 formatsPhilip Langdale2016-11-22
| | | | | CUVID is now capable of returning 10bit and 12bit decoded content in P010/P016. Let's support transfering those formats.
* avutil: add P016 pixel formatPhilip Langdale2016-11-22
| | | | | | | | | P016 is the 16-bit variant of NV12 (planar luma, packed chroma), using two bytes per component. It may, and in fact is most likely to, be used in situations where there are less than 16 bits of data. It is the responsibility of the writer to zero out any unused LSBs.
* avcodec/libx264: fix forced_idr logicTimo Rothenpieler2016-11-22
| | | | | | | | 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>
* avcodec/cuvid: allow setting number of used surfacesMiroslav Slugen2016-11-22
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: better surface allocation alghoritm, fix rc_lookaheadMiroslav Slugeň2016-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | User selectable surfaces are not working correctly, if you set number of surfaces on cmdline, it will always use minimum 32 or 48 depends on selected resolution, but in nvenc it is not necessary to use so many surfaces. So from now you can define as low as 1 surface and nvenc will still work, it will ofcourse lower GPU memory usage by 95% and async_delay to zero That was the easy part, now littlebit more... Next part of this patch is to always prefer rc_lookahead to be more important for number of surfaces, than user defined surfaces value. Maximum rc_lookahead from nvidia documentation is 32, but could increase in future generations so there is no limit for this yet. Value async_depth is still accepted and prefered over rc_lookahead. There were also bug when you request more than rc_lookahead > 31, it will always set maximum 31, because surface numbers recalculation was after setting lookahead, which is now fixed. Results: If you set -rc_lookahead 32 and -bf 3 it will now use only 40 surfaces and lower GPU memory usage by 20%, also it will now increase PSNR by 0.012dB Two more comments: 1. from my internal test, i don't understand addition of 4 more surfaces when lookahead is calculated, i didn't used this and everything works as with those 4 more extra surfaces, does anybody know what is going on there? I looks like it was used for B frames which are calculated separately, because B frames maximum is 4. 2. rc_lookahead is defined default to -1, but in test condition if (ctx->rc_lookahead) which sets lookahead it will be always true, i don't know if this is intended behavior, so in default behavior is lookahead always on! This is default condition when rc_lokkahead is -1 (not defined on cmdline), whis is maybe something that is not intended: ctx->encode_config.rcParams.enableLookahead = 1; ctx->encode_config.rcParams.lookaheadDepth = 0; ctx->encode_config.rcParams.disableIadapt = 0; ctx->encode_config.rcParams.disableBadapt = 0; Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: maximum usable surfaces are limited to maximum registered framesMiroslav Slugeň2016-11-22
| | | | | | | Maximum usable surfaces is limited to MAX_REGISTERED_FRAMES constant in nvenc.h Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* configure: cuda is no longer nonfree, enable and autodetect by defaultTimo Rothenpieler2016-11-22
|
* avfilter/vf_hwupload_cuda: check ff_formats_ref for errorsTimo Rothenpieler2016-11-22
|
* avfilter/vf_hwupload_cuda: use new hwdevice allocation APITimo Rothenpieler2016-11-22
|
* avcodec/nvenc: use dynamically loaded CUDATimo Rothenpieler2016-11-22
|
* avfilter/vf_scale_npp: use dynamically loaded CUDATimo Rothenpieler2016-11-22
|
* avcodec/cuvid: use dynamically loaded CUDA/CUVIDTimo Rothenpieler2016-11-22
| | | | And remove the now obsolete compat headers.
* avutil/hwcontext_cuda: use dynamically loaded CUDATimo Rothenpieler2016-11-22
|
* compat/cuda: add dynamic loaderTimo Rothenpieler2016-11-22
|
* avformat/flvenc: add no_metadata to flvflagsSteven Liu2016-11-22
| | | | | | | some flv have no metadata, ffmpeg will same with the source flv stream. Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
* avformat/utils: add missing brackets around arguments in av_realloc() callJames Almer2016-11-21
| | | | | Found-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* vaapi_encode: Fix format specifier for bitrate loggingMark Thompson2016-11-21
| | | | | Same as e0df56f25d09b14f5315799338be246806c46806. This was accidentally reintroduced while merging c8241e730f116f1c9cfc0b34110aa7f052e05332.
* lavc/vaapi_encode_h264: fix poc incorrect issue after meeting idr frame.Jun Zhao2016-11-21
| | | | | | | | | | | when meeting IDR frame, vaapi_encode_h264 poc number don't reset, now fix this issue based on h264 spec. Some decoder don't care this case, but this fix will enhance the encoder action. Before this fix, poc number is negative in some case. Reviewed-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Wang, Yi A <yi.a.wang@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>