8 years agodoc: Add section about AviSynth support
Stephen Hutchinson [Tue, 14 Jan 2014 14:49:29 +0000 (09:49 -0500)]
doc: Add section about AviSynth support

Signed-off-by: Diego Biurrun <>
8 years agoconfigure: Document --pkg-config option
Luca Barbato [Tue, 11 Mar 2014 18:12:05 +0000 (19:12 +0100)]
configure: Document --pkg-config option

8 years agolavf: more correct printf format specifiers
Diego Biurrun [Mon, 10 Mar 2014 14:35:59 +0000 (15:35 +0100)]
lavf: more correct printf format specifiers

8 years agoconfigure: miscellaneous cosmetics
Diego Biurrun [Sat, 2 Nov 2013 16:21:49 +0000 (17:21 +0100)]
configure: miscellaneous cosmetics

Sort lists of components. Add some whitespace where it helps readability.
Consistently use double instead of single quotes around component lists.

8 years agolavf: always use av_free
Michael Niedermayer [Mon, 10 Mar 2014 15:03:14 +0000 (15:03 +0000)]
lavf: always use av_free

Signed-off-by: Tim Walker <>
8 years agolavf: simplify ff_hevc_annexb2mp4_buf
Tim Walker [Mon, 10 Mar 2014 15:03:13 +0000 (15:03 +0000)]
lavf: simplify ff_hevc_annexb2mp4_buf

Use ff_hevc_annexb2mp4 instead of duplicating
its functionality, and update the documentation
to match the new behavior.

8 years agoconfigure: Use the right pkgconf file for openjpeg
Luca Barbato [Mon, 10 Mar 2014 10:48:04 +0000 (11:48 +0100)]
configure: Use the right pkgconf file for openjpeg

The current release of version 1 uses libopenjpeg1.

8 years agohevc: Use get_se_golomb_long
Luca Barbato [Mon, 10 Mar 2014 09:59:48 +0000 (10:59 +0100)]
hevc: Use get_se_golomb_long

Do not use inline functions that refer to tables present in other

8 years agogolomb: Add a get_se_golomb_long
Luca Barbato [Mon, 10 Mar 2014 09:57:51 +0000 (10:57 +0100)]
golomb: Add a get_se_golomb_long

Useful in libavformat mostly.

8 years agoWork around broken floating point limits on some systems.
Anton Khirnov [Thu, 14 Nov 2013 11:19:04 +0000 (12:19 +0100)]
Work around broken floating point limits on some systems.

The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
if (f == DBL_MAX) { // f has not been changed yet

8 years agomxfdec: Validate parameters to strftime
Martin Storsjö [Sun, 9 Mar 2014 20:44:10 +0000 (22:44 +0200)]
mxfdec: Validate parameters to strftime

The MSVCRT version of strftime calls the invalid parameter handler
if the struct values in struct tm are invalid. In case no invalid
parameter handler is set for the process, the process is aborted.

This fixes fate failures on MSVC builds since 570af382.

Based on a patch by Hendrik Leppkes.

Signed-off-by: Martin Storsjö <>
8 years agomatroskaenc: enable Annex B to MP4 conversion for HEVC tracks.
Tim Walker [Mon, 3 Mar 2014 14:53:45 +0000 (14:53 +0000)]
matroskaenc: enable Annex B to MP4 conversion for HEVC tracks.

8 years agomatroskaenc: write private data in hvcC format for HEVC.
Tim Walker [Mon, 3 Mar 2014 14:53:44 +0000 (14:53 +0000)]
matroskaenc: write private data in hvcC format for HEVC.

8 years agomovenc: allow muxing HEVC in MODE_MP4.
Tim Walker [Mon, 3 Mar 2014 14:53:43 +0000 (14:53 +0000)]
movenc: allow muxing HEVC in MODE_MP4.

8 years agomovenc: enable Annex B to MP4 conversion for HEVC tracks.
Tim Walker [Mon, 3 Mar 2014 14:53:42 +0000 (14:53 +0000)]
movenc: enable Annex B to MP4 conversion for HEVC tracks.

8 years agomovenc: write hvcC tag for HEVC.
Tim Walker [Mon, 3 Mar 2014 14:53:41 +0000 (14:53 +0000)]
movenc: write hvcC tag for HEVC.

8 years agomovenc: use 'hev1' tag for HEVC in MODE_MOV.
Tim Walker [Mon, 3 Mar 2014 14:53:40 +0000 (14:53 +0000)]
movenc: use 'hev1' tag for HEVC in MODE_MOV.

'hvc1' requires that parameter set NAL units be
present only in the samples entry, but not in the
samples themselves, requiring that additional
parameter sets, if present, be filtered out of the
samples and placed in new, additional sample entries
if they override or otherwise conflict with the
parameter sets present in the first sample entry.
We do not have any way of doing this at present, so
the files we produce can only comply with the
restrictions set for the 'hev1' sample entry name in
ISO/IEC 14496-15.

8 years agoriff: add VP9 fourcc
James Zern [Sat, 9 Nov 2013 04:16:17 +0000 (20:16 -0800)]
riff: add VP9 fourcc

8 years agoriff: IPJ2 decodes with JPEG2000 decoder
Ben Littler [Thu, 23 Feb 2012 04:34:45 +0000 (23:34 -0500)]
riff: IPJ2 decodes with JPEG2000 decoder

Samples can be made from mencoder and jp2avi.dll codec.

8 years agomovdec: handle 0x7fff langcode as macintosh per the specs
Baptiste Coudurier [Wed, 21 Mar 2012 21:18:16 +0000 (14:18 -0700)]
movdec: handle 0x7fff langcode as macintosh per the specs

The correct point that seperates ISO and MAC language codes is 0x400
according to the current QT spec. Old QT specs did not list where this
seperation is but apparently only defined the meaning of the first 137.

8 years agolibspeex: support ZygoAudio (quality 10 mode)
Piotr Bandurski [Wed, 16 Jan 2013 18:32:54 +0000 (19:32 +0100)]
libspeex: support ZygoAudio (quality 10 mode)

8 years agoisom: lpcm in mov default to big endian
Mark Himsley [Fri, 1 Nov 2013 11:22:53 +0000 (11:22 +0000)]
isom: lpcm in mov default to big endian

It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.

I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]

Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.

This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.

page 21
page 178

Reviewed-by: Yusuke Nakamura <>
8 years agoisom: add "MNG" FourCC
Piotr Bandurski [Sat, 14 Jul 2012 16:42:29 +0000 (18:42 +0200)]
isom: add "MNG" FourCC

8 years agoisom: Support MPEG-2 video mov files from FPC5
Carl Eugen Hoyos [Sat, 22 Feb 2014 23:31:50 +0000 (00:31 +0100)]
isom: Support MPEG-2 video mov files from FPC5

8 years agoisom: add "NO16" FourCC
Piotr Bandurski [Sun, 15 Jul 2012 11:25:47 +0000 (13:25 +0200)]
isom: add "NO16" FourCC

8 years agoisom: add Radius DV YUV FourCCs
Piotr Bandurski [Tue, 5 Jun 2012 10:13:39 +0000 (12:13 +0200)]
isom: add Radius DV YUV FourCCs

8 years agoisom: Support Sony XAVC in mov
Carl Eugen Hoyos [Fri, 18 Oct 2013 05:50:50 +0000 (07:50 +0200)]
isom: Support Sony XAVC in mov

Signed-off-by: Vittorio Giovara <>
8 years agoisom: add xd51 hdcam
Ben Littler [Wed, 19 Jun 2013 14:43:48 +0000 (10:43 -0400)]
isom: add xd51 hdcam

Someone needs to binary search FCP for new isom...

8 years agohevc: make pps/sps ids unsigned where necessary
Vittorio Giovara [Sun, 9 Mar 2014 16:15:26 +0000 (17:15 +0100)]
hevc: make pps/sps ids unsigned where necessary

Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
8 years agohevc: Do not turn 32bit timebases into negative numbers
Michael Niedermayer [Sat, 15 Feb 2014 22:09:55 +0000 (23:09 +0100)]
hevc: Do not turn 32bit timebases into negative numbers

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
8 years agohevc: use av_mallocz() for allocating tab_ipm
Michael Niedermayer [Sat, 11 Jan 2014 19:23:51 +0000 (20:23 +0100)]
hevc: use av_mallocz() for allocating tab_ipm

Fixes use of uninitialized memory and out of stack array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
8 years agohevc: Use get_bits_long() in decode_vui()
Michael Niedermayer [Sat, 15 Feb 2014 21:29:17 +0000 (22:29 +0100)]
hevc: Use get_bits_long() in decode_vui()

Fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
8 years agofloat_dsp: fix errors in documentation
Janne Grunau [Sun, 2 Mar 2014 19:33:49 +0000 (20:33 +0100)]
float_dsp: fix errors in documentation

8 years agotimer: use mach_absolute_time as high resolution clock on darwin
Janne Grunau [Fri, 24 Jan 2014 00:15:31 +0000 (01:15 +0100)]
timer: use mach_absolute_time as high resolution clock on darwin

Not guaranteed to be in nanosecond resolution. On iOS 7 the duration
of one tick is 125/3 ns which is still more than an order of magnitude
better then microseconds.

Replace decicycles with the neutral UNITS. Decicycles is strange but
tenths of a nanosecond and unspecific "deci"-ticks for mach_absolute_time
is just silly.

8 years agoarm: get_cabac inline asm
Janne Grunau [Wed, 29 Jan 2014 13:48:22 +0000 (14:48 +0100)]
arm: get_cabac inline asm

Based on the aarch64 asm. CPU cycle counts on cortex-a9 compared to
gcc 4.8.2:
before: 475 decicycles in get_cabac_noinline, 67106035 runs, 2829 skips
after:  393 decicycles in get_cabac_noinline, 67106474 runs, 2390 skips

Overall speedup is above 2%. Code generated by clang 3.4 is slower on
the same hardware and the relative change is a little larger.

8 years agoaarch64: get_cabac inline asm
Janne Grunau [Mon, 13 Jan 2014 00:06:20 +0000 (01:06 +0100)]
aarch64: get_cabac inline asm

Based on the x86 branchless get_cabac asm. get_cabac_noinline() gets
approximately 20% faster (no cycle counts available) compared to clang
from Xcode 5.1 beta5. More than 6% faster overall. A part of the overall
speedup might be explained by additional inlining of get_cabac().

8 years agoarm: vp3: remove incorrect const in ff_vp3_idct_dc_add_neon declaration
Janne Grunau [Sat, 8 Mar 2014 18:15:16 +0000 (19:15 +0100)]
arm: vp3: remove incorrect const in ff_vp3_idct_dc_add_neon declaration

Was missed in aeaf268e52fc11c1f64914a319e0edddf1346d6a when integrating
clear_blocks into the idct.

8 years agobuild: Use pkg-config for openjpeg
Pierre Lejeune [Sat, 8 Mar 2014 12:19:17 +0000 (12:19 +0000)]
build: Use pkg-config for openjpeg

Bug-Id: 387
8 years agomovenc: allow override of "writing application" tag
John Stebbins [Mon, 3 Mar 2014 20:20:15 +0000 (20:20 +0000)]
movenc: allow override of "writing application" tag

Signed-off-by: Tim Walker <>
8 years agomatroskaenc: allow override of "writing application" tag
John Stebbins [Mon, 3 Mar 2014 20:20:14 +0000 (20:20 +0000)]
matroskaenc: allow override of "writing application" tag

Signed-off-by: Tim Walker <>
8 years agoarm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
Janne Grunau [Sat, 8 Mar 2014 10:52:14 +0000 (11:52 +0100)]
arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6

The overread avoidance fix in cbddee1cca0ebd01e8c5aa694d31228eb4de4b41
broke the computation for the last row since it prevented the safe
reading from the height+1-th row.

8 years agorv10: K&R formatting cosmetics
Keiji Costantini [Sat, 1 Mar 2014 18:44:01 +0000 (19:44 +0100)]
rv10: K&R formatting cosmetics

Also sort #includes into canonical order.

Signed-off-by: Diego Biurrun <>
8 years agorv10: Forward error from rv10_decode_packet
Keiji Costantini [Sat, 1 Mar 2014 18:44:00 +0000 (19:44 +0100)]
rv10: Forward error from rv10_decode_packet

Signed-off-by: Diego Biurrun <>
8 years agog2meet: K&R formatting cosmetics
Diego Biurrun [Fri, 7 Mar 2014 14:15:02 +0000 (15:15 +0100)]
g2meet: K&R formatting cosmetics

8 years agofic: Properly handle skip frames
Derek Buitenhuis [Fri, 7 Mar 2014 14:31:53 +0000 (14:31 +0000)]
fic: Properly handle skip frames

Signed-off-by: Derek Buitenhuis <>
8 years agomatroskadec: cosmetics: Fix "attachement" vs. "attachment" typo
Diego Biurrun [Fri, 7 Mar 2014 12:54:18 +0000 (13:54 +0100)]
matroskadec: cosmetics: Fix "attachement" vs. "attachment" typo

8 years agomatroskadec: K&R formatting cosmetics
Keiji Costantini [Sat, 1 Mar 2014 16:28:15 +0000 (17:28 +0100)]
matroskadec: K&R formatting cosmetics

Also sort #includes into canonical order.

Signed-off-by: Diego Biurrun <>
8 years agortmppkt: Rename the ts_delta field to ts_field
Martin Storsjö [Wed, 5 Mar 2014 14:07:37 +0000 (16:07 +0200)]
rtmppkt: Rename the ts_delta field to ts_field

Based on a suggestion by Martin Panter. This is more descriptive,
since it's the actual timestamp field from the RTMP packet,
which might or might not be a delta depending on context (in
some packets it's a delta, in some packets it's an absolute
timestamp, and in some packets it's 0xffffff to indicate that
the actual delta or absolute timestamp is transmitted separately).

Signed-off-by: Martin Storsjö <>
8 years agortmppkt: Properly handle extended timestamps when writing
Martin Panter [Wed, 5 Mar 2014 14:02:18 +0000 (16:02 +0200)]
rtmppkt: Properly handle extended timestamps when writing

Signed-off-by: Martin Storsjö <>
8 years agortmppkt: Add a descriptive comment
Martin Panter [Wed, 5 Mar 2014 14:00:44 +0000 (16:00 +0200)]
rtmppkt: Add a descriptive comment

Signed-off-by: Martin Storsjö <>
8 years agortmppkt: Handle extended timestamp field even for one-byte header
Martin Panter [Wed, 5 Mar 2014 04:04:39 +0000 (04:04 +0000)]
rtmppkt: Handle extended timestamp field even for one-byte header

Related fix in "rtmpdump":

Adobe's RTMP specification (21 Dec 2012), section ("Extended
Timestamp"), says "this field is present in Type 3 chunks". Type 3 chunks are
those with the one-byte header size.

This resolves intermittent hangs and segfaults caused by the read function,
and also includes an untested fix for the write function.

The read function was tested with ABC (Australia) News 24 streams, however
they are probably restricted to only Australian internet addresses. Some of
the packets at the start of these streams seem to contain junk timestamp
fields, often requiring the extended field. Test command:

avplay rtmp://

Signed-off-by: Martin Storsjö <>
8 years agodict: K&R formatting cosmetics
Patrice Clement [Thu, 6 Mar 2014 18:40:56 +0000 (19:40 +0100)]
dict: K&R formatting cosmetics

8 years agolibx265: Support API version 9
Derek Buitenhuis [Thu, 6 Mar 2014 20:01:17 +0000 (20:01 +0000)]
libx265: Support API version 9

Signed-off-by: Derek Buitenhuis <>
8 years agodxva2: Increase maximum number of slices for mpeg2
Rainer Hochecker [Thu, 6 Mar 2014 13:40:43 +0000 (14:40 +0100)]
dxva2: Increase maximum number of slices for mpeg2

Some content requires an higher number of slices in order to
render properly.

Rise the number to 1024 and warn if ever it exceeds.

Signed-off-by: Luca Barbato <>
8 years agomxf: Return meaningful errors
Luca Barbato [Wed, 8 Jan 2014 00:51:48 +0000 (01:51 +0100)]
mxf: Return meaningful errors

8 years agomxf: Parse random index pack
Paul B Mahol [Fri, 18 Oct 2013 10:44:56 +0000 (10:44 +0000)]
mxf: Parse random index pack

Get the last partition offset and use it when footer partition
offset is missing.

Footer partition may not be present and even if present footer
partition offset may not be set in any partition except last one.

Signed-off-by: Luca Barbato <>
8 years agomxf: Handle identification metadata
Matthieu Bouron [Fri, 29 Mar 2013 13:09:31 +0000 (14:09 +0100)]
mxf: Handle identification metadata

Signed-off-by: Luca Barbato <>
8 years agomxf: Set audio packets pts
Matthieu Bouron [Thu, 13 Sep 2012 19:15:48 +0000 (21:15 +0200)]
mxf: Set audio packets pts

Extrapolate audio timestamps based on the number of samples demuxed.

Deal with some MXF nastiness involving fractional number of
samples per EditUnit when seeking (the specs handwave this away).

Further fixes from Tomas Härdin.

Signed-off-by: Luca Barbato <>
8 years agomxf: Introduce ff_mxf_get_samples_per_frame
Matthieu Bouron [Thu, 20 Sep 2012 18:31:28 +0000 (20:31 +0200)]
mxf: Introduce ff_mxf_get_samples_per_frame

Signed-off-by: Luca Barbato <>
8 years agobuild: Let the SVQ3 decoder depend on the H.264 decoder
Diego Biurrun [Thu, 6 Mar 2014 12:04:03 +0000 (13:04 +0100)]
build: Let the SVQ3 decoder depend on the H.264 decoder

The SVQ3 decoder reuses large parts of the H.264 decoder so it
makes no sense to enable the former but not the latter.

Also drop unnecessary h263.o object from SVQ3 decoder object list.

8 years agoconfigure: Split x86 SIMD architecture extensions into separate list
Diego Biurrun [Sat, 2 Nov 2013 16:21:53 +0000 (17:21 +0100)]
configure: Split x86 SIMD architecture extensions into separate list

This avoids checking inline/external assembly dependencies for x86
extensions that do not play a role in inline/external assembly.

8 years agovf_shuffleplanes: fix the type of the mapping indices
Anton Khirnov [Thu, 6 Mar 2014 07:32:50 +0000 (08:32 +0100)]
vf_shuffleplanes: fix the type of the mapping indices

They are TYPE_INT AVOptions, so they must be ints

8 years agox86: dcadsp: Fix linking with yasm and optimizations disabled
Diego Biurrun [Tue, 4 Mar 2014 18:40:21 +0000 (19:40 +0100)]
x86: dcadsp: Fix linking with yasm and optimizations disabled

Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.

8 years agoFATE: add tests for the shuffleplanes filter
Anton Khirnov [Mon, 24 Feb 2014 10:32:16 +0000 (11:32 +0100)]
FATE: add tests for the shuffleplanes filter

8 years agolavfi: add shuffleplanes filter
Anton Khirnov [Sun, 23 Feb 2014 14:38:13 +0000 (15:38 +0100)]
lavfi: add shuffleplanes filter

8 years agolavfi: use the correct filter context for logging an error.
Anton Khirnov [Sun, 23 Feb 2014 14:40:06 +0000 (15:40 +0100)]
lavfi: use the correct filter context for logging an error.

8 years agoarm: hpeldsp: prevent overreads in armv6 asm
Janne Grunau [Wed, 5 Mar 2014 11:44:57 +0000 (12:44 +0100)]
arm: hpeldsp: prevent overreads in armv6 asm

Based on a patch by Russel King <>

Bug-Id: 646
8 years agox86: cabac: Use correct #includes to make header compile standalone
Diego Biurrun [Tue, 4 Mar 2014 18:26:28 +0000 (19:26 +0100)]
x86: cabac: Use correct #includes to make header compile standalone

8 years agoavfilter: Add missing emms_c when needed
Luca Barbato [Wed, 5 Mar 2014 09:41:33 +0000 (10:41 +0100)]
avfilter: Add missing emms_c when needed

Arch specific calls should have an emms_c following to keep the cpu
state consistent.

Reported-By: wm4
8 years agoconfigure: enable PIC on s390(x)
Reinhard Tartler [Sun, 2 Mar 2014 07:11:05 +0000 (02:11 -0500)]
configure: enable PIC on s390(x)

The s390 architecture requires shared libraries to be built in PIC mode.
Otherwise applications will get wrong relocations at run-time, leading
to confusing segmentation faults.

8 years agoav_vdpau_get_profile: mask out H.264 intra profile flag
Rémi Denis-Courmont [Tue, 4 Mar 2014 19:13:09 +0000 (19:13 +0000)]
av_vdpau_get_profile: mask out H.264 intra profile flag

Signed-off-by: Janne Grunau <>
8 years agoavienc: K&R formatting cosmetics
Keiji Costantini [Fri, 28 Feb 2014 18:58:20 +0000 (19:58 +0100)]
avienc: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <>
8 years agovf_frei0r: fix missing end of line character
Vittorio Giovara [Tue, 4 Mar 2014 17:27:09 +0000 (18:27 +0100)]
vf_frei0r: fix missing end of line character

Error introduced in 61b323ce7c7cdc101eadfd7de2203922b8a39e8d.

8 years agodoc: fix a couple of typos in frame.h
Vittorio Giovara [Tue, 4 Mar 2014 14:16:51 +0000 (15:16 +0100)]
doc: fix a couple of typos in frame.h

8 years agoput_bits: Remove unused includes
Vittorio Giovara [Wed, 26 Feb 2014 01:26:29 +0000 (02:26 +0100)]
put_bits: Remove unused includes

This requires adding includes to other files that relied on these being
included implicitly.

8 years agomathops: move macro to the only place it is used
Vittorio Giovara [Sat, 1 Mar 2014 12:01:43 +0000 (13:01 +0100)]
mathops: move macro to the only place it is used

This helps in disentangling lavf and lavc too.

8 years agovf_frei0r: refactor library loading from env variable
Vittorio Giovara [Thu, 27 Feb 2014 11:29:37 +0000 (12:29 +0100)]
vf_frei0r: refactor library loading from env variable

strtok_r is not needed any more, so remove it from configure.

8 years agovf_frei0r: prevent a segfault when filter parameters are not set
Vittorio Giovara [Thu, 27 Feb 2014 11:06:15 +0000 (12:06 +0100)]
vf_frei0r: prevent a segfault when filter parameters are not set

8 years agovf_frei0r: adjust error messages
Vittorio Giovara [Thu, 27 Feb 2014 12:41:57 +0000 (13:41 +0100)]
vf_frei0r: adjust error messages

8 years agoass: K&R formatting cosmetics
Patrice Clement [Fri, 28 Feb 2014 17:31:29 +0000 (18:31 +0100)]
ass: K&R formatting cosmetics

8 years agoituh263: reject b-frame with pp_time = 0
Keiji Costantini [Sat, 1 Mar 2014 18:17:04 +0000 (18:17 +0000)]
ituh263: reject b-frame with pp_time = 0

Avoid a division by 0 in ff_mpeg4_set_one_direct_mv.

Sample-Id: 00000168-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Vittorio Giovara <>
8 years agoqt-faststart: Add a note about the -movflags +faststart feature
Lou Logan [Tue, 7 Jan 2014 19:59:04 +0000 (10:59 -0900)]
qt-faststart: Add a note about the -movflags +faststart feature

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Avoid unintentionally sign extending BE_32
Martin Storsjö [Fri, 28 Feb 2014 10:19:49 +0000 (12:19 +0200)]
qt-faststart: Avoid unintentionally sign extending BE_32

Without this cast, the BE_32() expression is sign extended when
assigned to an uint64_t, since the uint8_t|uint8_t expression
is promoted to an int.

Also avoid undefined behaviour when left shifting an uint8_t
by 24 by casting it to an uint32_t explicitly before shifting.

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Check offset_count before reading from the moov_atom buffer
Michael Niedermayer [Thu, 13 Dec 2012 14:07:20 +0000 (15:07 +0100)]
qt-faststart: Check offset_count before reading from the moov_atom buffer

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Check the ftello() return codes
Michael Niedermayer [Wed, 24 Oct 2012 22:39:33 +0000 (00:39 +0200)]
qt-faststart: Check the ftello() return codes

This silences a warning in the coverity static analyzer.

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Fix the signedness of variables keeping the ftello return values
Michael Niedermayer [Mon, 29 Oct 2012 21:05:33 +0000 (22:05 +0100)]
qt-faststart: Fix the signedness of variables keeping the ftello return values

These variables are assigned the return values of ftello, which
returns an off_t, which is a signed type. On errors, ftello returns
-1, thus make sure this error return value can be stored properly.

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Check fseeko() return codes
Michael Niedermayer [Mon, 22 Oct 2012 20:42:51 +0000 (22:42 +0200)]
qt-faststart: Check fseeko() return codes

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Simplify code by using a MIN() macro
Michael Niedermayer [Sun, 30 Sep 2012 19:53:26 +0000 (21:53 +0200)]
qt-faststart: Simplify code by using a MIN() macro

qt-faststart doesn't use the normal libav headers at all since
it's supposed to be a completely standalone tool, so we implement
the macro locally in this file.

Signed-off-by: Martin Storsjö <>
8 years agoqt-faststart: Increase the copy buffer size to 64 KB
Martin Storsjö [Fri, 28 Feb 2014 09:41:55 +0000 (11:41 +0200)]
qt-faststart: Increase the copy buffer size to 64 KB

Copying data in chunks of 1 KB is a little wasteful.

64 KB should still easily fit on the stack, so there's no need
to allocate it dynamically.

Signed-off-by: Martin Storsjö <>
8 years agopthread_frame: flush all threads on flush, not just the first one
Anton Khirnov [Thu, 27 Feb 2014 20:36:33 +0000 (21:36 +0100)]
pthread_frame: flush all threads on flush, not just the first one

avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
Bug-Id: vlc/9665

8 years agoaf_compand: replace strtok_r() with av_get_token()
Anton Khirnov [Wed, 26 Feb 2014 21:37:06 +0000 (22:37 +0100)]
af_compand: replace strtok_r() with av_get_token()

8 years agoconfigure: Set the thread type after resolving dependencies
Diego Biurrun [Mon, 23 Dec 2013 03:24:53 +0000 (04:24 +0100)]
configure: Set the thread type after resolving dependencies

A threading type might be detected originally, but later disabled
if one of its dependencies is unavailable.

This makes sure that the threading support item in the configure
output is right for setups where w32threads are available but
native atomics aren't.

Signed-off-by: Martin Storsjö <>
8 years agobuild: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
Diego Biurrun [Thu, 27 Feb 2014 23:02:25 +0000 (15:02 -0800)]
build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder

Almost all of the code is shared so there is little point in
enabling one decoder/encoder without the other.

8 years agobuild: Let the iac decoder depend on the imc decoder
Diego Biurrun [Thu, 27 Feb 2014 23:02:24 +0000 (15:02 -0800)]
build: Let the iac decoder depend on the imc decoder

Almost all of the code is shared so there is little point in
enabling one decoder without the other.

8 years agobuild: Let all MJPEG-related decoders depend on the MJPEG decoder
Diego Biurrun [Thu, 27 Feb 2014 23:02:23 +0000 (15:02 -0800)]
build: Let all MJPEG-related decoders depend on the MJPEG decoder

These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.

8 years agobuild: Let AMV decoder depend on the SP5X decoder
Diego Biurrun [Thu, 27 Feb 2014 23:02:22 +0000 (15:02 -0800)]
build: Let AMV decoder depend on the SP5X decoder

This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.

8 years agoh264: fix clang warning about uninitialized variable
Vittorio Giovara [Fri, 28 Feb 2014 12:16:37 +0000 (13:16 +0100)]
h264: fix clang warning about uninitialized variable

8 years agoh264: update flag name in ff_h264_decode_ref_pic_list_reordering()
Vittorio Giovara [Wed, 19 Feb 2014 02:23:17 +0000 (03:23 +0100)]
h264: update flag name in ff_h264_decode_ref_pic_list_reordering()

This is the name used in the specifications.

8 years agoh264: parse two additional constraint flags
Vittorio Giovara [Wed, 19 Feb 2014 02:19:23 +0000 (03:19 +0100)]
h264: parse two additional constraint flags

8 years agoh264: add MVCD to the list of High profiles in SPS
Vittorio Giovara [Mon, 17 Feb 2014 12:55:15 +0000 (13:55 +0100)]
h264: add MVCD to the list of High profiles in SPS

Also comment all previous profiles.