Michael Niedermayer
1e24da5cfe
avformat/flvdec: Check data before casting
...
Fixes: -nan is outside the range of representable values of type 'long'
Fixes: signed integer overflow: 1000 * -9223372036854775808 cannot be represented in type 'long'
Fixes: 34890/clusterfuzz-testcase-minimized-ffmpeg_dem_FLV_fuzzer-5334208657620992
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-06-12 14:22:42 +02:00
Shubhanshu Saxena
5509235818
lavfi/dnn: Fill Task using Common Function
...
This commit adds a common function for filling the TaskItems
in all three backends.
Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2021-06-12 15:18:58 +08:00
Shubhanshu Saxena
6b961f7409
lavfi/dnn: Use uint8_t for async and do_ioproc in TaskItems
...
These properties have values either 0 or 1, so using uint8_t
is a better option as compared to int.
Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2021-06-12 15:18:58 +08:00
Shubhanshu Saxena
9675ebbb91
lavfi/dnn: Add nb_output to TaskItem
...
Add nb_output property to TaskItem for use in TensorFlow backend
and Native backend.
Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2021-06-12 15:18:58 +08:00
Shubhanshu Saxena
446b4f77c1
lavfi/dnn: Convert output_name to char** in TaskItem
...
Convert output_name to char **output_names in TaskItem and use it as
a pointer to array of output names in the DNN backend.
Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2021-06-12 15:18:58 +08:00
Shubhanshu Saxena
f5ab8905fd
lavfi/dnn: Extract TaskItem and InferenceItem from OpenVino Backend
...
Extract TaskItem and InferenceItem from OpenVino backend and convert
ov_model to void in TaskItem.
Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2021-06-12 15:18:58 +08:00
Anton Khirnov
580e168a94
lavu/mem: un-inline av_size_mult()
...
There seems to be no compelling reason for it to be inline.
2021-06-11 19:42:47 +02:00
Anton Khirnov
71c0ef882e
lavf: clarify probesize/format_probesize doxy
...
probesize is not used for probing the input format, but its
documentation claims it does.
2021-06-11 19:42:24 +02:00
Anton Khirnov
5384ee486a
doc: fix generating doxy with out-of-tree builds
...
Broken in 753930bc73
, as the path to
Doxyfile passed to doxy-wrapper.sh is relative to the build dir, while
the recipe cd's to the source dir before invoking the wrapper.
2021-06-11 19:28:27 +02:00
stuhlo
a501d55905
avcodec/cuviddec: correctly set key_frame with interlaced content
...
Fixes #9283
This fixes setting of 'key_frame' flag in AVFrame when input h264 packets represents individual fields of interlaced video.
In this case, pairs of two consecutive fields represents a single decoded picture and have identical 'CurrPicIdx', however, only
the first field is entirely intra-coded and has the flag 'intra_pic_flag' set and the second field was resetting the flag before
it was even read in the function 'cuvid_output_frame'.
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2021-06-11 16:50:53 +02:00
James Almer
94af6414ab
ffmpeg: silence a thread_safe_callbacks deprecation warning
...
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-10 21:57:44 -03:00
James Almer
ae0863b91d
examples/muxing: add missing header
...
Fixed compilation broken by e67e02d156
.
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-10 21:19:39 -03:00
James Almer
260dc1c5f3
examples/extract_mvs: add missing header
...
Fixed compilation broken by e67e02d156
.
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-10 21:19:28 -03:00
James Almer
3191bb5c35
examples/demuxing_decoding: add missing header
...
Fixed compilation broken by e67e02d156
.
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-10 21:19:12 -03:00
James Almer
2cccab96f6
avformat: make AVStream.pts_wrap_bits public
...
It can be useful to library users, and is currently being used by ffmpeg.c
Suggested-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-10 18:37:26 -03:00
Steven Liu
58c908cf94
avfilter/overlay_cuda: support expression of x y position
...
and add per-frame / init mode for it.
Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2021-06-10 22:51:43 +02:00
zheng qian
f38458089f
avformat/mpegtsenc: enable muxing of ARIB captions
...
Writes a general ARIB stream identifier descriptor, as well
as a data component descriptor which also includes a
pre-defined additional_arib_caption_info structure.
Signed-off-by: zheng qian <xqq@xqq.im>
2021-06-10 23:16:55 +03:00
Anton Khirnov
c8778606b3
lavu/video_enc_params: make sure blocks are properly aligned
2021-06-10 16:59:50 +02:00
Anton Khirnov
1256b71ba9
lavf/mp3dec: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
c9642265f8
lavf/mov_chan: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
823ca1ba84
lavf/matroska: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
f3dafe6a41
lavf/latmenc: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
e246625b01
lavf/id3v1: drop unnecessary avcodec.h include
2021-06-10 16:51:44 +02:00
Anton Khirnov
5620d18e66
lavf/hevc: drop unnecessary avcodec.h include
2021-06-10 16:51:44 +02:00
Anton Khirnov
f79d009b7c
lavf/framecrcenc: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
239b7d2e40
lavf/adtsenc: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
e7196afe28
lavf/a64: avoid avcodec.h dependency
2021-06-10 16:51:44 +02:00
Anton Khirnov
e67e02d156
lavf/avformat.h: drop the avcodec.h include
...
Since AVStream.codec is gone, avformat.h does not require anything from
avcodec.h.
2021-06-10 16:51:44 +02:00
Anton Khirnov
ed728da3af
tools/uncoded_frame: include required headers explicitly
2021-06-10 16:51:44 +02:00
Anton Khirnov
51200769c3
lavf/icoenc: include required headers explicitly
2021-06-10 16:51:44 +02:00
Anton Khirnov
c4c6c83421
lavf/internal: include avcodec.h explicitly
...
Do not depend on avformat.h to provide it.
2021-06-10 16:51:44 +02:00
Anton Khirnov
5d920255aa
lavfi/lavfutils: include required headers explicitly
2021-06-10 16:51:44 +02:00
Anton Khirnov
c28823ff97
lavc/get_bits: avoid avcodec.h dependency
...
Include only defs.h, needed for AV_INPUT_BUFFER_PADDING_SIZE.
2021-06-10 16:51:44 +02:00
Anton Khirnov
58a39e3436
lavc/hevc_sei: include buffer.h explicitly
...
Do not rely on including it indirectly through get_bits.h->avcodec.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
43002487cb
lavc/mlp_parse: add required includes explicitly
2021-06-10 16:51:44 +02:00
Anton Khirnov
93822dacb9
lavc/dolby_e_parser: #include avcodec.h explicitly
...
This file uses definitions from it, but relies on an indirect include
through get_bits.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
9dbdabe0e0
lavc/cbs_internal: clean up headers
...
Include all required headers explicitly, avoid avcodec.h dependency.
2021-06-10 16:51:44 +02:00
Anton Khirnov
e91901adf6
lavc/cbs: avoid avcodec.h dependency
...
Include only the headers that are actually needed.
2021-06-10 16:51:44 +02:00
Anton Khirnov
f3f404edd2
lavc/cbs_bsf.h: explicitly #include all required headers
2021-06-10 16:51:44 +02:00
Anton Khirnov
7c9763070d
lavc: move av_get_profile_name() from avcodec.h to codec.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
bb3648e676
lavc: move av_get_audio_frame_duration2() from avcodec.h to codec_par.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
881db34f6a
lavc: move av_get_pcm_codec() from avcodec.h to codec_id.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
2628dff366
lavc: move avcodec_profile_name() from avcodec.h to codec_id.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
000f35125f
lavc: move av_get_[exact_]bits_per_sample() to codec_id.h
2021-06-10 16:51:44 +02:00
Anton Khirnov
ff0a96046d
lavc: move small misc definitions into a separate header
...
This will allow to avoid #including the entire avcodec.h in some places.
2021-06-10 16:51:44 +02:00
zhilizhao
cf1746d779
ffmpeg_videotoolbox: skip memory copy if hwaccel_output_format match
...
Simple test results:
Command:
./ffmpeg -y -hwaccel videotoolbox -hwaccel_output_format videotoolbox_vld \
-i test.mp4 -an -c:v h264_videotoolbox -benchmark out.mp4
Before:
frame= 1221 fps= 66 q=-0.0 Lsize= 3144kB time=00:00:20.33 bitrate=1266.6kbits/s dup=4 drop=0 speed= 1.1x
bench: utime=2.714s stime=1.218s rtime=18.574s
After:
frame= 1221 fps=137 q=-0.0 Lsize= 3144kB time=00:00:20.33 bitrate=1266.4kbits/s dup=4 drop=0 speed=2.28x
bench: utime=1.450s stime=1.440s rtime=8.924s
It has limited usecase since there is no video filter support, so
a log message is added to notify the user.
Reviewed-by: Steven Liu <liuqi05@kuaishou.com>
2021-06-10 19:54:03 +08:00
Lynne
08d933bf61
hwcontext_vulkan: fix typo in vulkan_device_init()
...
load_functions() did not load the device-level functions.
2021-06-10 12:24:04 +02:00
Gyan Doshi
99bbf4a5be
doc/ffmpeg: document reinit_filter
2021-06-10 09:57:18 +05:30
James Almer
591b88e678
avformat: move AVStream.{first,cur}_dts to AVStreamInternal
...
They are private fields, no reason to have them exposed in a public header.
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-09 13:55:25 -03:00
James Almer
39affa5f8e
avdevice/libcdio: fix AVStream.cur_dts usage
...
It should not be accessed from outside of libavformat.
Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-09 13:55:25 -03:00