1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
Commit Graph

26154 Commits

Author SHA1 Message Date
Michael Niedermayer
29c83d23e8 Merge commit 'b9fb59d2ab05fdfe89d3fb0d7ecbbd91e560f57d'
* commit 'b9fb59d2ab05fdfe89d3fb0d7ecbbd91e560f57d':
  lavc: deprecate avcodec_alloc_frame().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 00:01:23 +01:00
Michael Niedermayer
0ee905e243 Merge commit '5b9c3b4505206143d85398c1410949319fa1180f'
* commit '5b9c3b4505206143d85398c1410949319fa1180f':
  Replace all instances of avcodec_alloc_frame() with av_frame_alloc().

Conflicts:
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	libavcodec/alacenc.c
	libavcodec/libopenjpegenc.c
	libavcodec/libvpxenc.c
	libavcodec/pcm.c
	libavcodec/xbmenc.c
	libavcodec/xwdenc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:54:10 +01:00
Michael Niedermayer
571a99de18 Merge commit '2ff302cb6ba1f159905888026c8a1d7dd8319acf'
* commit '2ff302cb6ba1f159905888026c8a1d7dd8319acf':
  lavc: update coded_frame doxy.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:42:18 +01:00
Michael Niedermayer
ec9aef5652 Merge commit 'b068660ffa73f226cc03a67e214b8540fc1e11c4'
* commit 'b068660ffa73f226cc03a67e214b8540fc1e11c4':
  lavc: deprecate CODEC_CAP_NEG_LINESIZES

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:36:33 +01:00
Clément Bœsch
484f8d77c6 avcodec/vp9: assert on sane size in update_size().
w and h are both read as uint16 + 1 so this can not happen. A similar
change was introduced in 97962b2 / 72ca830, with the
av_log()+AVERROR_INVALIDDATA form, suggesting it could be triggerable
somehow.

Change suggested by Ronald S. Bultje.
2013-11-16 22:47:54 +01:00
Clément Bœsch
c20a7ce62d avcodec/vp9: remove some reset-to-zero from vp9_decode_free().
Those should not be necessary.

Original change by one of these developers:
    Anton Khirnov <anton@khirnov.net>
    Diego Biurrun <diego@biurrun.de>
    Luca Barbato <lu_zero@gentoo.org>
    Martin Storsjö <martin@martin.st>

See 97962b2 / 72ca830
2013-11-16 22:34:23 +01:00
Clément Bœsch
7e704b1e10 avcodec/vp9: add a never triggerable assert.
vp8_rac_get_tree() is called with a tree of size 3, so the returned
value can not be outside [0;3]. All of the [0;3] cases are handled in
the switch, so the assert should not be triggerable by any means. A
similar change was introduced in 97962b2 / 72ca830, with the
av_log()+AVERROR_INVALIDDATA form, suggesting it could be triggerable
somehow. This assert might help static analyzer, or simply the reader.
2013-11-16 22:34:23 +01:00
Martin Storsjö
ab80d7e8c5 vp9: Ensure that the arithmetic coder values are read in the right order
The operands of an addition can be evaluated in any order, since
the addition isn't a sequence point. The only operators that
have a defined evaluation order are &&, ||, ?: and the sequence
operator ','.

This fixes fate-vp9 on ARM RVCT.
2013-11-16 20:25:25 +01:00
Clément Bœsch
7cd555dfa5 avcodec/vp9: make last_invisible local.
Original change by one of these developers:
    Anton Khirnov <anton@khirnov.net>
    Diego Biurrun <diego@biurrun.de>
    Luca Barbato <lu_zero@gentoo.org>
    Martin Storsjö <martin@martin.st>

See 97962b2 / 72ca830
2013-11-16 17:13:33 +01:00
Clément Bœsch
d28c79b003 avcodec/x86/vp9dsp: use EXTERNAL_* macros.
Original fix by one of these developers:
    Anton Khirnov <anton@khirnov.net>
    Diego Biurrun <diego@biurrun.de>
    Luca Barbato <lu_zero@gentoo.org>
    Martin Storsjö <martin@martin.st>

See 97962b2 / 72ca830

Personnal guess is Diego Biurrun.
2013-11-16 17:03:17 +01:00
Anton Khirnov
b9fb59d2ab lavc: deprecate avcodec_alloc_frame(). 2013-11-16 12:44:50 +01:00
Anton Khirnov
5b9c3b4505 Replace all instances of avcodec_alloc_frame() with av_frame_alloc(). 2013-11-16 12:44:20 +01:00
Anton Khirnov
2ff302cb6b lavc: update coded_frame doxy.
It is not used during decoding anymore.
2013-11-16 12:41:50 +01:00
Anton Khirnov
b068660ffa lavc: deprecate CODEC_CAP_NEG_LINESIZES
It was never used in any codec since it was added 3 years ago.
2013-11-16 12:41:40 +01:00
wangxingchao
68900bf16b avcodec: Fix duration error after seek operation
After seek, s->duration need recalculation, AVCodecParserContext need be set
again. Without the fix, the first audio packet would be dropped after
compute_pkt_fields() as the final pts/dts become invalid.

Signed-off-by: wangxingchao <wangxingchao@xiaomi.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 02:02:51 +01:00
Clément Bœsch
150c5543ff avcodec/vp9: fix "initialize" typo.
Originally spotted and fixed by one of these developers:
    Anton Khirnov <anton@khirnov.net>
    Diego Biurrun <diego@biurrun.de>
    Luca Barbato <lu_zero@gentoo.org>
    Martin Storsjö <martin@martin.st>

See 97962b2 / 72ca830
2013-11-15 23:28:48 +01:00
Michael Niedermayer
91e00c4a78 Merge commit '458446acfa1441d283dacf9e6e545beb083b8bb0'
* commit '458446acfa1441d283dacf9e6e545beb083b8bb0':
  lavc: Edge emulation with dst/src linesize

Conflicts:
	libavcodec/cavs.c
	libavcodec/h264.c
	libavcodec/hevc.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/rv34.c
	libavcodec/svq3.c
	libavcodec/vc1dec.c
	libavcodec/videodsp.h
	libavcodec/videodsp_template.c
	libavcodec/vp3.c
	libavcodec/vp8.c
	libavcodec/wmv2.c
	libavcodec/x86/videodsp.asm
	libavcodec/x86/videodsp_init.c

Changes to the asm are not merged, they are left for volunteers or
in their absence for later.
The changes this merge introduces are reordering of the function
arguments

See: face578d56
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-15 15:07:10 +01:00
Michael Niedermayer
e28130bcaf Merge commit '3cbe1126530449336e2ce59b194bdb8c4eb4abb4'
* commit '3cbe1126530449336e2ce59b194bdb8c4eb4abb4':
  dv: Split DV data table declarations into their own header

Conflicts:
	libavcodec/dvdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-15 12:52:19 +01:00
Ronald S. Bultje
72ca830f51 lavc: VP9 decoder
Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>

Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-15 10:16:28 +01:00
Ronald S. Bultje
458446acfa lavc: Edge emulation with dst/src linesize
Allow supporting files for which the image stride is smaller than
the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9
file or a 16x16 VP8 file with -fflags +emu_edge.
2013-11-15 10:16:27 +01:00
Diego Biurrun
3cbe112653 dv: Split DV data table declarations into their own header
This is necessary to avoid target config settings bleeding into the host
compilation process with hardcoded tables and the DV VLC tables no longer
present as static tables in a header file.
2013-11-15 01:29:47 +01:00
Michael Niedermayer
9244a68092 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: free the tables and uninitialize the context on flush

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 21:11:42 +01:00
Anton Khirnov
9eda9d3322 h264: free the tables and uninitialize the context on flush
Prevents referencing empty frames when the first packet after the flush
does not contain a frame.
2013-11-14 19:00:20 +01:00
Michael Niedermayer
726566704f Merge commit '669fe505952f3d8175b1ad6971033a8e8120523b'
* commit '669fe505952f3d8175b1ad6971033a8e8120523b':
  twinvq: consume block_align+1 packets as full ones

Conflicts:
	libavcodec/twinvq.c

See: 2e7a1fdd6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 16:02:11 +01:00
Michael Niedermayer
a24aef5dfa Merge commit '1afa8a7568ba57ad0cd2923f6e641e10d32cded4'
* commit '1afa8a7568ba57ad0cd2923f6e641e10d32cded4':
  twinvq: support multiple frames per packet

Conflicts:
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 15:42:05 +01:00
Michael Niedermayer
2cfdc2879a Merge commit 'ddb839e9286594ff7a862a956402106fca7055c9'
* commit 'ddb839e9286594ff7a862a956402106fca7055c9':
  metasound: add missing modes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 15:31:34 +01:00
Michael Niedermayer
1ac4797d19 Merge commit '7b9780e7bf9d86e3e4e9606a971bb2d0d718bac2'
* commit '7b9780e7bf9d86e3e4e9606a971bb2d0d718bac2':
  mpeg12dec: Remove unused swap_uv member from Mpeg1Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 15:24:30 +01:00
Michael Niedermayer
7c888ae746 Merge commit 'cce3e0a49f0dd030262c28d9c53de0bd2fd909c4'
* commit 'cce3e0a49f0dd030262c28d9c53de0bd2fd909c4':
  Move av_fast_{m,re}alloc from lavc to lavu.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavutil/mem.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 15:04:04 +01:00
Diego Biurrun
ad1161799e mpeg12dec: Remove outdated UV swapping code for VCR2 2013-11-14 14:21:27 +01:00
Michael Niedermayer
2925571278 avcodec/mpegvideo_enc: Fix possibly exploitable security issue with -bf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 14:19:38 +01:00
Michael Niedermayer
9f32048dd1 Merge commit 'aa241229891173b0357eee04e6ca78f806cc9c0c'
* commit 'aa241229891173b0357eee04e6ca78f806cc9c0c':
  lavc: deprecate FF_MAX_B_FRAMES

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 14:11:03 +01:00
Michael Niedermayer
dbfa4317f3 Merge commit 'b6094811f9fca66cdf853420696e96fdc3e4987a'
* commit 'b6094811f9fca66cdf853420696e96fdc3e4987a':
  lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 14:01:24 +01:00
Michael Niedermayer
d67d3e2977 Merge commit 'b45c87083de67969c1598cfef41e7c947b137922'
* commit 'b45c87083de67969c1598cfef41e7c947b137922':
  lavc: schedule unused FF_QSCALE_TYPE_* for removal on next bump

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 13:49:02 +01:00
Kostya Shishkov
669fe50595 twinvq: consume block_align+1 packets as full ones
They can be produced by VQF.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Kostya Shishkov
1afa8a7568 twinvq: support multiple frames per packet
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Kostya Shishkov
ddb839e928 metasound: add missing modes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Michael Niedermayer
b71e4d8717 Merge commit '8941971a8f2e24b9a84fe29f128d13ceb89c0a65'
* commit '8941971a8f2e24b9a84fe29f128d13ceb89c0a65':
  lavc: make error_rate a private option of mpegvideo encoders

Conflicts:
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 13:14:41 +01:00
Michael Niedermayer
31c09b7663 Merge commit '728c4658563dc82115ade0f1679679eddb7be5ff'
* commit '728c4658563dc82115ade0f1679679eddb7be5ff':
  vdpau: add a constructor for AVVDPAUContext.

Conflicts:
	libavcodec/vdpau.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 13:08:36 +01:00
Michael Niedermayer
5f231d909f Merge commit 'ca22d1dea2842fca0422dd1d2bd09e7eb2c8f118'
* commit 'ca22d1dea2842fca0422dd1d2bd09e7eb2c8f118':
  vdpau: add a convenience function for getting a decoder profile.

Conflicts:
	doc/APIchanges
	libavcodec/vdpau.c
	libavcodec/vdpau.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 13:00:10 +01:00
Michael Niedermayer
f3458a56c1 avcodec/vdpau: try to fix version macro use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 12:53:46 +01:00
Diego Biurrun
7b9780e7bf mpeg12dec: Remove unused swap_uv member from Mpeg1Context 2013-11-14 12:46:00 +01:00
Michael Niedermayer
9e5ef1c5c3 h264: Do not treat the initial frame special in handling of frame gaps
The not handling of frame gaps has lead to the lack of a dummy reference
frame, which has lead to the failure of decode_slice_header() which has
lead to one SEI recovery message being skiped which had introduced a
slightly suboptimal recovery point for at least 1 h264 file compared to
JM.

Found-by: Carl & BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 12:16:01 +01:00
Anton Khirnov
cce3e0a49f Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
Anton Khirnov
aa24122989 lavc: deprecate FF_MAX_B_FRAMES
We should not arbitrarily decide the maximum B-frame number for all
encoders supported by Libav, each encoder should be able to set its own
limits.
2013-11-14 09:41:03 +01:00
Anton Khirnov
b6094811f9 lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h
They are mpegvideo-specific and not supposed to be used by callers.
2013-11-14 09:40:39 +01:00
Anton Khirnov
b45c87083d lavc: schedule unused FF_QSCALE_TYPE_* for removal on next bump 2013-11-14 09:40:27 +01:00
Anton Khirnov
8941971a8f lavc: make error_rate a private option of mpegvideo encoders 2013-11-14 09:39:43 +01:00
Anton Khirnov
728c465856 vdpau: add a constructor for AVVDPAUContext.
We will likely want to add new fields to it in the future, so this is
needed to avoid breaking ABI.
2013-11-14 09:38:58 +01:00
Anton Khirnov
ca22d1dea2 vdpau: add a convenience function for getting a decoder profile.
Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
2013-11-14 09:38:50 +01:00
Diego Biurrun
3215140425 mpeg12dec: Remove incomplete and wrong UV swapping code for VCR2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 08:19:29 +01:00