ffmpeg.git
5 years agopictordec: pass correct context to avpriv_request_sample
Anton Khirnov [Sat, 24 Aug 2013 19:30:46 +0000 (21:30 +0200)]
pictordec: pass correct context to avpriv_request_sample

Fixes invalid reads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agopictordec: break out of both decoding loops when y drops below 0
Anton Khirnov [Sat, 24 Aug 2013 19:30:46 +0000 (21:30 +0200)]
pictordec: break out of both decoding loops when y drops below 0

Otherwise picmemset can get called with negative y, resulting in an
invalid write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agovcr1: add sanity checks
Anton Khirnov [Sat, 24 Aug 2013 19:30:46 +0000 (21:30 +0200)]
vcr1: add sanity checks

Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agopcm-dvd: Fix build on big endian
Martin Storsjö [Sat, 31 Aug 2013 15:35:33 +0000 (17:35 +0200)]
pcm-dvd: Fix build on big endian

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoconfigure: Add docdir configuration option
Vittorio Giovara [Wed, 28 Aug 2013 08:30:14 +0000 (10:30 +0200)]
configure: Add docdir configuration option

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agovf_lut: Constantize
Diego Elio Pettenò [Sat, 31 Aug 2013 10:30:16 +0000 (03:30 -0700)]
vf_lut: Constantize

The pixel format tables are never modified, mark them as constant.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agopcm_dvd: consolidate pieces from pcm.c and mpeg.c
Christian Schmidt [Fri, 30 Aug 2013 16:15:47 +0000 (18:15 +0200)]
pcm_dvd: consolidate pieces from pcm.c and mpeg.c

Remove the header decoding for PCM audio from mpeg.c and the
20/24bit parts from pcm.c and merge them into a new decoder in
pcm-dvd.c.

The decoder has added support for samples that span multiple
packets and modified 20/24bit group decoding. Both is needed to
decode samples that have been generated with DVD-Lab Pro 2. The
decoding of 16bit PCM and two channel 24bit is identical to
before. No other samples are known to verify the correctness of
the encoding this software does.
The complete list of tested formats is
48kHz/16bit/2-8 channels
48kHz/24bit/2-5 channels
96kHz/16bit/2-4 channels
96kHz/24bit/2 channels

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agopcm_bluray: cosmetics
Christian Schmidt [Fri, 30 Aug 2013 16:15:46 +0000 (18:15 +0200)]
pcm_bluray: cosmetics

5 years agopcm_bluray: rename pcm-mpeg.c to pcm-bluray.c
Christian Schmidt [Fri, 30 Aug 2013 16:15:44 +0000 (18:15 +0200)]
pcm_bluray: rename pcm-mpeg.c to pcm-bluray.c

The original idea was to collect PCM codecs that could appear in various
MPEG streams in this file. Discussion in IRC lead to the conclusion that
one codec per file would be better and stop the need for #ifdefs.

5 years agoppc: don't return a value from a function declared void
Sean McGovern [Thu, 29 Aug 2013 14:39:31 +0000 (10:39 -0400)]
ppc: don't return a value from a function declared void

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agox86: avcodec: Consistently structure CPU extension initialization
Diego Biurrun [Tue, 20 Aug 2013 13:32:00 +0000 (15:32 +0200)]
x86: avcodec: Consistently structure CPU extension initialization

5 years agox86: avcodec: Use convenience macros to check for CPU flags
Diego Biurrun [Tue, 20 Aug 2013 12:46:58 +0000 (14:46 +0200)]
x86: avcodec: Use convenience macros to check for CPU flags

5 years agox86: Add and use more convenience macros to check CPU extension availability
Diego Biurrun [Tue, 20 Aug 2013 12:39:36 +0000 (14:39 +0200)]
x86: Add and use more convenience macros to check CPU extension availability

5 years agoppc: cosmetics: Consistently format CPU flag detection invocations
Diego Biurrun [Fri, 23 Aug 2013 16:50:53 +0000 (18:50 +0200)]
ppc: cosmetics: Consistently format CPU flag detection invocations

5 years agocosmetics: Place arch initialization calls in alphabetical order
Diego Biurrun [Tue, 20 Aug 2013 16:24:27 +0000 (18:24 +0200)]
cosmetics: Place arch initialization calls in alphabetical order

5 years agoarm: fmtconvert: Split armv6 fmtconvert code off from vfp code
Diego Biurrun [Fri, 23 Aug 2013 18:01:36 +0000 (20:01 +0200)]
arm: fmtconvert: Split armv6 fmtconvert code off from vfp code

5 years agoarm: float_dsp: Propagate cpu_flags to vfp initialization function
Diego Biurrun [Fri, 23 Aug 2013 17:39:21 +0000 (19:39 +0200)]
arm: float_dsp: Propagate cpu_flags to vfp initialization function

5 years agoarm: dcadsp: Move synth filter initialization to dcadsp file
Diego Biurrun [Fri, 23 Aug 2013 16:15:32 +0000 (18:15 +0200)]
arm: dcadsp: Move synth filter initialization to dcadsp file

5 years agoswscale: cosmetics: Drop silly camelCase from swScale function pointer name
Diego Biurrun [Sun, 25 Aug 2013 15:30:05 +0000 (17:30 +0200)]
swscale: cosmetics: Drop silly camelCase from swScale function pointer name

5 years agoswscale: Add some missing av_cold to arch-specific init functions
Diego Biurrun [Tue, 20 Aug 2013 08:52:54 +0000 (10:52 +0200)]
swscale: Add some missing av_cold to arch-specific init functions

5 years agoswscale: consistent names for arch-specific acceleration functions
Diego Biurrun [Tue, 20 Aug 2013 08:48:40 +0000 (10:48 +0200)]
swscale: consistent names for arch-specific acceleration functions

5 years agoswscale: ppc: Hide arch-specific initialization details
Diego Biurrun [Wed, 10 Oct 2012 23:06:04 +0000 (01:06 +0200)]
swscale: ppc: Hide arch-specific initialization details

Also give consistent names to init functions.

5 years agoppc: Add missing AltiVec cpuflag detection invocations
Diego Biurrun [Fri, 23 Aug 2013 16:48:17 +0000 (18:48 +0200)]
ppc: Add missing AltiVec cpuflag detection invocations

5 years agoppc: fdct: Remove vim editor settings comment
Diego Biurrun [Fri, 23 Aug 2013 16:46:49 +0000 (18:46 +0200)]
ppc: fdct: Remove vim editor settings comment

5 years agompegvideo: Replace arch initialization ifdeffery by standard conditionals
Diego Biurrun [Tue, 20 Aug 2013 16:25:04 +0000 (18:25 +0200)]
mpegvideo: Replace arch initialization ifdeffery by standard conditionals

5 years agox86: rv40dsp: Move inline assembly optimizations out of YASM init section
Diego Biurrun [Tue, 20 Aug 2013 13:26:02 +0000 (15:26 +0200)]
x86: rv40dsp: Move inline assembly optimizations out of YASM init section

5 years agoswscale: x86: Hide arch-specific initialization details
Diego Biurrun [Fri, 12 Oct 2012 17:54:45 +0000 (19:54 +0200)]
swscale: x86: Hide arch-specific initialization details

Also give consistent names to init functions.

5 years agodsputil: x86: Hide arch-specific initialization details
Diego Biurrun [Fri, 12 Oct 2012 17:57:25 +0000 (19:57 +0200)]
dsputil: x86: Hide arch-specific initialization details

Also give consistent names to init functions.

5 years agoppc: Add and use convenience macro to check for AltiVec availability
Diego Biurrun [Tue, 20 Aug 2013 14:36:47 +0000 (16:36 +0200)]
ppc: Add and use convenience macro to check for AltiVec availability

5 years agoavutil: Refactor CPU extension availability macros
Diego Biurrun [Tue, 20 Aug 2013 14:36:46 +0000 (16:36 +0200)]
avutil: Refactor CPU extension availability macros

5 years agoavutil: Move internal CPU detection function declarations to private header
Diego Biurrun [Tue, 20 Aug 2013 15:49:01 +0000 (17:49 +0200)]
avutil: Move internal CPU detection function declarations to private header

5 years agoapedec: do not buffer decoded samples over AVPackets
Rafaël Carré [Tue, 27 Aug 2013 15:35:49 +0000 (17:35 +0200)]
apedec: do not buffer decoded samples over AVPackets

Only consume an AVPacket when all the samples have been read.

When the rate of samples output is limited (by the default value
of max_samples), consuming the first packet immediately will cause
timing problems:

- The first packet with PTS 0 will output 4608 samples and be
consumed entirely
- The second packet with PTS 64 will output the remaining samples
(typically, a lot, that's why max_samples exist) until the decoded
samples of the first packet have been exhausted, at which point the
samples of the second packet will be decoded and output when
av_decode_frame is called with the next packet).

That means there's a PTS jump since the first packet is 'decoded'
immediately, which can be seen with avplay or mplayer: the timing
jumps immediately to 6.2s (which is the size of a packet).

Sample: http://streams.videolan.org/issues/6348/Goldwave-MAClib.ape
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
5 years agoconfigure: x86: Fix handling of i686 and cpunop features
Diego Biurrun [Tue, 27 Aug 2013 21:33:57 +0000 (23:33 +0200)]
configure: x86: Fix handling of i686 and cpunop features

The i686 feature really is a CPU feature and should be handled as such.
The cpunop dependency on i686 should be expressed with a standard _deps
declaration instead of a manual test.

5 years agortmpproto: Fix limelight authentication with abbreviated app names
Martin Storsjö [Thu, 15 Aug 2013 10:17:15 +0000 (13:17 +0300)]
rtmpproto: Fix limelight authentication with abbreviated app names

When streaming to limelight, the app name is either a full
"appname/subaccount" or "appname/_definst_". In the latter case,
the app name can be simplified into simply "appname", but the
authentication hashing assumes the /_definst_ still to be present.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agovf_fps: use double constants for default/min/max for start_time
Hendrik Leppkes [Tue, 27 Aug 2013 20:44:14 +0000 (22:44 +0200)]
vf_fps: use double constants for default/min/max for start_time

When using AV_NOPTS_VALUE (which expands to INT64_C(0x8000000000000000))
as union initializer for a double field, the c99 converter needs to
interpret this constant when filling the union initializer, and it is
interpreted as a positive value.

When converting AV_NOPTS_VALUE to a double, MSVC 2010 ends up with
the same positive value as the c99 converter, while MSVC 2012 gets
a negative value.

This results in an infite loop in various FATE tests on MSVC 2012.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agodoc: document the asf demuxer
Luca Barbato [Tue, 27 Aug 2013 14:14:42 +0000 (16:14 +0200)]
doc: document the asf demuxer

And drop a typo from the previous FLV entry.

5 years agovf_interlace: fix file permissions
Vittorio Giovara [Tue, 27 Aug 2013 21:41:39 +0000 (23:41 +0200)]
vf_interlace: fix file permissions

Signed-off-by: Diego Biurrun <diego@biurrun.de>
5 years agoRevert "w32pthread: help compiler figure out undeeded code"
Martin Storsjö [Tue, 27 Aug 2013 11:55:06 +0000 (14:55 +0300)]
Revert "w32pthread: help compiler figure out undeeded code"

This reverts commit 4622f11f9c83db8a2e08408c71ff901826ca652c.

The compiler should be able to do the dead code elimination now
without this when the cond_* names point directly to the real
functions instead of to local function pointers.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agow32threads: Don't use function pointers when linking directly to newer APIs
Martin Storsjö [Tue, 27 Aug 2013 11:48:56 +0000 (14:48 +0300)]
w32threads: Don't use function pointers when linking directly to newer APIs

This reduces the call overhead slightly. More noticeably, it
restores the earlier (unintended?) feature that condition variable
functions work just fine even if w32thread_init() hasn't been called.
This was broken as a side effect of 4622f11f9, if explicitly targeting
Vista+.

This makes w32threading work in VP8 again, if targeting Vista+.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agosmoothstreamingenc: Write to a temp file while updating the manifest
Martin Storsjö [Sat, 17 Aug 2013 15:42:23 +0000 (16:42 +0100)]
smoothstreamingenc: Write to a temp file while updating the manifest

If a client tries to read the file while it's being updated, the client
would get an incomplete manifest. Instead write to a separate temp file
and atomically rename it to replace the previous one.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoac3: Return proper error codes
Luca Barbato [Sat, 27 Jul 2013 08:16:35 +0000 (10:16 +0200)]
ac3: Return proper error codes

5 years agoac3: Clean up the error paths
Luca Barbato [Sun, 28 Jul 2013 11:32:18 +0000 (13:32 +0200)]
ac3: Clean up the error paths

5 years agoac3: Do not clash with normal AVERROR
Luca Barbato [Sun, 28 Jul 2013 11:26:12 +0000 (13:26 +0200)]
ac3: Do not clash with normal AVERROR

The parsing function return AVERROR and AAC_AC3_PARSE_ERROR values,
make sure they are not misunderstood.

5 years agoflv: Fix the help string
Luca Barbato [Tue, 27 Aug 2013 11:04:21 +0000 (13:04 +0200)]
flv: Fix the help string

5 years agodoc: Document the flv demuxer
Luca Barbato [Mon, 26 Aug 2013 14:22:44 +0000 (16:22 +0200)]
doc: Document the flv demuxer

5 years agomatroskaenc: Fix writing TRACKDEFAULTFLAG
John Stebbins [Thu, 22 Aug 2013 15:54:59 +0000 (08:54 -0700)]
matroskaenc: Fix writing TRACKDEFAULTFLAG

The element was only being written when the value == 1.  But the default
value of this element is 1, so this has no useful effect.  This element
needs to be written when the value == 0.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agomovenc: Check for errors from mov_create_chapter_track
Martin Storsjö [Mon, 26 Aug 2013 07:45:27 +0000 (10:45 +0300)]
movenc: Check for errors from mov_create_chapter_track

On failures in the write_trailer function, we could also ignore
the errors and try to finish the file despite these errors (which
would only leave an incomplete chapters track). It's probably better
to signal the error clearly to the caller though (and if this
function failed there's no guarantee that there's enough memory to
finish the trailer either).

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomovenc: Properly free allocated data on failures in mov_write_header
Martin Storsjö [Mon, 26 Aug 2013 07:59:46 +0000 (10:59 +0300)]
movenc: Properly free allocated data on failures in mov_write_header

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomovenc: Check that tracks->enc exists before trying to free extradata
Martin Storsjö [Mon, 26 Aug 2013 07:56:17 +0000 (10:56 +0300)]
movenc: Check that tracks->enc exists before trying to free extradata

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomovenc: Check for allocation failures in mov_create_chapter_track
Martin Storsjö [Sun, 25 Aug 2013 18:23:58 +0000 (21:23 +0300)]
movenc: Check for allocation failures in mov_create_chapter_track

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoimc: support mode 1
Kostya Shishkov [Thu, 11 Jul 2013 05:04:42 +0000 (07:04 +0200)]
imc: support mode 1

5 years agotwinvq: set block align for codecs and use it in size checks
Kostya Shishkov [Sat, 24 Aug 2013 13:00:08 +0000 (15:00 +0200)]
twinvq: set block align for codecs and use it in size checks

This both allows factoring out size check for both MetaSound and TwinVQ-VQF
decoders and fixes the situation when there are several MetaSound frames
stuffed together (that happens in 8kHz @ 8kbps MetaSound in ASF for example).

5 years agomov: Write tmcd extradata
Luca Barbato [Sun, 25 Aug 2013 11:02:33 +0000 (13:02 +0200)]
mov: Write tmcd extradata

5 years agomov: Parse tmcd extradata
Luca Barbato [Sun, 25 Aug 2013 11:02:07 +0000 (13:02 +0200)]
mov: Parse tmcd extradata

5 years agomov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd

5 years agomov: Refactor codec specific final steps in mov_finalize_stsd_codec
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor codec specific final steps in mov_finalize_stsd_codec

5 years agomov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle

5 years agomov: Refactor audio specific parsing in mov_parse_stsd_audio
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor audio specific parsing in mov_parse_stsd_audio

5 years agomov: Refactor video specific parsing in mov_parse_stsd_video
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor video specific parsing in mov_parse_stsd_video

5 years agomov: Refactor codec id selection in mov_codec_id
Luca Barbato [Thu, 22 Aug 2013 13:00:46 +0000 (15:00 +0200)]
mov: Refactor codec id selection in mov_codec_id

5 years agoh264_cabac: Mark functions calling decode_cabac_residual_internal as noinline
Diego Biurrun [Thu, 15 Aug 2013 22:29:23 +0000 (00:29 +0200)]
h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline

This ensures that decode_cabac_residual_internal actually does get inlined,
which it otherwise does not, even though it is marked as always_inline.

5 years agoarm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder
Diego Biurrun [Fri, 23 Aug 2013 14:59:43 +0000 (16:59 +0200)]
arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder

The functions are used by all codecs that enable the h264chroma component
and the file is already compiled conditional on h264chroma being enabled.

5 years agolibfdk-aacdec: formatting cosmetics
Diego Biurrun [Wed, 21 Aug 2013 13:09:18 +0000 (15:09 +0200)]
libfdk-aacdec: formatting cosmetics

5 years agovp56: Mark VP6-only optimizations as such.
Diego Biurrun [Sat, 6 Oct 2012 18:28:56 +0000 (20:28 +0200)]
vp56: Mark VP6-only optimizations as such.

Most of our VP56 optimizations are VP6-only and will stay that way.
So avoid compiling them for VP5-only builds.

5 years agomovenc: Make tkhd "enabled" flag QuickTime compatible
John Stebbins [Thu, 22 Aug 2013 14:25:18 +0000 (07:25 -0700)]
movenc: Make tkhd "enabled" flag QuickTime compatible

QuickTime will play multiple audio tracks concurrently if this flag is
set for multiple audio tracks.  And if no subtitle track has this flag
set, QuickTime will show no subtitles in the subtitle menu.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agomov: use tkhd enabled flag to set the default track
John Stebbins [Thu, 22 Aug 2013 14:25:17 +0000 (07:25 -0700)]
mov: use tkhd enabled flag to set the default track

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agox86: Split DCT and FFT initialization into separate files
Diego Biurrun [Sun, 4 Aug 2013 11:24:15 +0000 (13:24 +0200)]
x86: Split DCT and FFT initialization into separate files

5 years agomovenc: fix detection of 64bit offset requirement
Clément Bœsch [Tue, 20 Aug 2013 14:46:09 +0000 (07:46 -0700)]
movenc: fix detection of 64bit offset requirement

The old method doesn't work when moov is relocated to beginning of file

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomovenc: Make chapter track QuickTime compatible
John Stebbins [Mon, 19 Aug 2013 23:05:33 +0000 (16:05 -0700)]
movenc: Make chapter track QuickTime compatible

QuickTime requires that the stsd.text box be completely filled in.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomovenc: add faststart option for web streaming
Clément Bœsch [Mon, 19 Aug 2013 23:05:31 +0000 (16:05 -0700)]
movenc: add faststart option for web streaming

Faststart moves the moov atom to the beginning of the file and rewrites
the rest of the file after muxing is complete.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agow32pthread: help compiler figure out undeeded code
Rafaël Carré [Tue, 20 Aug 2013 17:25:22 +0000 (19:25 +0200)]
w32pthread: help compiler figure out undeeded code

The emulation code is not needed when targetting Vista+
This helps getting rid of CreateSemaphore symbol, which is
forbidden in Windows Store apps.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agox86: h264_idct: Remove incorrect comment
Diego Biurrun [Mon, 19 Aug 2013 13:32:36 +0000 (15:32 +0200)]
x86: h264_idct: Remove incorrect comment

5 years agoavcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM
Diego Biurrun [Tue, 20 Aug 2013 12:24:04 +0000 (14:24 +0200)]
avcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM

5 years agoh264_ps: Use more meaningful error values
Diego Biurrun [Mon, 19 Aug 2013 13:18:49 +0000 (15:18 +0200)]
h264_ps: Use more meaningful error values

5 years agoh264_ps: K&R formatting cosmetics
Diego Biurrun [Mon, 19 Aug 2013 13:16:05 +0000 (15:16 +0200)]
h264_ps: K&R formatting cosmetics

5 years agoh264_ps: Drop commented-out cruft
Diego Biurrun [Mon, 19 Aug 2013 13:22:06 +0000 (15:22 +0200)]
h264_ps: Drop commented-out cruft

5 years agoh264data: Move some tables to the only place they are used
Diego Biurrun [Mon, 19 Aug 2013 10:44:58 +0000 (12:44 +0200)]
h264data: Move some tables to the only place they are used

5 years agoh264data: Remove unused luma_dc_field_scan table
Diego Biurrun [Mon, 19 Aug 2013 10:43:17 +0000 (12:43 +0200)]
h264data: Remove unused luma_dc_field_scan table

5 years agoAdd a libfdk-aac decoder
Martin Storsjö [Thu, 15 Aug 2013 19:40:32 +0000 (15:40 -0400)]
Add a libfdk-aac decoder

This can be useful for decoding AAC object types that are not supported
by the native AAC decoder, e.g. AAC-LD and AAC-ELD.

5 years agovf_fps: add 'start_time' option
Justin Ruggles [Thu, 15 Aug 2013 20:14:57 +0000 (16:14 -0400)]
vf_fps: add 'start_time' option

This allows for dropping or duplication to match a particular start time.

5 years agoavcodec: Remove some commented-out debug cruft
Diego Biurrun [Tue, 20 Aug 2013 12:25:33 +0000 (14:25 +0200)]
avcodec: Remove some commented-out debug cruft

5 years agomovenc: Allow chapters to be written in trailer
John Stebbins [Mon, 19 Aug 2013 23:05:30 +0000 (16:05 -0700)]
movenc: Allow chapters to be written in trailer

This allows creation of frame accurate chapter marks from sources
like DVD and BD where the precise chapter location is not known until
the chapter mark has been reached during reading.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomovenc: Allow chapter track in default MODE_MP4
John Stebbins [Mon, 19 Aug 2013 23:05:29 +0000 (16:05 -0700)]
movenc: Allow chapter track in default MODE_MP4

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoavformat: Fix references to removed av_close_input_file in Doxygen
Diego Biurrun [Tue, 20 Aug 2013 10:23:24 +0000 (12:23 +0200)]
avformat: Fix references to removed av_close_input_file in Doxygen

5 years agomov: Prevent segfaults on mov_write_hdlr_tag
Luca Barbato [Mon, 19 Aug 2013 15:18:23 +0000 (17:18 +0200)]
mov: Prevent segfaults on mov_write_hdlr_tag

Do not segfault when writing tracks such as tmcd by writing them down
as generic DataHandlers if not known.

5 years agomov: Compute max duration among the tracks with a timescale
Luca Barbato [Mon, 19 Aug 2013 15:18:22 +0000 (17:18 +0200)]
mov: Compute max duration among the tracks with a timescale

Prevent an assert.

5 years agomov: Set the timescale for data streams
Luca Barbato [Mon, 19 Aug 2013 15:18:21 +0000 (17:18 +0200)]
mov: Set the timescale for data streams

Data streams have a defined timebase, do not ignore it.

5 years agomkv: Allow flushing the current cluster in progress
Martin Storsjö [Mon, 19 Aug 2013 07:33:14 +0000 (08:33 +0100)]
mkv: Allow flushing the current cluster in progress

Allow emitting the current cluster that is being written before
starting a new one, simplifying how to figure out where clusters
are positioned in the output stream (for live streaming).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomkv: Flush the old cluster before writing a new one
Luca Barbato [Sun, 18 Aug 2013 18:09:41 +0000 (20:09 +0200)]
mkv: Flush the old cluster before writing a new one

This simplifies keeping track of cluster boundaries for e.g.
livestreaming of WebM.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomkv: Add options for specifying cluster limits
Luca Barbato [Sun, 18 Aug 2013 18:09:40 +0000 (20:09 +0200)]
mkv: Add options for specifying cluster limits

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomkv: Refactor mkv_write_packet
Luca Barbato [Sun, 18 Aug 2013 18:09:39 +0000 (20:09 +0200)]
mkv: Refactor mkv_write_packet

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agoogg: Fix potential infinite discard loop
Reimar Döffinger [Sun, 18 Aug 2013 15:40:51 +0000 (17:40 +0200)]
ogg: Fix potential infinite discard loop

Seeking in certain broken files would cause ogg_read_timestamp
to fail because ogg_packet would go into a state where all packets
of stream 1 would be discarded until the end of the stream.

Bug-Id: 553
CC: libav-stable@libav.org
Signed-off-by: Jan Gerber <j@v2v.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomovenc: Indicate that negative timestamps are supported
Martin Storsjö [Sat, 17 Aug 2013 16:05:53 +0000 (17:05 +0100)]
movenc: Indicate that negative timestamps are supported

The mov/mp4 muxer has support for handling negative timestamps
via edit lists (which customarily is used for handling the 1-frame
delay due to B-frames as well).

Using the muxer's native way of handling it is better than using
the generic offsetting. The generic offsetting is a bit too
crude when e.g. the timebase of one track is 1/fps, where the
edit lists can handle it accurately.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agodxa: fix decoding of first I-frame by separating I/P-frame decoding
Janne Grunau [Sat, 17 Aug 2013 10:36:36 +0000 (12:36 +0200)]
dxa: fix decoding of first I-frame by separating I/P-frame decoding

5ef7c84 broke decoding for the first keyframe due to an unnecessary
check for a reference frame.

CC: libav-stable@libav.org
5 years agodxa: Make sure the reference frame exists
Luca Barbato [Wed, 14 Aug 2013 14:51:53 +0000 (16:51 +0200)]
dxa: Make sure the reference frame exists

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agoh261: check the mtype index
Luca Barbato [Wed, 14 Aug 2013 14:57:21 +0000 (16:57 +0200)]
h261: check the mtype index

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agoaltivec: perform an explicit unaligned load
Kostya Shishkov [Wed, 14 Aug 2013 19:28:05 +0000 (15:28 -0400)]
altivec: perform an explicit unaligned load

Implicit vector loads on POWER7 hardware can use the VSX
instruction set instead of classic Altivec/VMX. Let's force
a VMX load in this case.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agohlsenc: Don't reset the number variable when wrapping
Carl Eugen Hoyos [Thu, 6 Jun 2013 10:09:38 +0000 (12:09 +0200)]
hlsenc: Don't reset the number variable when wrapping

The counter itself shouldn't be wrapped, since it is used for
determining end_pts for the next segment - only wrap the number
used for the segment file name.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agohlsenc: Append the last incomplete segment when closing the output
Stefano Sabatini [Thu, 15 Aug 2013 09:33:20 +0000 (12:33 +0300)]
hlsenc: Append the last incomplete segment when closing the output

Also avoid comparing NOPTS values.

Bug-id: 551
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agohlsenc: Add a proper dependency on the mpegts muxer
Martin Storsjö [Thu, 15 Aug 2013 13:09:27 +0000 (16:09 +0300)]
hlsenc: Add a proper dependency on the mpegts muxer

The hls muxer itself doesn't have any direct (object file level)
dependencies on mpegtsenc.o, and including that object file
directly doesn't ensure that it is registered so that the muxer
actually is accessible.

Signed-off-by: Martin Storsjö <martin@martin.st>