Michael Niedermayer
3c9dd93faa
h264: make flush_change() set mmco_reset
...
This ensures that frames do not get mixed on context reinits
Fixes Ticket2836
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 01:22:38 +02:00
Michael Niedermayer
29ffeef5e7
avcodec/h264: do not trust last_pic_droppable when marking pictures as done
...
This simplifies the code and fixes a deadlock
Fixes Ticket2927
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 23:15:30 +02:00
Michael Niedermayer
f7f74a37b8
Merge commit '4baba6c813b7a1f27370e20fb1a87b05fcb39208'
...
* commit '4baba6c813b7a1f27370e20fb1a87b05fcb39208':
h264_parser: Fix POC parsing for the case where MMCO_RESET is present.
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 12:51:26 +02:00
Ronald S. Bultje
93f305473f
lavc: Convert some remaining strides to ptrdiff_t
2013-10-15 23:58:20 +02:00
Yusuke Nakamura
4baba6c813
h264_parser: Fix POC parsing for the case where MMCO_RESET is present.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-15 20:02:55 +02:00
Michael Niedermayer
65c2fe7159
avcodec/h264: call flush_change() on init
...
This ensures that all the non zero fields get setup correctly.
Alternatively their initialization could be duplicated.
Fixes Ticket2738
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 02:25:51 +02:00
Clément Bœsch
b46f19100b
cosmetics: group remaining .name and .long_name.
...
See b2bed9325
.
2013-10-04 13:33:20 +00:00
Michael Niedermayer
ee77140afa
Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
...
* commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2':
cosmetics: Group .name and .long_name together in codec/format declarations
Conflicts:
libavcodec/8svx.c
libavcodec/alac.c
libavcodec/cljr.c
libavcodec/dnxhddec.c
libavcodec/dnxhdenc.c
libavcodec/dpxenc.c
libavcodec/dvdec.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/ffv1dec.c
libavcodec/flacdec.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/g726.c
libavcodec/gif.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/h263dec.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopencore-amr.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libspeexenc.c
libavcodec/libvo-amrwbenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/ljpegenc.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpeg12dec.c
libavcodec/mpeg4videodec.c
libavcodec/msmpeg4dec.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/proresdec_lgpl.c
libavcodec/proresenc_kostya.c
libavcodec/ra144enc.c
libavcodec/rawdec.c
libavcodec/rv10.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tta.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/wavpack.c
libavcodec/xbmenc.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:34:23 +02:00
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
2013-10-03 23:32:01 +02:00
Carl Eugen Hoyos
b5f219c904
Print pix_fmt name on h264 context reinitialisation.
2013-10-03 01:42:23 +02:00
Ronald S. Bultje
face578d56
Rewrite emu_edge functions to have separate src/dst_stride arguments.
...
This allows supporting files for which the image stride is smaller than
the max. block size + number of subpel mc taps, e.g. a 64x64 VP9 file
or a 16x16 VP8 file with -fflags +emu_edge.
2013-09-28 20:28:08 -04:00
Ronald S. Bultje
c341f734e5
Convert multiplier for MV from int to ptrdiff_t.
...
This prevents emulated_edge_mc from not undoing mvy*stride-related
integer overflows.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 11:28:09 +02:00
Michael Niedermayer
4a89868c5f
Merge commit 'cab8c5f8e140c96ba3725ab709d823abfd1e31a5'
...
* commit 'cab8c5f8e140c96ba3725ab709d823abfd1e31a5':
h264: do not reinitialize the global cabac tables at each slice header
See: 1e2e2c8095
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 10:25:17 +02:00
Anton Khirnov
cab8c5f8e1
h264: do not reinitialize the global cabac tables at each slice header
2013-09-24 17:13:52 +02:00
Michael Niedermayer
d195e6e410
Merge commit '71cabb521ac397db3903011d2de7afd3e0fc7ab6'
...
* commit '71cabb521ac397db3903011d2de7afd3e0fc7ab6':
h264: do not discard NAL_SEI when skipping frames
Conflicts:
libavcodec/h264.c
See: 7d75fb381b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:38:34 +02:00
Michael Niedermayer
af2bb83dff
Merge commit 'edaba18021e4793116f0f266e65077578a5e742e'
...
* commit 'edaba18021e4793116f0f266e65077578a5e742e':
h264: log extradata skip only for non-ignored NALs
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:30:21 +02:00
Rainer Hochecker
71cabb521a
h264: do not discard NAL_SEI when skipping frames
...
Setting AVDISCARD_NONREF (e.g. after flushing) resulted in 100% dropped frames.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:29 +02:00
Vittorio Giovara
edaba18021
h264: log extradata skip only for non-ignored NALs
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:28 +02:00
Vittorio Giovara
1cad7171dd
h264: remove an unused static constant
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:40:10 +03:00
Rainer Hochecker
7d75fb381b
h264: do not discard NAL_SEI when skipping frames
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:42:26 +02:00
Michael Niedermayer
93cf7b0195
avcodec/h264: set er.ref_count earlier
...
Fixes Ticket2910
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 04:02:03 +02:00
Michael Niedermayer
626739ebbb
avcodec/h264: Free rbsp_buffer before copying context over it
...
Fixes memleak
Fixes Ticket1900
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:30:31 +02:00
Michael Niedermayer
be30e44dd9
avcodec/h264: Zero rbsp_buffer earler to ensure no duplicated pointers can leak
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:29:52 +02:00
Michael Niedermayer
ecbf838c7d
h264: prevent rbsp_buffer values from becoming duplicated
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:01:19 +02:00
Michael Niedermayer
16466d92b9
Merge commit 'c4e43560fe6677e9d60bfb3cffc41c7324e92a0b'
...
* commit 'c4e43560fe6677e9d60bfb3cffc41c7324e92a0b':
h264data: Move some tables to the only place they are used
Conflicts:
libavcodec/h264data.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:21:48 +02:00
Michael Niedermayer
58e12732db
Merge commit '2a61592573d725956a4377641344afe263382648'
...
* commit '2a61592573d725956a4377641344afe263382648':
avcodec: Remove some commented-out debug cruft
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mvpred.h
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:18:43 +02:00
Diego Biurrun
c4e43560fe
h264data: Move some tables to the only place they are used
2013-08-20 20:49:37 +02:00
Diego Biurrun
2a61592573
avcodec: Remove some commented-out debug cruft
2013-08-20 19:59:50 +02:00
Michael Niedermayer
a0c6c8e53e
Revert "Merge commit of 'vdpau: remove old-style decoders'"
...
This reverts commit bf36dc50ea
, reversing
changes made to b7fc2693c7
.
Conflicts:
libavcodec/h264.c
Keeping support for the old VDPAU API has been requested by our VDPAU maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 22:17:49 +02:00
Michael Niedermayer
921c1d4c95
Merge commit 'c1076d8479a6c0ee2e0c4b0e2151df5b0228438e'
...
* commit 'c1076d8479a6c0ee2e0c4b0e2151df5b0228438e':
h264: check one context_init() allocation
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:35:44 +02:00
Michael Niedermayer
d2d8e259fd
Merge commit '5eb488bfa835f2902a31ba99d57c16ae36c4f598'
...
* commit '5eb488bfa835f2902a31ba99d57c16ae36c4f598':
h264: use explicit variable names for *_field_flag
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:28:49 +02:00
Michael Niedermayer
e0b45ca730
Merge commit 'b3dc260e7fa6f3f852dd5cb7d86763c4b5736714'
...
* commit 'b3dc260e7fa6f3f852dd5cb7d86763c4b5736714':
h264: return meaningful values
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:08:48 +02:00
Vittorio Giovara
c1076d8479
h264: check one context_init() allocation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:36:38 +02:00
Vittorio Giovara
5eb488bfa8
h264: use explicit variable names for *_field_flag
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:36:25 +02:00
Vittorio Giovara
b3dc260e7f
h264: return meaningful values
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:28:51 +02:00
Michael Niedermayer
bf36dc50ea
Merge commit '578ea75a9e4ac56e0bbbbe668700be756aa699f8'
...
* commit '578ea75a9e4ac56e0bbbbe668700be756aa699f8':
vdpau: remove old-style decoders
Conflicts:
libavcodec/allcodecs.c
libavcodec/h263dec.c
libavcodec/h264.c
libavcodec/mpeg12dec.c
libavcodec/mpeg4videodec.c
libavcodec/vc1dec.c
libavcodec/vdpau.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:24:22 +02:00
Rémi Denis-Courmont
578ea75a9e
vdpau: remove old-style decoders
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:15:49 +02:00
Michael Niedermayer
82fdfe8e51
Merge commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a'
...
* commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a':
avcodec: Add output_picture_number to AVCodecParserContext
Conflicts:
doc/APIchanges
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:48:11 +02:00
Yusuke Nakamura
a8b19271c3
avcodec: Add output_picture_number to AVCodecParserContext
...
Set output_picture_number in H.264 parser.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 20:59:45 +02:00
Michael Niedermayer
102397d2c1
Merge commit '16c22122c788b5e54a2f2e224bd0106429f0714c'
...
* commit '16c22122c788b5e54a2f2e224bd0106429f0714c':
h264: K&R formatting cosmetics
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:40:49 +02:00
Diego Biurrun
16c22122c7
h264: K&R formatting cosmetics
2013-07-27 10:47:38 +02:00
Joakim Plate
8710a634a5
h264: add frame packing as stereo_mode frame metadata
...
This matches the matroska defintion of stereo_mode, with
no metadata written if no info exist in sei
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 16:04:02 +02:00
Michael Niedermayer
a35494c566
h264: fix indention of xchg_mb_border()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 03:27:14 +02:00
Michael Niedermayer
f27b22b497
h264: move 444 border xchg under if (deblock_top)
...
Fixes out of array access
Fixes Ticket2668
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 03:27:04 +02:00
Michael Niedermayer
bbe26eff22
h264: Fix null pointer dereference with disabled error concealment
...
Fixes Ticket2551
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 16:05:19 +02:00
Michael Niedermayer
d6a33f5d20
h264: fix size of arrays in ff_h264_check_intra_pred_mode()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 20:48:07 +02:00
Michael Niedermayer
2005fddcbb
h264/ff_h264_check_intra_pred_mode: fix input value check
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 20:48:07 +02:00
Michael Niedermayer
443b29e475
h264: Try parsing SPS as complete NAL in more cases
...
Fixes Ticket2580
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 01:43:09 +02:00
Michael Niedermayer
029353e427
Merge commit 'e9e5a1bdc769a7225ab0d4f8b33bcacc6496bd68'
...
* commit 'e9e5a1bdc769a7225ab0d4f8b33bcacc6496bd68':
Monkey's Audio old versions FATE tests
h264_parser: Set field_order and picture_structure.
Conflicts:
libavcodec/h264_parser.c
tests/fate/lossless-audio.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 12:15:56 +02:00
Yusuke Nakamura
3f1a7ceb2c
h264_parser: Set field_order and picture_structure.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-24 08:45:05 +02:00
Michael Niedermayer
5a9e376049
h264: check mb_width/height
...
Fixes inconsistency that leads to out of array accesses with threads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 01:58:10 +02:00
Michael Niedermayer
edabbfbaf2
ff_h264_decode_seq_parameter_set: dont set h->sps
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:37:47 +02:00
Michael Niedermayer
fbaf75b166
h264: Use the correct croping values.
...
This fixes returning pictures with corrupted data pointers.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 00:06:26 +02:00
Michael Niedermayer
5299ee54a7
h264: assert that croping values at slice level are consistent
...
These values where checked before already.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:49:56 +02:00
Diego Biurrun
fce99322b0
h264: Drop unused variable
2013-04-22 12:05:09 +02:00
Michael Niedermayer
8ebfd7c49e
h264: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer
f4b05cd841
Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'
...
* commit '5e83d9aced2fc2b2e1360452794c58aba55d497c':
h264: fully support cropping.
Conflicts:
doc/APIchanges
libavcodec/h264.c
libavcodec/h264_ps.c
libavcodec/options_table.h
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:46:51 +02:00
Ronald S. Bultje
c443117f25
dsputil: Remove dct_bits
...
dct_bits is never set except in h264, where it is never used,
thus remove it.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Anton Khirnov
5e83d9aced
h264: fully support cropping.
...
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>
Fixes Bug 378.
2013-04-19 09:28:08 +02:00
Reimar Döffinger
c10d498bfd
Add thread-safe wrapper for get_format().
...
Just like get_buffer, get_format should not be called from a different
thread if thread_safe_callbacks is not set.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Michael Niedermayer
65120f628c
Merge commit '85deb51a01f1ecc5ac5faa52ad8ea141c384e23a'
...
* commit '85deb51a01f1ecc5ac5faa52ad8ea141c384e23a':
h264: Only initialize dsputil if error resilience is enabled
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:00:05 +02:00
Michael Niedermayer
944ad46182
Merge commit 'e8cafd2773bc56455c8816593cbd9368f2d69a80'
...
* commit 'e8cafd2773bc56455c8816593cbd9368f2d69a80':
h264: Clear the mb members via memset instead of using dsputil
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:40:05 +02:00
Ronald S. Bultje
85deb51a01
h264: Only initialize dsputil if error resilience is enabled
...
It is only used for error resilience. This allows building the
h264 decoder without dsputil, if error resilience is disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:53 +03:00
Ronald S. Bultje
62844c3fd6
h264: Integrate clear_blocks calls with IDCT
...
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:06 +03:00
Martin Storsjö
e8cafd2773
h264: Clear the mb members via memset instead of using dsputil
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:01:21 +03:00
Michael Niedermayer
62a1181015
h264: wait for missing slices only on frames
...
The EC code does not support fields currently thus it makes no
sense to wait for these cases (which also the check doesnt handle
correctly)
Fixes Ticket 2454
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 23:12:24 +02:00
Michael Niedermayer
285c5f6838
h264: move last_slice_type reset into decode_slice_header
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:57:31 +01:00
Michael Niedermayer
11c3381ce3
h264: move the default_ref_list_done check down after its inputs have been written
...
Fixes out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer
746016598d
h264: Move slice_table clean out of frame_start
...
Fixes inconsistency ultimately leading to an out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer
ace0cfea60
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
hwaccel: fix use with frame based multithreading
Conflicts:
libavcodec/h263dec.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:51:33 +01:00
Janne Grunau
05fa79b844
hwaccel: fix use with frame based multithreading
...
Allows use of AVHWAccel based decoders with frame based multithreading.
The decoders will be forced into an non-concurrent mode by delaying
ff_thread_finish_setup() calls after decoding of the current frame
is finished.
This wastes memory by unnecessarily using multiple threads and thus
copies of the decoder context but allows seamless switching between
hardware accelerated and frame threaded software decoding when the
hardware decoder does not support the stream.
2013-03-26 19:44:50 +01:00
Michael Niedermayer
7b3ca7ae8b
mpegvideo/h264: drop period_since_free
...
This should not be needed anymore
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 19:27:32 +01:00
Michael Niedermayer
365ad0042a
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264: Make it possible to compile without error_resilience
Conflicts:
configure
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:36:00 +01:00
Ronald S. Bultje
0b499c9b06
h264: Make it possible to compile without error_resilience
...
Error resilience is enabled by the h264 decoder, unless explicitly
disabled. --disable-everything --enable-decoder=h264 will produce
a h264 decoder with error resilience enabled, while
--disable-everything --enable-decoder=h264 --disable-error-resilience
will produce a h264 decoder with error resilience disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:55:05 +02:00
Martin Storsjö
ccd349e555
h264: Remove an unused variable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-25 15:00:05 +02:00
Michael Niedermayer
e2b30194bb
h264/field_end move progress report code after error concealment.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 22:34:17 +01:00
Michael Niedermayer
644092c8e8
h264: dont report rows as finished after a missing slice
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 21:07:57 +01:00
Michael Niedermayer
f3980b75f8
h264: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:17:55 +01:00
Michael Niedermayer
881050d229
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264: remove redundant freeing of DPB in h264_decode_end
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:10:57 +01:00
Michael Niedermayer
86d9d349cc
Merge commit '23e85be58fc64b2e804e68b0034a08a6d257e523'
...
* commit '23e85be58fc64b2e804e68b0034a08a6d257e523':
h264: add a parameter to the CHROMA444 macro.
h264: add a parameter to the CHROMA422 macro.
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:06:14 +01:00
Michael Niedermayer
92656787cf
Merge commit '6d2b6f21eb45ffbda1103c772060303648714832'
...
* commit '6d2b6f21eb45ffbda1103c772060303648714832':
h264: add a parameter to the CABAC macro.
h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.
Conflicts:
libavcodec/h264.c
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:58:00 +01:00
Michael Niedermayer
bf4d0f8328
Merge commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4'
...
* commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4':
h264: add a parameter to the FIELD_PICTURE macro.
h264: add a parameter to the FRAME_MBAFF macro.
Conflicts:
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_refs.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:50:18 +01:00
Michael Niedermayer
e168b50816
Merge commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7'
...
* commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7':
h264: add a parameter to the MB_FIELD macro.
h264: add a parameter to the MB_MBAFF macro.
Conflicts:
libavcodec/h264.c
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:43:32 +01:00
Michael Niedermayer
137df692fc
Merge commit '48d0fd2d62a476e1db9298163f1fc0abae26cc67'
...
* commit '48d0fd2d62a476e1db9298163f1fc0abae26cc67':
h264: merge common_init() into ff_h264_decode_init.
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:34:59 +01:00
Michael Niedermayer
bbc0f6f978
Merge commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e'
...
* commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e':
h264: make ff_h264_frame_start static.
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:05:13 +01:00
Michael Niedermayer
6c8ac2d782
Merge commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5'
...
* commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5':
fate: add tests for h264 decoder reinit
h264: fix bit depth changes with frame threading
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:56:29 +01:00
Michael Niedermayer
82f95d7fd7
h264: drop special case for 9bit chroma422
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:51:26 +01:00
Anton Khirnov
fcf75022d7
h264: remove redundant freeing of DPB in h264_decode_end
...
free_tables() frees it already.
2013-03-21 10:21:11 +01:00
Anton Khirnov
23e85be58f
h264: add a parameter to the CHROMA444 macro.
...
This way it does not look like a constant.
2013-03-21 10:21:02 +01:00
Anton Khirnov
e962bd08ee
h264: add a parameter to the CHROMA422 macro.
...
This way it does not look like a constant.
2013-03-21 10:20:58 +01:00
Anton Khirnov
6d2b6f21eb
h264: add a parameter to the CABAC macro.
...
This way it does not look like a constant.
2013-03-21 10:20:52 +01:00
Anton Khirnov
a6931d8ece
h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.
...
This way it does not look like a constant.
2013-03-21 10:20:48 +01:00
Anton Khirnov
7fa00653a5
h264: add a parameter to the FIELD_PICTURE macro.
...
This way it does not look like a constant.
2013-03-21 10:20:44 +01:00
Anton Khirnov
7bece9b22f
h264: add a parameter to the FRAME_MBAFF macro.
...
This way it does not look like a constant.
2013-03-21 10:20:39 +01:00
Anton Khirnov
da6be8fcec
h264: add a parameter to the MB_FIELD macro.
...
This way it does not look like a constant.
2013-03-21 10:20:35 +01:00
Anton Khirnov
82313eaa34
h264: add a parameter to the MB_MBAFF macro.
...
This way it does not look like a constant.
2013-03-21 10:20:30 +01:00
Anton Khirnov
48d0fd2d62
h264: merge common_init() into ff_h264_decode_init.
...
There is no point in keeping those separate.
2013-03-21 10:20:10 +01:00
Anton Khirnov
25408b2a06
h264: make ff_h264_frame_start static.
...
It is not called from outside h264.c
2013-03-21 10:19:54 +01:00
Janne Grunau
a157c7f2b8
h264: fix bit depth changes with frame threading
...
AVCodecContext.bits_per_raw_sample is updated from the previous thread
in the generic update function before the codec specific update_thread
function is called. The check for reinitialization of dsp functions uses
bits_per_raw_sample. When called from update_thread_context it will be
already at the current value and the dsp functions aren't updated if
only the bit depth changes.
2013-03-20 13:12:10 +01:00
Michael Niedermayer
f7fee8f700
Merge commit 'c3ebfcd6e1327ca7bbcaee822e593c2da6cfd352'
...
* commit 'c3ebfcd6e1327ca7bbcaee822e593c2da6cfd352':
mpegvideo: allocate hwaccel privdata after the frame buffer
h264: allocate hwaccel privdata after the frame buffer
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:57:28 +01:00
Hendrik Leppkes
9c9ede44f3
h264: allocate hwaccel privdata after the frame buffer
...
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:20:00 +01:00
Ronald S. Bultje
4a88d81c9e
dsputil: remove duplicate or unused functions.
...
dct_bits is never set except in h264, where it is never used, thus
remove it. Then, remove all functions that were set based on non-zero
(32) values for dct_bits. Lastly, merge 9-14 bpp functions for get_pixels
and draw_edge, which only care about pixel storage unit size, not actual
bits used (i.e. they don't clip).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:56:48 +01:00
Michael Niedermayer
cacbf64a76
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()
Conflicts:
libavcodec/aacsbr.c
libavcodec/amrnbdec.c
libavcodec/takdec.c
libavcodec/tta.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:07:25 +01:00
Michael Niedermayer
13795dbb64
Merge commit '6d97484d72e33f7dde9493a9ead1a72e2f029605'
...
* commit '6d97484d72e33f7dde9493a9ead1a72e2f029605':
avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
rsodec: Use avpriv_report_missing_feature() where appropriate
Conflicts:
libavcodec/anm.c
libavcodec/mlpdec.c
libavcodec/pictordec.c
libavcodec/sunrast.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:52:12 +01:00
Diego Biurrun
12e25ed284
avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()
2013-03-13 21:20:12 +01:00
Diego Biurrun
6d97484d72
avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
2013-03-13 21:20:12 +01:00
Michael Niedermayer
849f015406
Merge commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480'
...
* commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480':
Add informative messages to av_log_ask_for_sample calls lacking them
anm: Get rid of some very silly goto statements
Conflicts:
libavformat/anm.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:03:22 +01:00
Michael Niedermayer
8bcebf9e4a
Merge commit '555000c7d5c1e13043a948ebc48d2939b0ba6536'
...
* commit '555000c7d5c1e13043a948ebc48d2939b0ba6536':
h264: check that DPB is allocated before accessing it in flush_dpb()
vf_hqdn3d: fix uninitialized variable use
vf_gradfun: fix uninitialized variable use
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:34:06 +01:00
Michael Niedermayer
6c3e4e391d
Merge commit 'f08fefc4d099f2a1f2e3a6db3d340537e601f762'
...
* commit 'f08fefc4d099f2a1f2e3a6db3d340537e601f762':
h264: remove a useless svq3 condition
mpegvideo: remove FMT_H264
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:17:49 +01:00
Michael Niedermayer
0fe4b48540
cabac: remove unused argument of ff_init_cabac_states()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:05 +01:00
Michael Niedermayer
0cfbfaaa12
Merge commit '7b89cd20d844cbe763ca34e63e99d110043cf241'
...
* commit '7b89cd20d844cbe763ca34e63e99d110043cf241':
eamad: allocate a dummy reference frame when the real one is missing
Replace remaining includes of audioconvert.h with channel_layout.h
Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:44:15 +01:00
Michael Niedermayer
dac8799529
Merge commit 'ddcca4ba074aa537c3059c76d69eb4ad6316bfe9'
...
* commit 'ddcca4ba074aa537c3059c76d69eb4ad6316bfe9':
lavc: stop setting AVFrame.motion_subsample_log2
avserver: don't set deprecated options.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:27:54 +01:00
Michael Niedermayer
53fd4f5594
avcodec: fix motion vector vissualization
...
was broken by the buffer ref stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:23:07 +01:00
Diego Biurrun
a4472ac01e
Add informative messages to av_log_ask_for_sample calls lacking them
2013-03-12 11:09:45 +01:00
Michael Niedermayer
6ae4372532
h264/mpegvideo: fix ff_print_debug_info2 arguments
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:06:35 +01:00
Michael Niedermayer
0fc01ae33c
h264: fix null pointer dereference and assertion failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:56 +01:00
Michael Niedermayer
80e9e63c94
Merge commit '759001c534287a96dc96d1e274665feb7059145d'
...
* commit '759001c534287a96dc96d1e274665feb7059145d':
lavc decoders: work with refcounted frames.
Anton Khirnov (1):
lavc decoders: work with refcounted frames.
Clément Bœsch (47):
lavc/ansi: reset file
lavc/ansi: re-do refcounted frame changes from Anton
fraps: reset file
lavc/fraps: switch to refcounted frames
gifdec: reset file
lavc/gifdec: switch to refcounted frames
dsicinav: resolve conflicts
smc: resolve conflicts
zmbv: resolve conflicts
rpza: resolve conflicts
vble: resolve conflicts
xxan: resolve conflicts
targa: resolve conflicts
vmnc: resolve conflicts
utvideodec: resolve conflicts
tscc: resolve conflicts
ulti: resolve conflicts
ffv1dec: resolve conflicts
dnxhddec: resolve conflicts
v210dec: resolve conflicts
vp3: resolve conflicts
vcr1: resolve conflicts
v210x: resolve conflicts
wavpack: resolve conflicts
pngdec: fix compilation
roqvideodec: resolve conflicts
pictordec: resolve conflicts
mdec: resolve conflicts
tiertexseqv: resolve conflicts
smacker: resolve conflicts
vb: resolve conflicts
vqavideo: resolve conflicts
xl: resolve conflicts
tmv: resolve conflicts
vmdav: resolve conflicts
truemotion1: resolve conflicts
truemotion2: resolve conflicts
lcldec: fix compilation
libcelt_dec: fix compilation
qdrw: fix compilation
r210dec: fix compilation
rl2: fix compilation
wnv1: fix compilation
yop: fix compilation
tiff: resolve conflicts
interplayvideo: fix compilation
qpeg: resolve conflicts (FIXME/TESTME).
Hendrik Leppkes (33):
012v: convert to refcounted frames
8bps: fix compilation
8svx: resolve conflicts
4xm: resolve conflicts
aasc: resolve conflicts
bfi: fix compilation
aura: fix compilation
alsdec: resolve conflicts
avrndec: convert to refcounted frames
avuidec: convert to refcounted frames
bintext: convert to refcounted frames
cavsdec: resolve conflicts
brender_pix: convert to refcounted frames
cinepak: resolve conflicts
cinepak: avoid using AVFrame struct directly in private context
cljr: fix compilation
cpia: convert to refcounted frames
cscd: resolve conflicts
iff: resolve conflicts and do proper conversion to refcounted frames
4xm: fix reference frame handling
cyuv: fix compilation
dxa: fix compilation
eacmv: fix compilation
eamad: fix compilation
eatgv: fix compilation
escape124: remove unused variable.
escape130: convert to refcounted frames
evrcdec: convert to refcounted frames
exr: convert to refcounted frames
mvcdec: convert to refcounted frames
paf: properly free the frame data on decode close
sgirle: convert to refcounted frames
lavfi/moviesrc: use refcounted frames
Michael Niedermayer (56):
Merge commit '759001c534287a96dc96d1e274665feb7059145d'
resolve conflicts in headers
motion_est: resolve conflict
mpeg4videodec: fix conflicts
dpcm conflict fix
dpx: fix conflicts
indeo3: resolve confilcts
kmvc: resolve conflicts
kmvc: resolve conflicts
h264: resolve conflicts
utils: resolve conflicts
rawdec: resolve conflcits
mpegvideo: resolve conflicts
svq1enc: resolve conflicts
mpegvideo: dont clear data, fix assertion failure on fate vsynth1 with threads
pthreads: resolve conflicts
frame_thread_encoder: simple compilefix not yet tested
snow: update to buffer refs
crytsalhd: fix compile
dirac: switch to new API
sonic: update to new API
svq1: resolve conflict, update to new API
ffwavesynth: update to new buffer API
g729: update to new API
indeo5: fix compile
j2kdec: update to new buffer API
linopencore-amr: fix compile
libvorbisdec: update to new API
loco: fix compile
paf: update to new API
proresdec: update to new API
vp56: update to new api / resolve conflicts
xface: convert to refcounted frames
xan: fix compile&fate
v408: update to ref counted buffers
v308: update to ref counted buffers
yuv4dec: update to ref counted buffers
y41p: update to ref counted frames
xbm: update to refcounted frames
targa_y216: update to refcounted buffers
qpeg: fix fate/crash
cdxl: fix fate
tscc: fix reget buffer useage
targa_y216dec: fix style
msmpeg4: fix fate
h264: ref_picture() copy fields that have been lost too
update_frame_pool: use channel field
h264: Put code that prevents deadlocks back
mpegvideo: dont allow last == current
wmalossless: fix buffer ref messup
ff_alloc_picture: free tables in case of dimension mismatches
h264: fix null pointer dereference and assertion failure
frame_thread_encoder: update to bufrefs
ec: fix used arrays
snowdec: fix off by 1 error in dimensions check
h264: disallow single unpaired fields as references of frames
Paul B Mahol (2):
lavc/vima: convert to refcounted frames
sanm: convert to refcounted frames
Conflicts:
libavcodec/4xm.c
libavcodec/8bps.c
libavcodec/8svx.c
libavcodec/aasc.c
libavcodec/alsdec.c
libavcodec/anm.c
libavcodec/ansi.c
libavcodec/avs.c
libavcodec/bethsoftvideo.c
libavcodec/bfi.c
libavcodec/c93.c
libavcodec/cavsdec.c
libavcodec/cdgraphics.c
libavcodec/cinepak.c
libavcodec/cljr.c
libavcodec/cscd.c
libavcodec/dnxhddec.c
libavcodec/dpcm.c
libavcodec/dpx.c
libavcodec/dsicinav.c
libavcodec/dvdec.c
libavcodec/dxa.c
libavcodec/eacmv.c
libavcodec/eamad.c
libavcodec/eatgq.c
libavcodec/eatgv.c
libavcodec/eatqi.c
libavcodec/error_resilience.c
libavcodec/escape124.c
libavcodec/ffv1.h
libavcodec/ffv1dec.c
libavcodec/flicvideo.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/g723_1.c
libavcodec/gifdec.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_direct.c
libavcodec/h264_loopfilter.c
libavcodec/h264_refs.c
libavcodec/huffyuvdec.c
libavcodec/idcinvideo.c
libavcodec/iff.c
libavcodec/indeo2.c
libavcodec/indeo3.c
libavcodec/internal.h
libavcodec/interplayvideo.c
libavcodec/ivi_common.c
libavcodec/jvdec.c
libavcodec/kgv1dec.c
libavcodec/kmvc.c
libavcodec/lagarith.c
libavcodec/libopenjpegdec.c
libavcodec/mdec.c
libavcodec/mimic.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mmvideo.c
libavcodec/motion_est.c
libavcodec/motionpixels.c
libavcodec/mpc7.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/msrle.c
libavcodec/msvideo1.c
libavcodec/nuv.c
libavcodec/options_table.h
libavcodec/pcx.c
libavcodec/pictordec.c
libavcodec/pngdec.c
libavcodec/pnmdec.c
libavcodec/pthread.c
libavcodec/qpeg.c
libavcodec/qtrle.c
libavcodec/r210dec.c
libavcodec/rawdec.c
libavcodec/roqvideodec.c
libavcodec/rpza.c
libavcodec/smacker.c
libavcodec/smc.c
libavcodec/svq1dec.c
libavcodec/svq1enc.c
libavcodec/targa.c
libavcodec/tiertexseqv.c
libavcodec/tiff.c
libavcodec/tmv.c
libavcodec/truemotion1.c
libavcodec/truemotion2.c
libavcodec/tscc.c
libavcodec/ulti.c
libavcodec/utils.c
libavcodec/utvideodec.c
libavcodec/v210dec.c
libavcodec/v210x.c
libavcodec/vb.c
libavcodec/vble.c
libavcodec/vcr1.c
libavcodec/vmdav.c
libavcodec/vmnc.c
libavcodec/vp3.c
libavcodec/vp56.c
libavcodec/vp56.h
libavcodec/vp6.c
libavcodec/vqavideo.c
libavcodec/wavpack.c
libavcodec/xl.c
libavcodec/xxan.c
libavcodec/zmbv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:28 +01:00
Anton Khirnov
555000c7d5
h264: check that DPB is allocated before accessing it in flush_dpb()
2013-03-11 18:30:31 +01:00
Anton Khirnov
f08fefc4d0
h264: remove a useless svq3 condition
...
The svq3 decoder does not call ff_h264_frame_start() anymore.
2013-03-11 18:24:36 +01:00
Michael Niedermayer
c32cc7e3a4
Merge commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51'
...
* commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51':
configure: Add missing h264chroma dependencies to vp5, vp6
Add missing error_resilience includes to files that use ER
Conflicts:
configure
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:23:56 +01:00
Anton Khirnov
542b83fc90
Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.
2013-03-08 07:42:09 +01:00
Anton Khirnov
ddcca4ba07
lavc: stop setting AVFrame.motion_subsample_log2
...
It is not used inside lavc anywhere and now it makes no sense to export
it.
2013-03-08 07:41:14 +01:00
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
2013-03-08 07:38:30 +01:00
Diego Biurrun
5f401b7b71
Add missing error_resilience includes to files that use ER
2013-03-07 15:04:49 +01:00
Michael Niedermayer
8cc5481d51
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavc: Deprecate the deinterlace functions in libavcodec
h264: Integrate draw_horiz_band into ff_h264_draw_horiz_band
Conflicts:
configure
ffmpeg_opt.c
libavcodec/avcodec.h
libavcodec/h264.c
libavcodec/imgconvert.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 11:50:17 +01:00
Ronald S. Bultje
64e4386974
h264: Integrate draw_horiz_band into ff_h264_draw_horiz_band
...
This makes the decoder independent of mpegvideo.
This copy of the draw_horiz_band code is simplified compared to
the "generic" mpegvideo one which still has a number of special
cases for different codecs.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 09:31:44 +02:00
Martin Storsjö
d65522e826
h264: Rename the jpeg_420 pixfmt list to match the common naming structure
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 08:40:04 +02:00
Michael Niedermayer
fa3a7b55ec
Merge commit '5da51284937649a8ebb84fa951c235438fcbf8ae'
...
* commit '5da51284937649a8ebb84fa951c235438fcbf8ae':
cavs: Add a dependency on h264chroma
lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
Conflicts:
libavcodec/h263dec.c
libavcodec/h264.c
libavcodec/mpeg12.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 00:18:22 +01:00
Michael Niedermayer
be493ca2a8
Merge commit 'c10da30d8426a1f681d99a780b6e311f7fb4e5c5'
...
* commit 'c10da30d8426a1f681d99a780b6e311f7fb4e5c5':
shorten: set invalid channels count to 0
vorbisdec: check memory allocations
h264: check for luma and chroma bit dept being equal
Conflicts:
libavcodec/shorten.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 23:27:09 +01:00
Ronald S. Bultje
8d061989dd
lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
...
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-06 21:18:50 +02:00
Luca Barbato
4987faee78
h264: check for luma and chroma bit dept being equal
...
The decoder assumes a single bit depth for all the planes
while the specification allows different bit depths for luma
and chroma.
Avoid the possible problems described in CVE-2013-2277
CC: libav-stable@libav.org
2013-03-05 22:18:02 +01:00
Ronald S. Bultje
d98aa7cdc1
h264: put call to ff_print_debug_info2 under CONFIG_MPEGVIDEO.
...
The code is located in mpegvideo, and it's likely that in a minimal
config, we don't want to include debug info anyway.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 12:19:29 +01:00
Ronald S. Bultje
d4e649cca6
h264: make it possible to compile without error_resilience.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 12:19:15 +01:00
Ronald S. Bultje
454c5d10b2
h264: add a copy of draw_horiz_band.
...
This makes the decoder independent of mpegvideo.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 00:45:45 +01:00
Michael Niedermayer
547042a8cd
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264: set ref_count to 0 for intra slices.
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 12:10:52 +01:00
Michael Niedermayer
2d2e6db7cf
Merge commit '668e16a0dd1ff56d4beeff5c658d8a2a08dbfac8'
...
* commit '668e16a0dd1ff56d4beeff5c658d8a2a08dbfac8':
h264: on reference overflow, reset the reference count to 0, not 1.
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 11:53:19 +01:00
Michael Niedermayer
ec203cd69b
Merge commit 'e671d3ad6cd7fe1d02e9b35b889a25d8c059fce9'
...
* commit 'e671d3ad6cd7fe1d02e9b35b889a25d8c059fce9':
h264: do not copy ref count/ref2frm when updating per-frame context
flvdec: Check the return value of a malloc
Conflicts:
libavformat/flvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 11:41:31 +01:00
Anton Khirnov
437211ae73
h264: set ref_count to 0 for intra slices.
...
CC:libav-stable@libav.org
2013-03-02 10:27:13 +01:00
Anton Khirnov
668e16a0dd
h264: on reference overflow, reset the reference count to 0, not 1.
...
Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.
CC:libav-stable@libav.org
2013-03-02 10:27:03 +01:00
Anton Khirnov
e671d3ad6c
h264: do not copy ref count/ref2frm when updating per-frame context
...
They are filled in decode_slice_header() anyway.
2013-03-02 10:26:50 +01:00
Michael Niedermayer
c10c2aed47
h264: Silence warning: comparison of distinct pointer types lacks a cast
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 14:09:04 +01:00
Michael Niedermayer
04220b473e
h264: ensure that get_format() is called when changing format but not otherwise.
...
Fixes Ticket2288
Tested-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:36:33 +01:00
Michael Niedermayer
8036ba299d
h264: move next/last picture init to decode_slice_header
...
This is a regression introduced from the h264/mpegvideo split
Fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 20:24:31 +01:00
Michael Niedermayer
da7672b20a
h264: Fix handling of changing reference counts between slices
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 19:53:54 +01:00
Michael Niedermayer
039f55c803
h264: call alloc_scratch_buffers() only once linesize is known
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 19:53:54 +01:00
Michael Niedermayer
088f20a332
Merge commit '2ed008204d5467be03a0a3af1e293b2f7038d0a0'
...
* commit '2ed008204d5467be03a0a3af1e293b2f7038d0a0':
h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil
Conflicts:
libavcodec/dsputil.c
libavcodec/h264.c
libavcodec/h264_mb_template.c
libavcodec/h264addpx_template.c
libavcodec/h264dsp.c
libavcodec/h264dsp.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 11:17:32 +01:00
Ronald S. Bultje
fae6fd5b87
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: Martin Storsjö <martin@martin.st>
2013-02-19 22:34:33 +02:00
Ronald S. Bultje
2ed008204d
h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil
...
These functions are mostly H264-specific (the only other user I can
spot is bink), and this allows us to special-case some functionality
for H264. Also remove the 16-bit-coeff with >8bpp versions (unused)
and merge the duplicate 32-bit-coeff for >8bpp (identical).
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:29 +02:00
Ronald S. Bultje
1acd7d594c
h264: integrate clear_blocks calls with IDCT.
...
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 16:25:50 +01:00
Michael Niedermayer
d41efc1f26
h264: put visualization and debug support back
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 02:56:31 +01:00