7 years agovp56: Return meaningful error codes
Himangi Saraogi [Fri, 13 Feb 2015 18:40:49 +0000 (00:10 +0530)]
vp56: Return meaningful error codes

Signed-off-by: Diego Biurrun <>
7 years agohevc: Use generic av_clip function, not C implementation
Peter Meerwald [Mon, 9 Feb 2015 09:44:24 +0000 (10:44 +0100)]
hevc: Use generic av_clip function, not C implementation

hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations

Signed-off-by: Peter Meerwald <>
Signed-off-by: Anton Khirnov <>
7 years agodoc/APIchanges: fill in missing dates and hashes
Anton Khirnov [Thu, 12 Feb 2015 20:20:46 +0000 (21:20 +0100)]
doc/APIchanges: fill in missing dates and hashes

Also, move a misplaced block to the right position.

7 years agolavf: move internal fields from public to internal context
wm4 [Fri, 6 Feb 2015 13:53:40 +0000 (14:53 +0100)]
lavf: move internal fields from public to internal context

This is not an API change; the fields were explicitly declared private

Signed-off-by: Anton Khirnov <>
7 years agompegts: relax restrictions on matching the packet start in read_header
Anton Khirnov [Wed, 4 Feb 2015 11:37:01 +0000 (12:37 +0100)]
mpegts: relax restrictions on matching the packet start in read_header

analyze() is currently called both when probing and from read_header().
It determines the packet start by looking for the sync byte, followed by
unset Transport Error Indicator and valid adaptation_field_control.

This makes sense to do when probing, but once we already know the format
is MPEG-TS, it is counterproductive to be so strict -- e.g. in some
files the TEI might be set and analyze() might get called with a smaller
buffer than the one used for probing, resulting in a failure.

7 years agolavf: remove unused code
wm4 [Fri, 6 Feb 2015 13:53:39 +0000 (14:53 +0100)]
lavf: remove unused code

Nothing uses it, and it provides no public API.

Archeological finds:

Commit 101036adb9 added the API.
Commit a8dd8dc6e9 made mpegts.c use it.
Commit af8aae3fa3 disabled it by default in mpegts.c.
Commit ae2bb52cd2 removed all uses of this from mpegts.c.

Signed-off-by: Anton Khirnov <>
7 years agoframe: clarify buf documentation
Anton Khirnov [Fri, 14 Nov 2014 10:41:15 +0000 (11:41 +0100)]
frame: clarify buf documentation

Mention explicitly that the array must be filled contiguously.

7 years agooma: Report a timestamp
Luca Barbato [Thu, 29 Jan 2015 00:17:43 +0000 (01:17 +0100)]
oma: Report a timestamp

Signed-off-by: Luca Barbato <>
7 years agodxva2_hevc: properly fill the scaling list structure
Hendrik Leppkes [Tue, 3 Feb 2015 21:39:45 +0000 (22:39 +0100)]
dxva2_hevc: properly fill the scaling list structure

The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied
in the decoder.

Signed-off-by: Luca Barbato <>
7 years agofate: Add a test for AAC ELD480.
Alex Converse [Wed, 28 Jan 2015 01:54:03 +0000 (17:54 -0800)]
fate: Add a test for AAC ELD480.

The source is er_eld_2100np_48_ep0.mp4 from the official test set.

7 years agoaacsbr: silence message for SBR extension "padding".
Reimar Döffinger [Mon, 9 Apr 2012 19:19:30 +0000 (21:19 +0200)]
aacsbr: silence message for SBR extension "padding".

Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"

Signed-off-by: Reimar Döffinger <>
Signed-off-by: Alex Converse <>
7 years agoaacdec: Support for ER AAC ELD 480.
Alex Converse [Thu, 22 Jan 2015 05:51:54 +0000 (21:51 -0800)]
aacdec: Support for ER AAC ELD 480.

Based in part on work from Niel van der Westhuizen <>.

7 years agoaacdec: Tables for length 480 AAC ELD.
Niel van der Westhuizen [Thu, 22 Jan 2015 05:25:27 +0000 (21:25 -0800)]
aacdec: Tables for length 480 AAC ELD.

7 years agoaacdec: Support for ER AAC in LATM
Niel van der Westhuizen [Thu, 22 Jan 2015 05:24:23 +0000 (21:24 -0800)]
aacdec: Support for ER AAC in LATM

7 years agoaacdec: Refactor aac_er_decode_frame.
Alex Converse [Thu, 22 Jan 2015 05:49:29 +0000 (21:49 -0800)]
aacdec: Refactor aac_er_decode_frame.

7 years agoaacdec: Refactor decode_ics_info.
Alex Converse [Thu, 22 Jan 2015 05:35:53 +0000 (21:35 -0800)]
aacdec: Refactor decode_ics_info.

7 years agor3d: Fix pos type
Luca Barbato [Mon, 2 Feb 2015 01:39:00 +0000 (02:39 +0100)]
r3d: Fix pos type

avio_tell can return a negative number.

Bug-Id: CID 1265715
7 years agotta: Fix framepos and start_offset types
Vittorio Giovara [Mon, 2 Feb 2015 06:21:30 +0000 (07:21 +0100)]
tta: Fix framepos and start_offset types

Also propagate errors.

Bug-Id: CID 1238812

7 years agolibopencv: Check kernel_str life cycle
Luca Barbato [Sun, 1 Feb 2015 01:02:05 +0000 (02:02 +0100)]
libopencv: Check kernel_str life cycle

The string might or might not be set depending if there
are args and in case of error it must be freed nonetheless.

Bug-Id: CID 739878 / CID 739882

7 years agosvq1dec: Validate the stages value strictly
Luca Barbato [Mon, 2 Feb 2015 01:22:34 +0000 (02:22 +0100)]
svq1dec: Validate the stages value strictly

It can be less than -1.

Bug-Id: CID 1194397 / CID 1194398
7 years agosvq1enc: correctly handle memory error and allocations
Michael Niedermayer [Tue, 27 Jan 2015 15:32:54 +0000 (15:32 +0000)]
svq1enc: correctly handle memory error and allocations

Signed-off-by: Vittorio Giovara <>
7 years agoisom: Decode Prores 4444 XQ with the existing Prores decoder
Carl Eugen Hoyos [Tue, 27 Jan 2015 15:32:56 +0000 (15:32 +0000)]
isom: Decode Prores 4444 XQ with the existing Prores decoder

The frames seem to contain a higher bitrate which our decoder is
able to handle.

Signed-off-by: Vittorio Giovara <>
7 years agomov: Implement parsing of the "HandlerName" from the MP4 HDLR atom
Hendrik Leppkes [Tue, 3 Feb 2015 14:58:50 +0000 (14:58 +0000)]
mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom

This atom typically is used for a track title. The handler name is stored
as a Pascal string in the QT specs (first byte is the length of the string),
so do not export it.

A second length check based on the first character is added to avoid
overwriting an already specified handler_name (it happens with YouTube
videos for instance, the handler_name get masked), or specifying an
empty string metadata.

The Pascal string fix and the second length check are written
by Clément Bœsch <>.

Signed-off-by: Vittorio Giovara <>
Signed-off-by: Luca Barbato <>
7 years agosiff: Return more meaningful error values
Diego Biurrun [Tue, 3 Feb 2015 08:53:00 +0000 (09:53 +0100)]
siff: Return more meaningful error values

7 years agosiff: K&R formatting cosmetics
Diego Biurrun [Tue, 3 Feb 2015 08:52:59 +0000 (09:52 +0100)]
siff: K&R formatting cosmetics

7 years agoIgnore generated file tools/sidxindex.
Diego Biurrun [Mon, 19 Jan 2015 10:12:23 +0000 (11:12 +0100)]
Ignore generated file tools/sidxindex.

7 years agoopus: Factor out imdct15 into a standalone component
Diego Biurrun [Sun, 1 Feb 2015 10:08:17 +0000 (11:08 +0100)]
opus: Factor out imdct15 into a standalone component

It will be reused by the AAC decoder.

7 years agoconfigure: Add a dependency on vc1_decoder from vc1_parser
Martin Storsjö [Sun, 1 Feb 2015 15:24:35 +0000 (17:24 +0200)]
configure: Add a dependency on vc1_decoder from vc1_parser

This fixes builds with vc1_parser enabled without vc1_decoder. All
the vc1_decoder object files were included in the vc1_parser line
in libavcodec/Makefile before, but architecture specific object files
for vc1_decoder were not.

Signed-off-by: Martin Storsjö <>
7 years agomem: fix pointer pointer aliasing violations
Rémi Denis-Courmont [Mon, 26 Jan 2015 19:17:31 +0000 (21:17 +0200)]
mem: fix pointer pointer aliasing violations

This uses explicit memory copying to read and write pointer to pointers
of arbitrary object types. This works provided that the architecture
uses the same representation for all pointer types (the previous code
made that assumption already anyway).

Signed-off-by: Luca Barbato <>
7 years agoogg: Provide an option to offset the serial number
Luca Barbato [Fri, 30 Jan 2015 16:29:22 +0000 (17:29 +0100)]
ogg: Provide an option to offset the serial number

The ogg serial number doubles as codec id and sequence
value for concatenated samples.

7 years agohqdn3d: check memory allocations and propagate errors
Vittorio Giovara [Thu, 29 Jan 2015 15:55:19 +0000 (15:55 +0000)]
hqdn3d: check memory allocations and propagate errors

7 years agoflacenc: initialize sums matrix
Vittorio Giovara [Wed, 28 Jan 2015 14:41:02 +0000 (14:41 +0000)]
flacenc: initialize sums matrix

Bug-Id: CID 703821

7 years agoituh263dec: use macro instead of #if
Vittorio Giovara [Wed, 28 Jan 2015 15:42:50 +0000 (15:42 +0000)]
ituh263dec: use macro instead of #if

7 years agoyuv4mpegdec: initialize field_order in yuv4_read_header()
Vittorio Giovara [Wed, 28 Jan 2015 14:41:00 +0000 (14:41 +0000)]
yuv4mpegdec: initialize field_order in yuv4_read_header()

Bug-Id: CID 1265721

7 years agompegvideo_enc: initialize the encoding context
Vittorio Giovara [Wed, 28 Jan 2015 14:41:01 +0000 (14:41 +0000)]
mpegvideo_enc: initialize the encoding context

This prevents several uninitialized variable uses that take
place towards the end of encoding.

Bug-Id: CID 700760

7 years agoDNxHD: Add support for id 1258 (DNx100 960x720@8)
Vittorio Giovara [Tue, 27 Jan 2015 20:56:20 +0000 (20:56 +0000)]
DNxHD: Add support for id 1258 (DNx100 960x720@8)

Signed-off-by: Vittorio Giovara <>
7 years agoDNxHD: Simplify pixel format detection
Vittorio Giovara [Tue, 27 Jan 2015 20:56:19 +0000 (20:56 +0000)]
DNxHD: Simplify pixel format detection

Error out in case of unknown values.

7 years agoDNxHD: More verbose error messages
Vittorio Giovara [Tue, 27 Jan 2015 20:56:18 +0000 (20:56 +0000)]
DNxHD: More verbose error messages

7 years agolavu: Check av_dict_set allocations
Luca Barbato [Tue, 16 Dec 2014 13:21:20 +0000 (14:21 +0100)]
lavu: Check av_dict_set allocations

Bug-Id: CID 1257772
Signed-off-by: Vittorio Giovara <>
7 years agolibopenh264: Log debug messages to a non-null context
Martin Storsjö [Wed, 28 Jan 2015 20:17:29 +0000 (22:17 +0200)]
libopenh264: Log debug messages to a non-null context

Signed-off-by: Martin Storsjö <>
7 years agoh264: Do not share rbsp_buffer across threads
Michael Niedermayer [Sun, 25 Aug 2013 01:01:19 +0000 (03:01 +0200)]
h264: Do not share rbsp_buffer across threads

Signed-off-by: Luca Barbato <>
7 years agoavio: Do not consider the end-of-buffer position valid
Luca Barbato [Sat, 24 Jan 2015 12:06:19 +0000 (13:06 +0100)]
avio: Do not consider the end-of-buffer position valid

Trigger a refill if the seek action moves the pointer
at the end of the buffer.

Before this patch the read action following the seek would trigger
the refill, while write action would write outside the buffer.

In the Libav codebase few muxers seek forward outside of what
already has been written so it is quite unlikely to experience
the problem with the default buffer size.

7 years agolibdc1394: Add support for MONO8 (gray) video mode
Clay McClure [Sun, 4 Jan 2015 07:30:44 +0000 (00:30 -0700)]
libdc1394: Add support for MONO8 (gray) video mode

Signed-off-by: Luca Barbato <>
7 years agolibopencv: Rework error handling in parse_iplconvkernel()
Vittorio Giovara [Fri, 23 Jan 2015 16:15:37 +0000 (16:15 +0000)]
libopencv: Rework error handling in parse_iplconvkernel()

Fix 'values' memory leak in case of error.

Bug-Id: CID 739879

7 years agodvbsubdec: check memory allocations and propagate errors
Vittorio Giovara [Wed, 17 Dec 2014 15:02:09 +0000 (16:02 +0100)]
dvbsubdec: check memory allocations and propagate errors

7 years agonuv: validate image size
Vittorio Giovara [Fri, 23 Jan 2015 15:03:09 +0000 (15:03 +0000)]
nuv: validate image size

Avoid a division by zero.

Bug-Id: CID 717750

7 years agonsvdec: validate channels and samplerate
Vittorio Giovara [Fri, 23 Jan 2015 15:03:08 +0000 (15:03 +0000)]
nsvdec: validate channels and samplerate

Avoid a division by zero.

Bug-Id: CID 717749

7 years agolavc: support extracting audio service type from side data
Anton Khirnov [Fri, 14 Nov 2014 12:53:48 +0000 (13:53 +0100)]
lavc: support extracting audio service type from side data

7 years agomov: export audio service type as side data
Anton Khirnov [Fri, 14 Nov 2014 11:54:52 +0000 (12:54 +0100)]
mov: export audio service type as side data

7 years agolavf: add a convenience function for adding side data to a stream
Anton Khirnov [Fri, 14 Nov 2014 11:45:08 +0000 (12:45 +0100)]
lavf: add a convenience function for adding side data to a stream

7 years agoAdd a side data type for audio service type.
Anton Khirnov [Fri, 14 Nov 2014 11:22:06 +0000 (12:22 +0100)]
Add a side data type for audio service type.

Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.

7 years agonutenc: do not use has_b_frames
Anton Khirnov [Sat, 15 Nov 2014 08:46:05 +0000 (09:46 +0100)]
nutenc: do not use has_b_frames

It is unreliable, especially when the stream codec context is not the
encoding context. Use the codec descriptor properties instead.

7 years agolavc: deprecate unused AVCodecContext.stream_codec_tag
Anton Khirnov [Fri, 14 Nov 2014 14:16:01 +0000 (15:16 +0100)]
lavc: deprecate unused AVCodecContext.stream_codec_tag

7 years agoavidec: do not export stream_codec_tag
Anton Khirnov [Fri, 14 Nov 2014 14:11:09 +0000 (15:11 +0100)]
avidec: do not export stream_codec_tag

Handle its only existing use case internally.

7 years agoh264: drop any pretense of support for data partitioning
Anton Khirnov [Mon, 19 Jan 2015 20:58:12 +0000 (21:58 +0100)]
h264: drop any pretense of support for data partitioning

It does not work correctly and apparently never did. There is no
indication that this (mis)feature is ever used in the wild or even that
any software other than the reference supports it.

Since the code that attempts to support it adds some nontrivial
complexity and has resulted in several bugs in the past, it is better to
just drop it.

7 years agoh264_parser: restore a comment lost in 0268a54
Anton Khirnov [Mon, 19 Jan 2015 11:19:47 +0000 (12:19 +0100)]
h264_parser: restore a comment lost in 0268a54

7 years agoh264: do not reset the ref lists in flush_change()
Anton Khirnov [Sun, 18 Jan 2015 11:31:11 +0000 (12:31 +0100)]
h264: do not reset the ref lists in flush_change()

They are always constructed anew when needed, so there is no need to
reset them explicitly.

7 years agoh264: move parser-only variables to their own context
Anton Khirnov [Sat, 17 Jan 2015 16:30:46 +0000 (17:30 +0100)]
h264: move parser-only variables to their own context

7 years agoerror_resilience: move the MECmpContext initialization into ER code
Anton Khirnov [Sat, 17 Jan 2015 16:16:20 +0000 (17:16 +0100)]
error_resilience: move the MECmpContext initialization into ER code

Currently, it needs to be initialized by the ER caller (which is
currently either a mpegvideo decoder or h264dec). However, since none of
those decoders use MECmpContext for anything except ER, it makes more
sense to handle it purely inside ER.

7 years agoavconv_dxva2: add hevc support
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:51 +0000 (12:58 +0100)]
avconv_dxva2: add hevc support

Signed-off-by: Anton Khirnov <>
7 years agoAdd DXVA2 HEVC HWAccel
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:50 +0000 (12:58 +0100)]

Signed-off-by: Anton Khirnov <>
7 years agohevc: reindent after previous commit
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:49 +0000 (12:58 +0100)]
hevc: reindent after previous commit

Signed-off-by: Anton Khirnov <>
7 years agohevc: add hwaccel hooks
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:48 +0000 (12:58 +0100)]
hevc: add hwaccel hooks

Signed-off-by: Anton Khirnov <>
7 years agohevc: store the short term rps flag and size in the context
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:47 +0000 (12:58 +0100)]
hevc: store the short term rps flag and size in the context

For future use by hardware accelerators.

Signed-off-by: Anton Khirnov <>
7 years agohevc: store the escaped/raw bitstream in HEVCNAL
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:46 +0000 (12:58 +0100)]
hevc: store the escaped/raw bitstream in HEVCNAL

Hardware Accelerators require access to the escaped bitstream.

Signed-off-by: Anton Khirnov <>
7 years agohevc: pass the full HEVCNAL struct to decode_nal_unit
Hendrik Leppkes [Sun, 25 Jan 2015 11:58:45 +0000 (12:58 +0100)]
hevc: pass the full HEVCNAL struct to decode_nal_unit

This enables decode_nal_unit to access additional fields added in
subsequent commits.

Signed-off-by: Anton Khirnov <>
7 years agoexamples/transcode_aac: generate proper PTS and set the muxer timebase
Andreas Unterweger [Tue, 27 Jan 2015 08:03:08 +0000 (09:03 +0100)]
examples/transcode_aac: generate proper PTS and set the muxer timebase

Signed-off-by: Anton Khirnov <>
7 years agoexamples/transcode_aac: fix a typo
Andreas Unterweger [Tue, 27 Jan 2015 08:00:23 +0000 (09:00 +0100)]
examples/transcode_aac: fix a typo

Signed-off-by: Anton Khirnov <>
7 years agoexamples/transcode_aac: properly select the output sample format
Andreas Unterweger [Tue, 27 Jan 2015 07:58:47 +0000 (08:58 +0100)]
examples/transcode_aac: properly select the output sample format

Makes the example work with all the supported AAC encoders.

Signed-off-by: Anton Khirnov <>
7 years agohevc: unref the current frame if frame_start() fails
Anton Khirnov [Thu, 20 Nov 2014 08:41:56 +0000 (09:41 +0100)]
hevc: unref the current frame if frame_start() fails

Prevents DPB from filling up with damaged input.

7 years agohevc: clear unused refs on failure
Anton Khirnov [Thu, 20 Nov 2014 08:26:35 +0000 (09:26 +0100)]
hevc: clear unused refs on failure

7 years agoh264: simplify code in flush_dpb()
Anton Khirnov [Thu, 20 Nov 2014 06:40:34 +0000 (07:40 +0100)]
h264: simplify code in flush_dpb()

There is no point in clearing reference explicitly, since that will be
done as a part of ff_h264_unref_picture() right below.

7 years agosegment: Check av_get_frame_filename() return value
Vittorio Giovara [Thu, 22 Jan 2015 20:13:45 +0000 (20:13 +0000)]
segment: Check av_get_frame_filename() return value

Bug-Id: CID 1265713

7 years agohlsproto: Properly close avio buffer in case of error
Vittorio Giovara [Thu, 22 Jan 2015 20:13:44 +0000 (20:13 +0000)]
hlsproto: Properly close avio buffer in case of error

Fix a memory leak.

Bug-Id: CID 717999

7 years agomov: Do not compute negative SAR values
Vittorio Giovara [Thu, 22 Jan 2015 19:10:27 +0000 (19:10 +0000)]
mov: Do not compute negative SAR values

This partially reverts cf70ba37ba74089a18295b29e77dead0a3222c9e, since
it didn't take into account when rotation is 0, but there is another
valid operation (eg. translation) in the matrix.

Found-by: Michael Niedermayer <>
7 years agompegvideo_enc: Draw edges on input for non-multiple of 16 resolutions
Michael Niedermayer [Sat, 16 Feb 2013 09:44:38 +0000 (10:44 +0100)]
mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions

This improves motion estimation and avoids using uninitialized data
for resolutions that aren't a multiple of 16.

Prior to d2a25c40, the edges used to be initialized so that encoding
was deterministic, but after that commit it started using uninitialized
data (for non multiple of 16 resolutions).

Signed-off-by: Martin Storsjö <>
7 years agortspdec: Consistently use rtsp_hd_out for writing
Martin Storsjö [Wed, 21 Jan 2015 13:23:50 +0000 (14:23 +0100)]
rtspdec: Consistently use rtsp_hd_out for writing

Signed-off-by: Martin Storsjö <>
7 years agolibx265: Pass through user-set frame type
Derek Buitenhuis [Wed, 21 Jan 2015 15:16:18 +0000 (15:16 +0000)]
libx265: Pass through user-set frame type

Signed-off-by: Derek Buitenhuis <>
7 years agodashenc: Use inttypes.h macros for format strings instead of %lld
Martin Storsjö [Wed, 21 Jan 2015 15:45:29 +0000 (16:45 +0100)]
dashenc: Use inttypes.h macros for format strings instead of %lld

Signed-off-by: Martin Storsjö <>
7 years agodashenc: Fix format string generation
Rodger Combs [Wed, 21 Jan 2015 15:36:53 +0000 (09:36 -0600)]
dashenc: Fix format string generation

Previously this always used the "lld" format for all parameters,
not only time parameters.

Signed-off-by: Martin Storsjö <>
7 years agodoc/platform: Reference only MSYS2 and MinGW-w64
Derek Buitenhuis [Mon, 19 Jan 2015 18:47:20 +0000 (18:47 +0000)]
doc/platform: Reference only MSYS2 and MinGW-w64

It's better to steer users at these, since they are both better
and more alive than the versions.

Signed-off-by: Derek Buitenhuis <>
7 years agolibopenh264enc: Move a declaration of a variable into an ifdef
Martin Storsjö [Wed, 7 Jan 2015 22:03:36 +0000 (00:03 +0200)]
libopenh264enc: Move a declaration of a variable into an ifdef

This avoids needing an attribute for silencing warnings about
it being unused.

Signed-off-by: Martin Storsjö <>
7 years agolibopenh264enc: Remove a workaround for silencing warnings about unused variables...
Martin Storsjö [Thu, 8 Jan 2015 11:50:58 +0000 (13:50 +0200)]
libopenh264enc: Remove a workaround for silencing warnings about unused variables in the OpenH264 header

The 1.3 release branch of OpenH264 (as well as the master branch)
have been updated so that GCC no longer warns about this variable
as being unused.

Signed-off-by: Martin Storsjö <>
7 years agosmoothstreamingenc: Add a missing "goto fail"
Michael Niedermayer [Tue, 13 Jan 2015 23:17:52 +0000 (00:17 +0100)]
smoothstreamingenc: Add a missing "goto fail"

This goto wasn't necessary originally, but it should have been
added when the write_manifest call was added in 8e276378.

Signed-off-by: Martin Storsjö <>
7 years agoaea: Return proper error code on invalid header
Nidhi Makhijani [Thu, 15 Jan 2015 12:50:03 +0000 (18:20 +0530)]
aea: Return proper error code on invalid header

7 years agoswscale: fix gbrap to gbrap alpha scaling
Vittorio Giovara [Thu, 15 Jan 2015 14:15:22 +0000 (15:15 +0100)]
swscale: fix gbrap to gbrap alpha scaling

7 years agoswscale: fix warning about incompatible function pointer type
Vittorio Giovara [Thu, 15 Jan 2015 14:15:21 +0000 (15:15 +0100)]
swscale: fix warning about incompatible function pointer type

7 years agortmppkt: Repeat the full 32 bit timestamp for chunking continuation packets
Martin Storsjö [Wed, 14 Jan 2015 21:09:06 +0000 (23:09 +0200)]
rtmppkt: Repeat the full 32 bit timestamp for chunking continuation packets

This fixes sending chunked packets (packets larger than the output
chunk size, which often can be e.g. 4096 bytes) with a timestamp delta
(or absolute timstamp, if it's a timestamp step backwards, or the
first packet of the stream) larger than 0xffffffff.

The RTMP spec explicitly says (in section that packets of
type 3 (continuation packets) should include this field, if the
previous non-continuation packet had it included.

The receiving code handles these packets correctly.

Pointed out by Cheolho Park.

Signed-off-by: Martin Storsjö <>
7 years agoh264_cabac: Break infinite loops
Michael Niedermayer [Thu, 31 Jan 2013 03:20:24 +0000 (04:20 +0100)]
h264_cabac: Break infinite loops

This fixes out of array reads and/or infinite loops.

30 is the maximum number of bits that can be read into
coeff_abs below.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <>
7 years agoopus_parser: drop unused variable
Vittorio Giovara [Wed, 14 Jan 2015 16:46:07 +0000 (17:46 +0100)]
opus_parser: drop unused variable

7 years agobsf: check memory allocations
Vittorio Giovara [Thu, 18 Dec 2014 19:26:56 +0000 (20:26 +0100)]
bsf: check memory allocations

7 years agovp8: improve memory allocation checks
Vittorio Giovara [Wed, 17 Dec 2014 15:02:08 +0000 (16:02 +0100)]
vp8: improve memory allocation checks

Check memory earlier, check one more allocation and clean up on error.

Bug-Id: CID 1257773

7 years agoid3v2: fix reading v2.2 attached pictures
Anton Khirnov [Sat, 10 Jan 2015 08:39:34 +0000 (09:39 +0100)]
id3v2: fix reading v2.2 attached pictures

In v2.2, the picture type is not a zero-terminated string, but has a
constant size of 3 bytes.

7 years agoid3v2: add names to the parameters of
Anton Khirnov [Sat, 10 Jan 2015 08:39:33 +0000 (09:39 +0100)]
id3v2: add names to the parameters of

Some of them are not immediately obvious.

7 years agoid3v2: constify the 'tag' parameter to special metadata parsing callback
Anton Khirnov [Sat, 10 Jan 2015 08:39:32 +0000 (09:39 +0100)]
id3v2: constify the 'tag' parameter to special metadata parsing callback

Those functions should not ever modify it.

7 years agotiff: support decoding GBRP and GBRAP formats
Paul B Mahol [Wed, 17 Dec 2014 13:54:44 +0000 (14:54 +0100)]
tiff: support decoding GBRP and GBRAP formats

Signed-off-by: Vittorio Giovara <>
7 years agolibswscale: GBRAP input & output and GBRAP16 input support
Paul B Mahol [Wed, 17 Dec 2014 13:54:43 +0000 (14:54 +0100)]
libswscale: GBRAP input & output and GBRAP16 input support

Signed-off-by: Vittorio Giovara <>
7 years agolavc: add GBRAP to avcodec_align_dimensions2
Paul B Mahol [Wed, 17 Dec 2014 13:54:42 +0000 (14:54 +0100)]
lavc: add GBRAP to avcodec_align_dimensions2

7 years agolavu: add planar 16 bit and 8 bit rgb with alpha
Paul B Mahol [Wed, 17 Dec 2014 13:54:41 +0000 (14:54 +0100)]
lavu: add planar 16 bit and 8 bit rgb with alpha

Signed-off-by: Vittorio Giovara <>
7 years agoimgutils: create misc functions for dealing with buffers
Stefano Sabatini [Wed, 10 Dec 2014 12:20:49 +0000 (12:20 +0000)]
imgutils: create misc functions for dealing with buffers

Move the lavc/imgconvert functions and rename them as follows:
  avpicture_get_size -> av_image_get_buffer_size()
  avpicture_fill     -> av_image_fill_arrays()
  avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).

A redundant check has been dropped from av_image_fill_arrays().

Signed-off-by: Vittorio Giovara <>