Ronald S. Bultje
51513b98d6
h264/svq3: stop using draw_edges.
...
Instead, only extend edges on-demand when the motion vector actually
crosses the visible decoded area using ff_emulated_edge_mc(). This
changes decoding time for cathedral from 8.722sec to 8.706sec, i.e.
0.2% faster overall. More generally (VP8 uses this also), low-motion
content gets significant speed improvements, whereas high-motion content
tends to decode in approximately the same time.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 15:18:56 +01:00
Michael Niedermayer
82e82fa2e5
Merge commit 'aa11cb79318baa3415d553424ba378f6c62e1f9b'
...
* commit 'aa11cb79318baa3415d553424ba378f6c62e1f9b':
build: make audio_frame_queue a stand-alone component
Conflicts:
configure
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:55:31 +01:00
Michael Niedermayer
4b7c81c3e0
Merge commit '870a0c669e536d56c6325d84f65e34c53792398e'
...
* commit '870a0c669e536d56c6325d84f65e34c53792398e':
build: The libopencore-amrnb encoder depends on audio_frame_queue
Conflicts:
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:29:31 +01:00
Michael Niedermayer
2220f13d82
Merge commit '8837f4396a1a458a0efb07fe7daba7b847755a7a'
...
* commit '8837f4396a1a458a0efb07fe7daba7b847755a7a':
libopencore-amrwb: Make AMR-WB ifdeffery more precise
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:20:16 +01:00
Michael Niedermayer
ab213b5360
Merge commit 'e6bda9a9fd86505927a2e095e495eae104860701'
...
* commit 'e6bda9a9fd86505927a2e095e495eae104860701':
libopencore-amr: Conditionally compile decoder and encoder bits
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:15:12 +01:00
Michael Niedermayer
4ff0e63a01
Merge commit '56632fef65c0cb6946ed3648ded3d7b82e5c5c17'
...
* commit '56632fef65c0cb6946ed3648ded3d7b82e5c5c17':
libopencore-amrnb: cosmetics: Group all encoder-related code together
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:10:57 +01:00
Michael Niedermayer
96008082db
Merge commit '488f87be873506abb01d67708a67c10a4dd29283'
...
* commit '488f87be873506abb01d67708a67c10a4dd29283':
roqvideodec: check dimensions validity
vqavideo: check chunk sizes before reading chunks
qdm2: check array index before use, fix out of array accesses
Conflicts:
libavcodec/qdm2.c
libavcodec/roqvideodec.c
libavcodec/vqavideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 11:26:53 +01:00
Ronald S. Bultje
c63f9fb37a
h264: don't store intra pcm samples in h->mb.
...
Instead, keep them in the bitstream buffer until we read them verbatim,
this saves a memcpy() and a subsequent clearing of the target buffer.
decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from
6121.4 to 6095.5 cycles, i.e. 26 cycles faster.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 01:21:23 +01:00
Carl Eugen Hoyos
259603b917
h264: don't initialize missing pictures when using VDPAU.
...
This fixes an assertion failure when running mplayer -vc ffh264vdpau.
Reported by irc user ioni.
2013-02-17 22:33:40 +01:00
Michael Niedermayer
dece584a63
h264: avoid calling get_format() multiple times
...
Some applications do not like that.
Fixes VDA
Reduces noise for VDPAU
Tested-by: Guillaume POIRIER <poirierg@gmail.com>
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 22:26:33 +01:00
Luca Barbato
aa11cb7931
build: make audio_frame_queue a stand-alone component
...
Encoders requiring it have the dependency expressed in the
configure.
2013-02-17 22:05:18 +01:00
Carl Eugen Hoyos
cf36180143
Only set accelerated arm fft functions if fft is enabled.
...
Fixes lavc compilation (linking) for configurations without fft.
Reported-by: tyler wear
Tested-by: Gavin Kinsey
2013-02-17 17:29:55 +01:00
Michael Niedermayer
59e46ef63a
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
error_resilience: add required headers.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 14:24:09 +01:00
Clément Bœsch
fe150a48a7
lavc: fix codec_descriptor and pkt_timebase doxy.
2013-02-17 13:35:32 +01:00
Clément Bœsch
b1e6b144ed
lavc/utils: reindent in avcodec_decode_subtitle2() after f7963993.
2013-02-17 13:08:30 +01:00
Clément Bœsch
f796399344
lavc: support subtitles character encoding conversion.
2013-02-17 12:57:56 +01:00
Diego Biurrun
870a0c669e
build: The libopencore-amrnb encoder depends on audio_frame_queue
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun
8837f4396a
libopencore-amrwb: Make AMR-WB ifdeffery more precise
...
The library might provide an encoder in the future, so it's better to
check for the presence of the decoder rather than just the library.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun
e6bda9a9fd
libopencore-amr: Conditionally compile decoder and encoder bits
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun
56632fef65
libopencore-amrnb: cosmetics: Group all encoder-related code together
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:24 +01:00
Luca Barbato
0b70fb1d51
dsputil: convert remaining op_pixels_func
...
Convert to diffptr_t the line_size parameters still int.
Remove all the warnings in dsputil.c
2013-02-17 12:03:24 +01:00
Clément Bœsch
8732271e40
lavc: mark bitmap based subtitles codecs as such.
2013-02-17 11:59:24 +01:00
Michael Niedermayer
488f87be87
roqvideodec: check dimensions validity
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ae610451170cd5a28b33950006ff0bd23036845)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fee26d352a52eb9f7fcd8d9167fb4a5ba015b612)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Michael Niedermayer
f7d18deb73
vqavideo: check chunk sizes before reading chunks
...
Fixes out of array writes
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab6c9332bfa1e20127a16392a0b85a4aa4840889)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 13093f9767b922661132a3c1f4b5ba2c7338b660)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Michael Niedermayer
39bec05ed4
qdm2: check array index before use, fix out of array accesses
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a7ee6281f7ef1c29284e3a4cadfe0f227ffde1ed)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Anton Khirnov
1f8f43a5b5
error_resilience: add required headers.
2013-02-17 06:46:43 +01:00
James Almer
2e988fd689
lavc/tta: Use a safer check for encrypted streams
...
The user can provide a password even when the stream
is not encrypted, so check the value of s->format
instead of s->pass in ttafilter_init().
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:34:38 +01:00
Hendrik Leppkes
1d6f6ff4d9
h264: don't initialize missing pictures when using a hwaccel
...
Writing into uninitialized hw surfaces is not supported and triggers an assert inside avpriv_color_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:28:42 +01:00
Michael Niedermayer
b7fe35c9e5
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264: deMpegEncContextize
Conflicts:
libavcodec/dxva2_h264.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb_template.c
libavcodec/h264_parser.c
libavcodec/h264_ps.c
libavcodec/h264_refs.c
libavcodec/h264_sei.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 23:30:09 +01:00
Michael Niedermayer
ddbbfd95be
Merge commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885'
...
* commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885':
mpegvideo: split ff_draw_horiz_band().
Conflicts:
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 19:00:39 +01:00
Michael Niedermayer
1fad547cef
Merge commit '54974c62982ae827becdbdb9b620b7ba75d079a0'
...
* commit '54974c62982ae827becdbdb9b620b7ba75d079a0':
error_resilience: decouple ER from MpegEncContext
Conflicts:
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/h264.c
libavcodec/mpegvideo.c
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 18:54:56 +01:00
Michael Niedermayer
8b7568cc34
Merge commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc'
...
* commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc':
svq3: remove a pointless if()
h264: remove a pointless if()
Conflicts:
libavcodec/h264.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 14:30:21 +01:00
Michael Niedermayer
131b9c924d
Merge commit '68f930d2188aba5b32624887dcbf688c23482834'
...
* commit '68f930d2188aba5b32624887dcbf688c23482834':
h264: simplify calls to ff_er_add_slice().
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 14:13:20 +01:00
Michael Niedermayer
0a707da37b
cinepack: print an error if cinepak_decode() failed
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:49:04 +01:00
Michael Niedermayer
bb29ee62e9
Merge commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793'
...
* commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793':
get_buffer(): do not initialize the data.
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:42 +01:00
Michael Niedermayer
1c5b8b916d
h264: color frames gray
...
This prevents a regression from the removial of the buffer
initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:18 +01:00
Michael Niedermayer
a53b144ec0
avcodec: add avpriv_color_frame()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:18 +01:00
Michael Niedermayer
1e78679768
mpegvideo_enc: draw edges on input
...
Improves Motion estimation, avoids using out of picture areas for %16 != 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 11:08:21 +01:00
Anton Khirnov
2c54155407
h264: deMpegEncContextize
...
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.
The nontrivial parts are:
1) extracting a simplified version of the frame management code from
mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
its own more complex system already and those were set only to appease
the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
for dxva, the draw_horiz_band() call is moved from
ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
because it's now different for h264 and MpegEncContext-based
decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
added some very simplistic frame management instead and dropped the
use of ff_h264_frame_start(). Because of this I also had to move some
initialization code to svq3.
Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-15 16:35:16 +01:00
Anton Khirnov
1d0feb5d1a
mpegvideo: split ff_draw_horiz_band().
...
Split out dependency on MpegEncContext.
2013-02-15 16:10:19 +01:00
Anton Khirnov
54974c6298
error_resilience: decouple ER from MpegEncContext
2013-02-15 16:10:11 +01:00
Anton Khirnov
d9ebb00dcb
svq3: remove a pointless if()
...
The H264 context is always uninitialized at this point.
2013-02-15 16:09:52 +01:00
Anton Khirnov
2491f9ee29
h264: remove a pointless if()
...
!encoding is always true, we do not have a H.264 encoder
2013-02-15 16:09:45 +01:00
Anton Khirnov
68f930d218
h264: simplify calls to ff_er_add_slice().
...
partitioned_frame is never set for h264 (as easily seen from git grep).
2013-02-15 16:09:37 +01:00
Anton Khirnov
d2a25c4032
get_buffer(): do not initialize the data.
...
There may be more decoders that rely on this. Those should be found and
fixed.
2013-02-15 16:08:44 +01:00
Michael Niedermayer
f98598942f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
sparc: dsputil: Simplify high_bit_depth checks
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:30:21 +01:00
Michael Niedermayer
048ecbd3f8
Merge commit '49fe280753e0f167ac3d9f227f0c0f7744501fc1'
...
* commit '49fe280753e0f167ac3d9f227f0c0f7744501fc1':
h264idct: Replace duplicate scan8 table by appropriate #include
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:18:42 +01:00
Diego Biurrun
3594554a06
sparc: dsputil: Simplify high_bit_depth checks
2013-02-15 02:13:42 +01:00
Diego Biurrun
49fe280753
h264idct: Replace duplicate scan8 table by appropriate #include
2013-02-15 00:14:15 +01:00
Clément Bœsch
d5ce725cb3
Fix a few "its" vs "it's" typo.
2013-02-14 23:45:48 +01:00