8 years agoavconv: do not use poorly defined and undocumented AVStream.pts
Anton Khirnov [Sun, 18 May 2014 10:21:32 +0000 (12:21 +0200)]
avconv: do not use poorly defined and undocumented AVStream.pts

Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.

8 years agohevc/intra_pred: simplify neighboring sample derivation
Anton Khirnov [Sat, 17 May 2014 20:30:42 +0000 (22:30 +0200)]
hevc/intra_pred: simplify neighboring sample derivation

8 years agohevc/intra_pred: drop unnecessary conditions in loops
Mickaël Raulet [Sat, 17 May 2014 19:59:08 +0000 (21:59 +0200)]
hevc/intra_pred: drop unnecessary conditions in loops

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agohevc/intra_pred: optimize EXTEND_()*
Mickaël Raulet [Sat, 17 May 2014 19:59:08 +0000 (21:59 +0200)]
hevc/intra_pred: optimize EXTEND_()*

Process 4 pixels at once.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agohevc: templatize intra_pred
Anton Khirnov [Sat, 17 May 2014 18:41:22 +0000 (20:41 +0200)]
hevc: templatize intra_pred

8 years agohevc: templatize pred_planar
Mickaël Raulet [Sat, 17 May 2014 18:32:05 +0000 (20:32 +0200)]
hevc: templatize pred_planar

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agomovenc: use the "encoder" metadata tag to write stsd Compressorname
Anton Khirnov [Tue, 29 Apr 2014 15:40:57 +0000 (17:40 +0200)]
movenc: use the "encoder" metadata tag to write stsd Compressorname

This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.

8 years agoavconv: set the "encoder" tag when transcoding
Anton Khirnov [Tue, 29 Apr 2014 15:23:49 +0000 (17:23 +0200)]
avconv: set the "encoder" tag when transcoding

8 years agowavenc: use codec descriptors to get the codec name
Anton Khirnov [Tue, 29 Apr 2014 15:01:17 +0000 (17:01 +0200)]
wavenc: use codec descriptors to get the codec name

Also, return a proper error code.

8 years agodoc/APIchanges: mark the release 10 branch point
Anton Khirnov [Sun, 18 May 2014 08:53:00 +0000 (10:53 +0200)]
doc/APIchanges: mark the release 10 branch point

8 years agodoc/APIchanges: fill in missing hashes and dates
Anton Khirnov [Sun, 18 May 2014 08:52:41 +0000 (10:52 +0200)]
doc/APIchanges: fill in missing hashes and dates

8 years agodv: do not set codec timebase
Anton Khirnov [Sun, 17 Nov 2013 17:42:02 +0000 (18:42 +0100)]
dv: do not set codec timebase

It is not supposed to be set from outside of libavcodec.
Set average framerate instead.

8 years agoavconv: set output avg_frame_rate when known
Anton Khirnov [Sun, 11 May 2014 16:00:48 +0000 (18:00 +0200)]
avconv: set output avg_frame_rate when known

8 years agolavf: extend avg_frame_rate documentation.
Anton Khirnov [Sun, 11 May 2014 15:58:05 +0000 (17:58 +0200)]
lavf: extend avg_frame_rate documentation.

8 years agoavienc: sanitize variable naming in write_header()
Anton Khirnov [Sun, 11 May 2014 08:07:35 +0000 (10:07 +0200)]
avienc: sanitize variable naming in write_header()

Do not call an AVCodecContext 'stream', that is highly confusing.
Also, add a local variable for the current AVStream in the loop over all

8 years agoyop: only set extradata size after it has been successfully allocated
Anton Khirnov [Sat, 3 May 2014 08:48:03 +0000 (10:48 +0200)]
yop: only set extradata size after it has been successfully allocated

Do not leave a non-zero extradata_size set on failure

8 years agoyuv4mpegdec: do not set coded_frame properties
Anton Khirnov [Sat, 3 May 2014 09:08:25 +0000 (11:08 +0200)]
yuv4mpegdec: do not set coded_frame properties

coded_frame is not meant to be changed from outside of lavc, and is not
used for decoding.
Set AVCodecContext.field_order instead.

8 years agoyuv4mpeg: split the demuxer and muxer into separate files
Anton Khirnov [Sat, 3 May 2014 09:04:50 +0000 (11:04 +0200)]
yuv4mpeg: split the demuxer and muxer into separate files

8 years agoa64: check that extradata exists before reading from it
Anton Khirnov [Sat, 3 May 2014 08:44:17 +0000 (10:44 +0200)]
a64: check that extradata exists before reading from it

8 years agoa64: remove unneeded struct qualifier
Anton Khirnov [Sat, 3 May 2014 08:43:27 +0000 (10:43 +0200)]
a64: remove unneeded struct qualifier

8 years ago4xm: allocate extradata properly.
Anton Khirnov [Sat, 3 May 2014 06:50:41 +0000 (08:50 +0200)]
4xm: allocate extradata properly.

Pad it with the required amount of zeros, check for malloc failure.

8 years agolavc: add avcodec_free_context().
Anton Khirnov [Sat, 5 Apr 2014 06:36:00 +0000 (08:36 +0200)]
lavc: add avcodec_free_context().

Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.

The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.

8 years agolavc: remove the locking code in avcodec_close()
Anton Khirnov [Sat, 5 Apr 2014 05:09:44 +0000 (07:09 +0200)]
lavc: remove the locking code in avcodec_close()

This function should not modify any global state, so there should be no
reason for any locking.

8 years agoriff: Pass block_align to estimate frame duration
nu774 [Fri, 16 May 2014 11:25:46 +0000 (20:25 +0900)]
riff: Pass block_align to estimate frame duration

Fix incorrect wSamplesPerBlock(=0) written for ADPCM_IMA_WAV

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agohlsenc: Set the default codecs to AAC and H264
Martin Storsjö [Thu, 15 May 2014 18:43:46 +0000 (21:43 +0300)]
hlsenc: Set the default codecs to AAC and H264

Most HLS implementation only support these codecs.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agobuild: Support building using clang-usan and disable-optimization
Katerina Barone-Adesi [Fri, 16 May 2014 16:07:34 +0000 (18:07 +0200)]
build: Support building using clang-usan and disable-optimization

Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.

Add -O1 to the cflags to hide the misbehaviour.

Bug-Id: 683

8 years agoavisynth: set duration of audio streams
Hendrik Leppkes [Thu, 8 May 2014 13:51:15 +0000 (09:51 -0400)]
avisynth: set duration of audio streams

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agoFATE/opus: increase fuzz for the celt tests
Anton Khirnov [Thu, 15 May 2014 06:02:59 +0000 (08:02 +0200)]
FATE/opus: increase fuzz for the celt tests

This seems to be needed on some 32bit arches.

8 years agoaarch64: opus NEON iMDCT and FFT
Janne Grunau [Mon, 28 Apr 2014 15:56:43 +0000 (17:56 +0200)]
aarch64: opus NEON iMDCT and FFT

Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.

8 years agoconfigure: fix enable-libopus help string
Tristan Matthews [Wed, 14 May 2014 16:13:49 +0000 (16:13 +0000)]
configure: fix enable-libopus help string

8 years agobuild: add avresample after avcodec to FFLIBS
Janne Grunau [Thu, 15 May 2014 12:53:30 +0000 (14:53 +0200)]
build: add avresample after avcodec to FFLIBS

avcodec might depend on avresample and with --as-needed required symbols
might be get removed if avresample is linked before avcodec.
Fixes link failures of avprobe and avplay on aarch64 with

8 years agolavc: properly handle subtitle_header in avcodec_copy_context()
Anton Khirnov [Sat, 5 Apr 2014 05:40:49 +0000 (07:40 +0200)]
lavc: properly handle subtitle_header in avcodec_copy_context()

8 years agolavc: preserve the original private data in avcodec_copy_context()
Anton Khirnov [Sat, 5 Apr 2014 05:38:16 +0000 (07:38 +0200)]
lavc: preserve the original private data in avcodec_copy_context()

If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.

8 years agolavf: drop the zero-sized packets hack
Anton Khirnov [Thu, 1 May 2014 11:11:57 +0000 (13:11 +0200)]
lavf: drop the zero-sized packets hack

There should not be any valid reason anymore for passing completely
empty packets to lavf.
OTOH side data-only packets can be useful.

8 years agolavf: add AVFMT_FLAG_BITEXACT.
Anton Khirnov [Thu, 1 May 2014 08:43:10 +0000 (10:43 +0200)]

Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.

Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.

8 years agolavc: add a native Opus decoder.
Anton Khirnov [Thu, 17 Apr 2014 10:51:03 +0000 (12:51 +0200)]
lavc: add a native Opus decoder.

Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.

Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.

Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>

8 years agobuild: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
Janne Grunau [Tue, 13 May 2014 22:05:27 +0000 (00:05 +0200)]
build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined

Avoids including disabled library Makefiles.

8 years agolavf: properly document the distinction between flags and ctx_flags
Anton Khirnov [Thu, 1 May 2014 08:03:54 +0000 (10:03 +0200)]
lavf: properly document the distinction between flags and ctx_flags

8 years agobuild: handle library dependencies in configure
Janne Grunau [Thu, 1 May 2014 11:18:57 +0000 (13:18 +0200)]
build: handle library dependencies in configure

Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.

8 years agoaarch64: assembler in clang-3.4 ignores the division by two
Janne Grunau [Tue, 13 May 2014 13:47:51 +0000 (15:47 +0200)]
aarch64: assembler in clang-3.4 ignores the division by two

Values are positive powers of two, so just replace it with right shift.

8 years agoavconv: Support VDA hwaccel
Anton Khirnov [Mon, 24 Mar 2014 01:02:33 +0000 (02:02 +0100)]
avconv: Support VDA hwaccel

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agolavc: Add new VDA hwaccel
Anton Khirnov [Mon, 24 Mar 2014 00:59:02 +0000 (01:59 +0100)]
lavc: Add new VDA hwaccel

It leverages the new hwaccel 1.2 features:

- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agovda: use hwaccel private data for internal bitstream buffer
Anton Khirnov [Thu, 6 Mar 2014 18:02:29 +0000 (19:02 +0100)]
vda: use hwaccel private data for internal bitstream buffer

8 years agolavu: Add a pixel format for new VDA hwaccel
Anton Khirnov [Thu, 6 Mar 2014 13:07:42 +0000 (14:07 +0100)]
lavu: Add a pixel format for new VDA hwaccel

The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.

8 years agolavc: Add hwaccel private data and init/uninit callbacks
Anton Khirnov [Thu, 6 Mar 2014 17:37:42 +0000 (18:37 +0100)]
lavc: Add hwaccel private data and init/uninit callbacks

8 years agohwaccel: Support specific frame allocators
Luca Barbato [Thu, 8 May 2014 12:43:23 +0000 (14:43 +0200)]
hwaccel: Support specific frame allocators

It would reduce the boilerplate code users have to write.

8 years agohwaccel: Rename priv_data_size to frame_priv_data_size
Anton Khirnov [Thu, 6 Mar 2014 17:19:52 +0000 (18:19 +0100)]
hwaccel: Rename priv_data_size to frame_priv_data_size

This describes more accurately what this field is for.

8 years agolavc: document which parts of AVHWAccel are private.
Anton Khirnov [Thu, 6 Mar 2014 17:15:31 +0000 (18:15 +0100)]
lavc: document which parts of AVHWAccel are private.

8 years agolavc: set AVCodecContext.hwaccel in ff_get_format()
Anton Khirnov [Thu, 6 Mar 2014 17:01:05 +0000 (18:01 +0100)]
lavc: set AVCodecContext.hwaccel in ff_get_format()

This way each decoder does not have to do the same thing manually.

8 years agolavc: Add an internal wrapper around get_format()
Anton Khirnov [Thu, 6 Mar 2014 16:48:18 +0000 (17:48 +0100)]
lavc: Add an internal wrapper around get_format()

It will be useful in the following commits.

8 years agopcm-dvd: Fix 20bit decoding
nu774 [Fri, 9 May 2014 12:47:41 +0000 (21:47 +0900)]
pcm-dvd: Fix 20bit decoding

Increment the pointer as needed.

Bug-Id: 592

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agortmpproto: Check the buffer sizes when copying app/playpath strings
Martin Storsjö [Thu, 8 May 2014 12:12:23 +0000 (15:12 +0300)]
rtmpproto: Check the buffer sizes when copying app/playpath strings

As pointed out by Reimar Döffinger.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortmpproto: Support alternative slist parameter in rtmp URLs
Uwe L. Korn [Mon, 5 May 2014 20:47:05 +0000 (21:47 +0100)]
rtmpproto: Support alternative slist parameter in rtmp URLs

Support the URL scheme where the playpath is in an RTMP URL is
passed as the slist argument and the app is given infront of the
query part of the URL:


(other arguments in the query part are stripped as they are not used)

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agolibfdk-aac: Relicense the library wrappers to 2-clause BSD
Martin Storsjö [Wed, 30 Apr 2014 06:44:31 +0000 (09:44 +0300)]
libfdk-aac: Relicense the library wrappers to 2-clause BSD

This should make it possible for Fraunhofer to contribute to these
wrappers - they didn't want to contribute to code under LGPL2.1 with
the "or any later version" clause (which allowed using the code
under the LGPL3 license).

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agolibfdk-aacenc: Enable 7.1 channel encoding
Jean First [Sun, 26 Jan 2014 00:31:53 +0000 (01:31 +0100)]
libfdk-aacenc: Enable 7.1 channel encoding

7.1(wide) and 7.1(wide-side) channel layouts are supported in
fdk-aac since the 0.1.3 release.

The earlier versions of fdk-aac didn't include any library
version defines in the public headers, thus checking for
the AACENCODER_LIB_VL0 define is enough to know that we're
building against a new enough version of fdk-aac.

This change includes contributions by Tim Walker,
Michael Niedermayer and Timothy Gu.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoavconv: rename OutputStream.opts to OutputStream.encoder_opts
Anton Khirnov [Fri, 4 Apr 2014 17:38:04 +0000 (19:38 +0200)]
avconv: rename OutputStream.opts to OutputStream.encoder_opts

This makes it more clear what is this variable for exactly.

8 years agoavconv: remove a useless line
Anton Khirnov [Sun, 6 Apr 2014 05:28:51 +0000 (07:28 +0200)]
avconv: remove a useless line

Doing anything with that field when we are doing streamcopy (so the
encoder is not opened) should have absolutely no effect.

8 years agoavconv: rename 'codec' to 'enc_ctx'
Anton Khirnov [Fri, 4 Apr 2014 17:59:48 +0000 (19:59 +0200)]
avconv: rename 'codec' to 'enc_ctx'

This more clearly describes what is the variable used for.

Also, move its declaration into the block where it is actually used.

8 years agoavconv: rename 'icodec' to 'dec_ctx'
Anton Khirnov [Fri, 4 Apr 2014 17:59:48 +0000 (19:59 +0200)]
avconv: rename 'icodec' to 'dec_ctx'

This more clearly describes what is the variable used for.

8 years agoavconv: rename InputStream.opts to InputStream.decoder_opts
Anton Khirnov [Fri, 4 Apr 2014 17:38:04 +0000 (19:38 +0200)]
avconv: rename InputStream.opts to InputStream.decoder_opts

This makes it more clear what is this variable for exactly.

8 years agoavconv: simplify exit_program() by using more local vars
Anton Khirnov [Tue, 25 Mar 2014 11:38:31 +0000 (12:38 +0100)]
avconv: simplify exit_program() by using more local vars

8 years agoprobe: Support AAC_LATM in set_codec_from_probe_data
Luca Barbato [Sat, 26 Apr 2014 19:10:30 +0000 (21:10 +0200)]
probe: Support AAC_LATM in set_codec_from_probe_data

8 years agolatm: Add a probe function
Luca Barbato [Sat, 26 Apr 2014 18:32:47 +0000 (20:32 +0200)]
latm: Add a probe function

8 years agomathematics: K&R formatting cosmetics
Luca Barbato [Thu, 1 May 2014 12:54:06 +0000 (14:54 +0200)]
mathematics: K&R formatting cosmetics

8 years agoswscale: Fix an undefined behaviour
Luca Barbato [Thu, 1 May 2014 22:21:23 +0000 (00:21 +0200)]
swscale: Fix an undefined behaviour

Prevent a division by zero down the codepath.

Sample-Id: 00001721-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agovp9: Read the frame size as unsigned
Luca Barbato [Thu, 1 May 2014 22:18:04 +0000 (00:18 +0200)]
vp9: Read the frame size as unsigned

Sample-Id: 00001723-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoaac: K&R formatting cosmetics
Luca Barbato [Sat, 26 Apr 2014 17:02:36 +0000 (19:02 +0200)]
aac: K&R formatting cosmetics

8 years agoflv: K&R formatting cosmetics
Luca Barbato [Sat, 26 Apr 2014 12:09:55 +0000 (14:09 +0200)]
flv: K&R formatting cosmetics

8 years agolavc: deprecate AVCodecContext.codec_name
Anton Khirnov [Tue, 29 Apr 2014 14:44:08 +0000 (16:44 +0200)]
lavc: deprecate AVCodecContext.codec_name

It is undocumented and has no real use.

8 years agolavc: do not use AVCodecContext.codec_name in avcodec_string()
Anton Khirnov [Tue, 29 Apr 2014 14:42:07 +0000 (16:42 +0200)]
lavc: do not use AVCodecContext.codec_name in avcodec_string()

That field will be deprecated.

8 years agormdec: do not export anything to AVCodecContext.codec_name
Anton Khirnov [Tue, 29 Apr 2014 14:40:55 +0000 (16:40 +0200)]
rmdec: do not export anything to AVCodecContext.codec_name

That field will be deprecated and the value that is written there is not
particularly useful.

8 years agoasfenc: use codec descriptors instead of AVCodecs to write codec info
Anton Khirnov [Tue, 29 Apr 2014 14:13:38 +0000 (16:13 +0200)]
asfenc: use codec descriptors instead of AVCodecs to write codec info

Also, stop using AVCodecContext.codec_name as fallback, since it will be

Changes the result of the lavf-asf test (and its associated seektest),
since 'msmpeg4v3' gets written instead of just 'msmpeg4'.

8 years agooggparseskeleton: do not use AVCodecContext.codec_name
Anton Khirnov [Tue, 29 Apr 2014 13:42:38 +0000 (15:42 +0200)]
oggparseskeleton: do not use AVCodecContext.codec_name

That field is undocumented, of dubious use, and will be deprecated.

8 years agomov: export stsd Compressorname in metadata
Anton Khirnov [Tue, 29 Apr 2014 13:37:52 +0000 (15:37 +0200)]
mov: export stsd Compressorname in metadata

Stop using the undocumented to-be-deprecated AVCodecContext.codec_name

8 years agolavc: move CODEC_FLAG_MV0 to mpegvideo
Anton Khirnov [Tue, 29 Apr 2014 06:00:03 +0000 (08:00 +0200)]
lavc: move CODEC_FLAG_MV0 to mpegvideo

8 years agolavc: make the xvid-specific "gmc" flag a private option of libxvid
Anton Khirnov [Tue, 29 Apr 2014 06:08:43 +0000 (08:08 +0200)]
lavc: make the xvid-specific "gmc" flag a private option of libxvid

8 years agolavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo
Anton Khirnov [Tue, 29 Apr 2014 06:00:03 +0000 (08:00 +0200)]
lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo

8 years agolavc: deprecate CODEC_FLAG_INPUT_PRESERVED
Anton Khirnov [Tue, 29 Apr 2014 05:50:16 +0000 (07:50 +0200)]

The addition of reference-counted frames makes it pointless.

8 years agomatroska: add the Opus mapping
Anton Khirnov [Sun, 27 Apr 2014 11:40:11 +0000 (13:40 +0200)]
matroska: add the Opus mapping

8 years agomatroskaenc: write CodecDelay
Anton Khirnov [Tue, 29 Apr 2014 10:26:38 +0000 (12:26 +0200)]
matroskaenc: write CodecDelay

8 years agolavfi: add Bauer stereo-to-binaural audio filter
Alessandro Ghedini [Tue, 29 Apr 2014 16:53:16 +0000 (18:53 +0200)]
lavfi: add Bauer stereo-to-binaural audio filter

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agomatroskadec: read the CodecDelay element
Anton Khirnov [Tue, 29 Apr 2014 10:03:13 +0000 (12:03 +0200)]
matroskadec: read the CodecDelay element

8 years agolibrtmp: Map native options to librtmp ones when possible
Luca Barbato [Sat, 26 Apr 2014 11:32:03 +0000 (13:32 +0200)]
librtmp: Map native options to librtmp ones when possible

Makes the two protocols nearly seamless.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agohls: Sync the file number with the start sequence
Luca Barbato [Tue, 29 Apr 2014 16:20:17 +0000 (18:20 +0200)]
hls: Sync the file number with the start sequence

8 years agohls: Factor the sequence computation
Luca Barbato [Tue, 29 Apr 2014 16:37:01 +0000 (18:37 +0200)]
hls: Factor the sequence computation

8 years agohls: Print start_number as first sequence value
Luca Barbato [Tue, 29 Apr 2014 08:13:34 +0000 (10:13 +0200)]
hls: Print start_number as first sequence value

The option now behaves as expected.

8 years agosegment: Report the current media sequence
Luca Barbato [Tue, 29 Apr 2014 08:28:11 +0000 (10:28 +0200)]
segment: Report the current media sequence

Useful for debugging mostly.

8 years agohls: Report the current media sequence
Luca Barbato [Tue, 29 Apr 2014 08:07:03 +0000 (10:07 +0200)]
hls: Report the current media sequence

Useful for debugging mostly.

8 years agoavconv_dxva2: define all used GUIDs directly instead of relying on the dxva2api.h...
Hendrik Leppkes [Mon, 28 Apr 2014 21:38:05 +0000 (23:38 +0200)]
avconv_dxva2: define all used GUIDs directly instead of relying on the dxva2api.h header

This avoids issues with inconsistent headers with different versions of mingw-w64 and older MSVC variants.

Fixes FATE builds of MSVC 2010.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agoh264: drop commented out cruft
Anton Khirnov [Tue, 29 Apr 2014 09:13:43 +0000 (11:13 +0200)]
h264: drop commented out cruft

8 years agompegvideo: remove unused MpegEncContext.b4_stride
Anton Khirnov [Thu, 5 Dec 2013 20:17:00 +0000 (21:17 +0100)]
mpegvideo: remove unused MpegEncContext.b4_stride

8 years agompegvideo: move the MpegEncContext fields used from arm asm to the beginning
Anton Khirnov [Thu, 5 Dec 2013 20:14:40 +0000 (21:14 +0100)]
mpegvideo: move the MpegEncContext fields used from arm asm to the beginning

This should reduce the frequency with which the offsets need to be

8 years agohls: Add an option to prepend a baseurl to the playlist entries
Luca Barbato [Tue, 18 Mar 2014 20:19:00 +0000 (21:19 +0100)]
hls: Add an option to prepend a baseurl to the playlist entries

Useful to generate playlists with absolute paths.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agosegment: Add an option to prepend a string to the list entries
Enrique Arizón Benito [Tue, 18 Mar 2014 20:18:59 +0000 (21:18 +0100)]
segment: Add an option to prepend a string to the list entries

Useful to generate lists with absolute urls.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agoconfigure: rework dxva in avconv handling
Anton Khirnov [Mon, 28 Apr 2014 21:00:38 +0000 (23:00 +0200)]
configure: rework dxva in avconv handling

Move the dxva check after the dependencies have been detected, make sure
the ole32 library exists.

Fixes build on non-Windows.

8 years agoavconv: add support for DXVA2 decoding
Hendrik Leppkes [Tue, 22 Apr 2014 13:22:53 +0000 (15:22 +0200)]
avconv: add support for DXVA2 decoding

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agohwaccel: fix dxva2 & vaapi loop filter parameters
Michael Niedermayer [Tue, 22 Apr 2014 13:22:52 +0000 (15:22 +0200)]
hwaccel: fix dxva2 & vaapi loop filter parameters

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agodxva2_h264: add a workaround for old Intel GPUs
Hendrik Leppkes [Tue, 22 Apr 2014 13:22:51 +0000 (15:22 +0200)]
dxva2_h264: add a workaround for old Intel GPUs

Old Intel GPUs expect the reference frame index to the actual surface,
instead of the index into RefFrameList as specified by the spec.

This workaround should be set when using one of the "ClearVideo" decoder

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agodxva2_h264: set the correct ref frame index in the long slice struct
Hendrik Leppkes [Tue, 22 Apr 2014 13:22:50 +0000 (15:22 +0200)]
dxva2_h264: set the correct ref frame index in the long slice struct

The latest H.264 DXVA specification states that the index in this
structure should refer to a valid entry in the RefFrameList of the picture
parameter structure, and not to the actual surface index.

Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agolavc: eliminate tb_unreliable()
Anton Khirnov [Fri, 25 Apr 2014 14:33:27 +0000 (16:33 +0200)]
lavc: eliminate tb_unreliable()

If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.