summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
|
* mpegts: check get16() return valueVittorio Giovara2014-12-18
| | | | | | | And break flow of execution rather than exiting the function. CC: libav-stable@libav.org Bug-Id: CID 732186
* oggdec: add support for VP8 demuxingJames Almer2014-12-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* cmdutils: check file access functions return valuesVittorio Giovara2014-12-18
| | | | | CC: libav-stable@libav.org Bug-Id: CID 703706
* a64multi: check elbg return valuesVittorio Giovara2014-12-18
|
* roqvideo: check memory allocations and propagate errorsVittorio Giovara2014-12-18
|
* elbg: check memory allocations and propagate errorsVittorio Giovara2014-12-18
|
* lavu: Refactor side data wipingLuca Barbato2014-12-18
| | | | | | | | And make sure the nb_side_data field is reset as well. Based on an initial patch from wm4 <nfxjfg@googlemail.com>. CC: libav-stable@libav.org
* fate: add test for offset theoraVittorio Giovara2014-12-18
|
* theora: support different visible and coded frame sizeVittorio Giovara2014-12-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* fate: add a DPX parser testVittorio Giovara2014-12-18
|
* DPX parserPaul B Mahol2014-12-18
| | | | | | Additional improvements and fixes by Michael Niedermayer <michaelni@gmx.at>. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* tiff: support encoding and decoding 64bit imagesCarl Eugen Hoyos2014-12-18
|
* movenc: Adjust the pts of new fragments similarly to what is done for dtsMartin Storsjö2014-12-18
| | | | | | | The pts and the corresponding duration is written in sidx atoms, thus make sure these match up correctly. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Add a muxer wrapping mpegts encoding into RTPMartin Storsjö2014-12-18
| | | | | | | | | | | | | | | Since this structurally is quite different from normal RTP (multiple streams are muxed into one single mpegts stream, which is packetized into one single RTP session), it is kept as a separate muxer. Since this structurally also behaves differently than normal RTP, all of the other muxers that do chained RTP muxing (rtsp, sap, mp4) would need to be updated similarly to handle this - in particular, creating one single rtp_mpegts muxer for the whole presentation instead of one rtp muxer per stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtp: Initial H.261 supportThomas Volkert2014-12-18
| | | | | | | | | | | | | | The packetizer only supports splitting at GOB headers - if such aren't available frequently enough, it splits at any random byte offset (not at a macroblock boundary either, which would be allowed by the spec) and sends a payload header pretend that it starts with a GOB header. As long as a receiver doesn't try to handle such cases cleverly but just drops broken frames, this shouldn't matter too much in practice. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Avoid brittle switch fallthroughsMartin Storsjö2014-12-18
| | | | | | | | | Instead explicitly jump to the default case in the cases where it is wanted, and avoid fallthrough between different codecs, which could easily introduce bugs if people editing the code aren't careful. Signed-off-by: Martin Storsjö <martin@martin.st>
* h261dec: Fix context initialization sequenceMichael Niedermayer2014-12-18
| | | | | | | | | | ff_mpv_common_init sets s->context_initialized. This fixes decoding of h261 in the cases where the demuxer hasn't already set the frame size. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* h261enc: Disallow sliced encodingMartin Storsjö2014-12-18
| | | | | | | | | | | This avoids trying to do sliced encoding, even if a slice/packet size is requested (via the -ps option or the rtp_payload_size field), since the encoder currently doesn't support it (or at least our decoder can't decode it, even if the h261_encode_gob_header function is hooked up to be called from the slicing part in mpegvideo_enc.c). Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered dataMartin Storsjö2014-12-18
| | | | | | | | | If we throw away the buffered incomplete frame, make sure to also throw away the buffered bits of an incomplete byte at the same time. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Set the AVFMT_TS_NONSTRICT flagMartin Storsjö2014-12-18
| | | | | | | | In particular, when packetizing mpegts into rtp, the input packet timestamp may come from more than one stream, which could cause multiple packets be written with the same timestamp. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Set the timestamp properly when sending mpegts data, tooMartin Storsjö2014-12-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* srtpproto: fix option flag typeTristan Matthews2014-12-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>