aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/matroskadec: use proper types for some EbmlSyntax fieldsJames Almer2019-09-041-2/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/nuv: prevent frame copying when outputting duplicate framesJames Almer2019-09-041-1/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/wcmv: prevent frame copying when outputting duplicate framesJames Almer2019-09-041-3/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* Revert "avcodec/wcmv: Avoid copying frames if they are unchanged"James Almer2019-09-041-3/+1
| | | | | | This reverts commit 976dae8b32f48d17cccfd6b19d2beb01770dfa7c. An alternative approach to reduce frame copying will follow.
* avcodec/wcmv: use ff_reget_buffer()James Almer2019-09-041-14/+9
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/decode: add a flags parameter to ff_reget_buffer()James Almer2019-09-0448-57/+58
| | | | | | | | | | Some decoders may not need a writable buffer in some specific cases, but only a reference to the existing buffer with updated frame properties instead, for the purpose of returning duplicate frames. For this, the FF_REGET_BUFFER_FLAG_READONLY flag is added, which will prevent potential allocations and buffer copies when they are not needed. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mpegts: Check if ready on SCTE receptionAnthony Delannoy2019-09-031-0/+7
| | | | | | | | On some DVB stream SCTE-35 data packet are available before the end of MpegTSContext initialization. We have to check if it is the case to avoid a SEGFAULT. Signed-off-by: Marton Balint <cus@passwd.hu>
* configure: ensure --enable-omx-rpi uses rpi-specific IL headersAman Gupta2019-09-031-3/+6
| | | | | | | | | | | | When compiling natively on an RPI where libomxil-bellagio-dev was also installed, `check_headers OMX_Core.h` succeeded and the -isystem compiler flag was never added to the build. For non-native builds, the error message now mentions the raspberrypi/firmware repository where the RPI specific headers are available. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_m2m: fix minor indentation issueAman Gupta2019-09-021-1/+1
|
* avcodec/v4l2_m2m: use log_ctx variable consistentlyAman Gupta2019-09-021-2/+2
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_m2m: log planar mode used by driverAman Gupta2019-09-021-1/+3
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_context: use EAGAIN to signal when input buffers are unavailableAman Gupta2019-09-022-2/+2
| | | | | | | | ENOMEM indicates an allocation failure, and there are no allocations happening here. The buffers are pre-allocated and there are simply none available at this time. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2m2m: fix error handling during buffer initJorge Ramirez-Ortiz2019-09-022-5/+23
| | | | | Signed-off-by: Jorge Ramirez-Ortiz <jramirez@baylibre.com> Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_buffers: return int64_t in v4l2_get_ptsLukas Rusak2019-09-021-1/+1
| | | | | | v4l2_pts is type int64_t we should return that instead of uint64_t Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_context: return {decoder,encoder}_cmd errorsAman Gupta2019-09-021-0/+4
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_m2m_enc: fix typo in log messageAman Gupta2019-09-021-1/+1
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_m2m_enc: log errno on v4l2_set_ext_ctrl failuresAman Gupta2019-09-021-2/+2
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_buffers: fix minor typos and whitespaceAman Gupta2019-09-022-3/+3
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_context: log VIDIOC_REQBUFS failuresAman Gupta2019-09-021-1/+3
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_m2m: remove trailing whitespace in output identifierAman Gupta2019-09-021-1/+1
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/v4l2_m2m: log requested pixel formatsAman Gupta2019-09-021-0/+11
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat: Add ZeroMQ as a protocolAndriy Gelman2019-09-028-2/+254
| | | | | | | | | When ffmpeg was streaming, multiple clients were only supported by using a multicast destination address. An alternative was to stream to a server which re-distributes the content. This commit adds ZeroMQ as a protocol, which allows multiple clients to connect to a single ffmpeg instance. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/omx: fix xFramerate calculationAman Gupta2019-09-021-2/+2
| | | | | | | | | | | Integer overflow in the Q16 framerate calculation was sending invalid values to the OMX encoder. On the RPI4, this manifested as bitrate controls being ignored on video streams with 60000/1001 framerates. Video streams with 30000/1001 framerates were not affected. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat/mpegtsenc: fix flushing of audio packetsMarton Balint2019-09-021-17/+2
| | | | | | | | | | | | | | | | | | | | | | | | 7d097a0fc57f0fa8385962a539c657c2f40b5ed0 had the same purpose as 3700f655c55e2001b57215210b957b169d66b50f but the former is much simpler, so let's remove the latter. Unfortunately both checks were wrong, because in order to make sure DTS > PCR we have to give us some headroom, so instead of using a dts_difference < max_delay check let's use a dts_difference < max_delay/2 check. Fixes DTS < PCR errors with this command line: ./ffmpeg -loglevel verbose -y -f lavfi -i \ "testsrc=s=64x64:d=20,split=2[out0][tmp1];[tmp1]vflip[out1];sine=d=20,asetnsamples=1000[out2]" \ -flags +bitexact -fflags +bitexact -sws_flags +accurate_rnd+bitexact \ -codec:v libx264 -codec:a mp2 -b:a 32k -pix_fmt yuv420p \ -map '0:v:0' \ -map '0:v:1' \ -map '0:a:0' \ -muxrate 800000 \ -program st=0:st=2 -program st=1:st=2 -program st=2 -program st=0 -f mpegts out1.ts Signed-off-by: Marton Balint <cus@passwd.hu>
* docs/formats: fix max_interleave_delta defaultMarton Balint2019-09-021-1/+1
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/ralf: fix undefined shift in extend_code()Michael Niedermayer2019-09-021-1/+1
| | | | | | | | Fixes: left shift of negative value -3 Fixes: 16147/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RALF_fuzzer-5658392722407424 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/ralf: fix undefined shiftMichael Niedermayer2019-09-021-2/+2
| | | | | | | | Fixes: left shift of negative value -2 Fixes: 16145/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RALF_fuzzer-5146671058518016 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pngdec: Optimize has_trns codeMichael Niedermayer2019-09-021-8/+29
| | | | | | | | | | | | | add inner loop specialisations for 2 bpp and 4 bpp These are all cases for which i found testsamples. 30M cycles -> 5M cycles Testcase: fate-rgbapng-4816 Testcase: 16097/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APNG_fuzzer-5664690889293824 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vcodec/apedec: Fix integer overflow in filter_3800()Michael Niedermayer2019-09-021-1/+1
| | | | | | | | Fixes: signed integer overflow: 2021654528 + 2032575680 cannot be represented in type 'int' Fixes: 16270/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5732438816325632 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/apedec: Fix integer overflow in filter_fast_3320()Michael Niedermayer2019-09-021-1/+1
| | | | | | | | Fixes: signed integer overflow: -1094994793 * 2 cannot be represented in type 'int' Fixes: 16139/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5663911036059648 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/v4l2_m2m: don't close the file descriptor we don't ownPavel Koshevoy2019-09-021-0/+1
| | | | | | | | | ff_v4l2_m2m_create_context initialized V4L2m2mContext.fd to 0 which is a valid file descriptor value. Next ff_v4l2_m2m_codec_init failed and v4l2_m2m_destroy_context closed file descriptor 0 even though it didn't belong to V4L2m2mContext. Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
* configure: Update libmysofa check with a new symbol.Andrey Semashev2019-09-021-2/+2
| | | | | | | | The current code in libavfilter/af_sofalizer.c requires mysofa_neighborhood_init_withstepdefine function, which only appeared in libmysofa 0.7. Use this function in configure script to bail out early if a too old libmysofa is found in the system instead of failing at compile time.
* avcodec/bgmc: Check input space in ff_bgmc_decode_init()Michael Niedermayer2019-09-023-3/+10
| | | | | | | | | Fixes: Infinite loop Fixes: 16608/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALS_fuzzer-5636229827133440 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vp3: Check for end of input in 2 places of vp4_unpack_macroblocks()Michael Niedermayer2019-09-021-0/+4
| | | | | | | | | Fixes: Timeout (82sec -> 1sec) Fixes: 16411/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP3_fuzzer-5166958151991296 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_v360: remove not needed items from ThreadDataPaul B Mahol2019-09-021-8/+4
|
* avfilter/vf_delogo: unbreak fatePaul B Mahol2019-09-021-0/+12
| | | | | | | | | It is not clear what was real intention of previous commit to this filter. It was not working correctly, hopefully this is fixed now. It never checked that new x/y/w/h are actually valid, hopeffully this is fixed now. It uses named variables in expressions that are never set, still not fixed. It does not set named variables that uses actual frame widht/height, making actual expressions less usable for our users, still now fixed.
* avfilter/vf_v360: set much smaller limit to w/hPaul B Mahol2019-09-021-2/+2
|
* avfilter/vf_v360: fix some small code style issuesPaul B Mahol2019-09-021-4/+3
|
* avfilter/vf_v360: extend description of eac formatPaul B Mahol2019-09-021-2/+2
|
* avfilter/vf_v360: rename fb format to barrelPaul B Mahol2019-09-022-15/+18
|
* avcodec/tiff: rewrite lut handlingPaul B Mahol2019-09-021-48/+12
| | | | Remove endianess hack.
* avcodec/tiff: set color_trc, remove sRGB conversionPaul B Mahol2019-09-021-10/+8
|
* lavc/tiff: Enable decoding of LinearRaw imagesNick Renieris2019-09-021-1/+1
| | | | | | | | | | | | | "LinearRaw" is a value that the PhotometricInterpretation tag can be set to on DNG images that contain color information for all channels instead of being bayer-encoded ("CFA" value). The DNG decoder is complete enough that we can enable this now. Sample: - http://www.rawsamples.ch/raws/nikon/SCANNER_NIKON_LS5000.DNG Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/tiff: Default-initialize WhiteLevel DNG tag valueNick Renieris2019-09-021-3/+19
| | | | | | | | | | | Initialized to `(2 ^ BitsPerSample) - 1` as per the DNG Specification. Also make sure that `BlackLevel < WhiteLevel`. This fixes decoding for "X7 CinemaDNG" samples here: - https://www.dji.com/gr/zenmuse-x7/info#downloads Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/tiff: Support DNGs with striped (non-tiled) JPEGs imagesNick Renieris2019-09-021-24/+37
| | | | | | | DNG samples here can now be decoded: - https://www.photographyblog.com/previews/pentax_k1_photos Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/mjpegdec: Skip unknown APPx marker on bayer imagesNick Renieris2019-09-021-2/+9
| | | | | | | | Samples: - Embedded JPEG images in the DNG images here: https://www.photographyblog.com/previews/pentax_k1_photos Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/tiff: Decode 10-bit and 14-bit DNG imagesNick Renieris2019-09-021-8/+15
| | | | | | | 10-bit sample: http://www.rawsamples.ch/raws/phones/RAW_ONEPLUS_ONE-A0001.DNG 14-bit sample: https://drive.google.com/open?id=0B4JyRT3Lth5HVndyOTVOdWktM3J4TFEydTk1MnY3RWlpSzVB Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/tiff: Support decoding of DNGs with single-component JPEGsNick Renieris2019-09-021-10/+51
| | | | | | | | This enables decoding of DNG images generated by the 'DJI Zenmuse X7' digital camera Samples: https://www.dji.com/gr/zenmuse-x7/info#downloads Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/mjpegdec: Enable decoding of single-component bayer imagesNick Renieris2019-09-022-11/+28
| | | | | | | | | Also, ensure no false positives when determining DNG bayer images, by setting them in tiff.c instead of relying on a heuristic. There's no way to determine this just from the JPEG data, so we have to pass this information from outside the MJPEG decoder. Signed-off-by: Nick Renieris <velocityra@gmail.com>
* lavc/tiff: Force DNG pixel data endianness on an edge caseNick Renieris2019-09-021-0/+12
| | | | | | | This fixes "X7 RAW" and "X7 CinemaDNG" samples here: - https://www.dji.com/gr/zenmuse-x7/info#downloads Signed-off-by: Nick Renieris <velocityra@gmail.com>