summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* opt: check memory allocationVittorio Giovara2015-01-05
| | | | | CC: libav-stable@libav.org Bug-Id: CID 1257771
* movenc: Enable editlists by default if delay_moov is enabledMartin Storsjö2015-01-04
| | | | | | | Being able to write editlists properly is one of the main points in the delay_moov flag. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Check for malloc failures in avformat_new_streamMartin Storsjö2015-01-04
| | | | | CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Remove a misleading/incorrect commentMartin Storsjö2015-01-04
| | | | | | | | This comment can be traced back to the initial commit from 2001, and it seemed to be misleading/incorect already back then. (It was used for normal, non-raw file formats already then.) Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Remap -L to -libpath for msvcMartin Storsjö2015-01-04
| | | | | | | | This allows using libraries that are detected via pkg-config with msvc. (The libraries themselves may have to be built with MSVC though.) Signed-off-by: Martin Storsjö <martin@martin.st>
* cmdutils: update copyright year to 2015.Johan Andersson2015-01-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avisynth: Use RTLD_LOCAL instead of RTLD_GLOBALMartin Storsjö2015-01-03
| | | | | | | There shouldn't be any need to add the loaded libraries to the global symbol namespace. Signed-off-by: Martin Storsjö <martin@martin.st>
* sidxindex: Remove parsing that isn't necessary any longerMartin Storsjö2015-01-03
| | | | | | | When we don't adjust the Period start time, we don't need to parse the earliest_presentation_time from the sidx boxes either. Signed-off-by: Martin Storsjö <martin@martin.st>
* sidxindex: Don't adjust the Period start time depending on the track start timeMartin Storsjö2015-01-03
| | | | | | | | | | | | | This was only necessary to get playback to start with dash.js 1.2.0, it has been fixed in the git version. The previous behaviour was incorrect - the Period's start time is irrespective of the actual first timestamp of the contents within the period. The Period start time only says when, within the global timeline, this particular piece should start to be played back. Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: Use pts for MPD timeline timestampsMartin Storsjö2015-01-03
| | | | | | | | | | | | | | | This should be more correct. This also should give more sensible switching between video streams with different amount of b-frame delay. The current dash.js release (1.2.0) fails to start playback of such files from the start (if the start pts is > 0), but this has been fixed in the current git version of dash.js. Also enable the use of edit lists, so that streams in many cases start at pts=0. Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: Use delay_moovMartin Storsjö2015-01-03
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Get rid of a hack for updating the dvc1 atomMartin Storsjö2015-01-03
| | | | | | | Use the more generic approach with the delay_moov flag, instead of having a update mechanism specific to this one single atom. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add an option for delaying writing the moov with empty_moovMartin Storsjö2015-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | This delays writing the moov until the first fragment is written, or can be flushed by the caller explicitly when wanted. If the first sample in all streams is available at this point, we can write a proper editlist at this point, allowing streams to start at something else than dts=0. For AC3 and DNXHD, a packet is needed in order to write the moov header properly. This isn't added to the normal behaviour for empty_moov, since the behaviour that ftyp+moov is written during avformat_write_header would be changed. Callers that split the output stream into header+segments (either by flushing manually, with the custom_frag flag set, or by just differentiating between data written during avformat_write_header and the rest) will need to be adjusted to take this option into use. For handling streams that start at something else than dts=0, an alternative would be to use different kinds of heuristics for guessing the start dts (using AVCodecContext delay or has_b_frames together with the frame rate), but this is not reliable and doesn't necessarily work well with stream copy, and wouldn't work for getting the right initialization data for AC3 or DNXHD either. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Use start_dts/cts instead of cluster[0] for writing edit listsMartin Storsjö2015-01-03
| | | | | | | This allows writing edit lists even when track->entry == 0, if the start times have been set. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Remove an unnecessary condition when flushing fragmentsMartin Storsjö2015-01-03
| | | | | | | | | | | If fragments == 0 it means we haven't written any moov atom yet. If the empty_moov flag is set, we already have written an empty moov atom at startup. Thus, the check for empty_moov is redundant. This is in preparation for allowing writing the moov atom later, even when using the empty moov flag. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Factorize writing ftyp and other identification tags to a separate ↵Martin Storsjö2015-01-03
| | | | | | function Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: Remove some stray double spacesMartin Storsjö2014-12-29
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: Fix writing of timelines that don't start at t=0Martin Storsjö2014-12-29
| | | | | | | | When writing an explicit time, reset the cur_time variable to this value as well. This avoids writing excessive time attributes for each segment in the timeline, as long as the segments are continuous. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: Use bitexact conversions in the dpxparser testMartin Storsjö2014-12-29
| | | | | | This fixes fate on e.g. ppc. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: restore a block mistakenly removed in e10fd08aAnton Khirnov2014-12-27
| | | | | CC: libav-stable@libav.org Bug-ID: 781
* vdpau: add support for the H.264 High 4:4:4 Predictive profileRémi Denis-Courmont2014-12-25
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avconv_vdpau: allocate video surface of VDPAU-specified sizeRémi Denis-Courmont2014-12-25
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add support for 4:2:2 and 4:4:4 chroma samplingRémi Denis-Courmont2014-12-25
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add helper for surface chroma type and sizeRémi Denis-Courmont2014-12-25
| | | | | | | | | | | | | | | | | | | | | Since the VDPAU pixel format does not distinguish between different VDPAU video surface chroma types, we need another way to pass this data to the application. Originally VDPAU in libavcodec only supported decoding to 8-bits YUV with 4:2:0 chroma sampling. Correspondingly, applications assumed that libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output. However some of the new HEVC profiles proposed for addition to VDPAU would require different depth and/or sampling: http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html ...as would lossless AVC profiles: http://lists.freedesktop.org/archives/vdpau/2014-November/000241.html To preserve backward binary compatibility with existing applications, a new av_vdpau_bind_context() flag is introduced in a further change. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flagRémi Denis-Courmont2014-12-25
| | | | | | | | This can be used by the application to signal its ability to cope with video surface of types other than 8-bits YUV 4:2:0. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avcodec: add AVCodecContext.sw_pix_fmtRémi Denis-Courmont2014-12-25
| | | | | | | | This carries the pixel format that would be used if it were not for hardware acceleration. This is equal to AVCodecContext.pix_fmt if hardware acceleration is not in use. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: factor hwaccel pixel formats listRémi Denis-Courmont2014-12-25
| | | | | | | This is to avoid proliferation of similar tables in following changes. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegts: add support for OpusKieran Kunhya2014-12-20
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* libavformat: Only use MoveFileExA when targeting the desktop API subsetMartin Storsjö2014-12-19
| | | | | | | | | | | | | | | | The MoveFileExA is available in the headers regardless which API subset is targeted, but it is missing in the Windows Phone link libraries. When targeting Windows Store apps, the function is available both in the headers and in the link libraries, and thus there is no indication for the build system that this function should be avoided - such an indication is only given by the Windows App Certification Kit, which forbids using the MoveFileExA function. Therefore check the WINAPI_FAMILY defines instead, to figure out which API subset is targeted. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output ↵Martin Storsjö2014-12-19
| | | | | | | | | | buffer exists Since the mpegts muxer now can handle being called with a NULL AVIOContext, we don't need to try to allocate one before calling write_trailer. Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegts: Support running the write_trailer function without an AVIOContextMartin Storsjö2014-12-19
| | | | | | | | If opening and closing dynamic buffers as AVIOContext, we may not have any AVIOContext available when wanting to close and deallocate the muxer. Allow calling write_trailer despite this. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Allow calling av_write_trailer with a NULL AVIOContextMartin Storsjö2014-12-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* on2avc: check number of channelsMichael Niedermayer2014-12-19
| | | | | | | | | Fixes invalid memory access. CC: libav-stable@libav.org Bug-ID: CVE-2014-8549 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Anton Khirnov <anton@khirnov.net>
* smc: fix the bounds checkMichael Niedermayer2014-12-19
| | | | | | | | | | Fixes invalid writes when there are more blocks in a run than total remaining blocks. CC: libav-stable@libav.org Bug-ID: CVE-2014-8548 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Anton Khirnov <anton@khirnov.net>
* gifdec: refactor interleave end handlingMichael Niedermayer2014-12-19
| | | | | | | | | Fixes invalid writes with very small image heights. CC: libav-stable@libav.org Bug-ID: CVE-2014-8547 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mmvideo: check frame dimensionsAnton Khirnov2014-12-19
| | | | | | | | | The frame size must be set by the caller and each dimension must be a multiple of 2. CC: libav-stable@libav.org Bug-ID: CVE-2014-8543 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* jvdec: check frame dimensionsAnton Khirnov2014-12-19
| | | | | | | | | The frame size must be set by the caller and each dimension must be a multiple of 8. CC: libav-stable@libav.org Bug-ID: CVE-2014-8542 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* mjpegdec: check for pixel format changesAnton Khirnov2014-12-19
| | | | | | | | | | Fixes possible invalid memory access. Based on code by Michael Niedermayer <michaelni@gmx.at> CC: libav-stable@libav.org Bug-ID: CVE-2014-8541 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* mov: avoid a memleak when multiple stss boxes are presentAnton Khirnov2014-12-19
| | | | | CC: libav-stable@libav.org Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* imgconvert: check memory allocations and propagate errorsVittorio Giovara2014-12-18
|
* wma: check memory allocations and propagate errorsVittorio Giovara2014-12-18
|
* lavfi: always check av_expr_parse_and_eval() return valueVittorio Giovara2014-12-18
| | | | | CC: libav-stable@libav.org Bug-Id: CID 703624
* xcbgrab: Move NULL check before pointer dereferenceVittorio Giovara2014-12-18
| | | | Bug-Id: CID 1254668
* takdec: check av_samples_get_buffer_size() return valueVittorio Giovara2014-12-18
| | | | | CC: libav-stable@libav.org Bug-Id: CID 747734
* aacps: invert the order of parameters of ipdopd_reset()Vittorio Giovara2014-12-18
| | | | | | | | This is the order that the caller uses in the rest of the file. The same operation is applied to both parameters, so this change is only done for consistency, it doesn't change the actual behaviour. Bug-Id: CID 732285 / CID 732286
* rtsp: check ffurl_get_file_handle() return valueVittorio Giovara2014-12-18
| | | | | CC: libav-stable@libav.org Bug-Id: CID 717844
* check memory errors from av_strdup()Vittorio Giovara2014-12-18
|
* assdec: check the right variableVittorio Giovara2014-12-18
| | | | | CC: libav-stable@libav.org Bug-Id: CID 1257815
* aacenc: correctly check returned valueVittorio Giovara2014-12-18
| | | | CC: libav-stable@libav.org
* lcl: return an appropriate error codeVittorio Giovara2014-12-18
|