Steven Walters
27237d524e
w32threads: support for frame multithreading
...
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Michael Niedermayer
2ed7e353bd
h264: Workaround invalid flag combinations of 8x8 inference.
...
Fixes Ticket555
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mans Rullgard
318efbfc10
h264: change unsupported bit depth message to error level
...
Unsupported bit depth is certainly an error the user will
want to know about.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Laurent Aimar
4c7a232fc8
h264: reset h->ref_count in case of errors in ff_h264_decode_ref_pic_list_reordering()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Mans Rullgard
4d1418cd4f
h264: fix signed overflows in x*0x01010101 expressions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Themaister
a3e11fa43c
Start adding pixel definitions for planar rgb.
13 years ago
Michael Niedermayer
74f77eb048
H264: set colorspace and full range to values indicating unspecified by default
...
Code based on ffdshow
Author unknown
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
14c21c1ff5
H264: Only wait before triggering ff_thread_setup_complete() until the next slice that contains a start-of-field/frame macroblock
...
This allows concurrent decoding of the last field/frame, rather than
only the last slice, of data packets with multiple NAL units packed
together.
This will fix the slowdown reported in e.g. bug 52.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Laurent Aimar
5ec55d216e
h264: reject unsupported 422 9 bit streams
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
4418aa9cb3
h264: correct implicit_weight for field-interlaced pictures.
13 years ago
Laurent Aimar
0333d234b0
h264: do not let invalid values in h->ref_count after a decoder reset.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Laurent Aimar
253d18b352
h264: bit depth/chroma idc changes must go through a full format negociation.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Laurent Aimar
a51fbb56bb
h254: explicitly initialize bit depth/chroma idc
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
eaa21b6870
H264: hotfix for speedloss on frame threading and h264 files with slices.
...
This fix is not ideal as it still limits the multithreading on field pictures
to the 2nd field only.
Ill try to fix it properly to allow both fields to decode concurrently but this
needs more work.
This bug exists since and was caused by:
commit ea6331f8bb
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Mon Jun 20 10:24:33 2011 -0400
h264-mt: fix deadlock in packets with multiple slices (e.g. MP4).
13 years ago
Laurent Aimar
a4fd95b5d5
h264: fix intra 16x16 mode check when using mbaff and constrained_intra_pred.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Laurent Aimar
2428b53f6d
h264: do not let invalid values in h->ref_count on ff_h264_decode_ref_pic_list_reordering() errors.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
3af2de76ac
h264: set unused ref_counts to 0 as a precautionary meassure.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
c9c7a776db
h264: try reading SPS with wrong escaping, it sometimes works better
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
dc9ce40069
h264: More correct ref_count check in decode_slice_header()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
5a6e7771ed
h264: dont set key_frame when the frame is not a real keyframe.
...
Fixes Ticket514
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f85c9b7771
h264dec: fix decoding problems introduced with baad01d8b4
.
...
This affected cases where extradata was not set.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Alexander Strasser
baad01d8b4
h264: improve checks before calling ff_h264_decode_extradata
...
The ff_h264_decode_extradata routine now checks for the buffer size
and pointer internally. This makes it possible to remove the external
checks in ff_h264_decode_init.
In decode_frame there was a size check missing because the buffer
gets tested prior to the invocation of ff_h264_decode_extradata().
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
13 years ago
Alexander Strasser
715f259bf9
h264: ff_h264_decode_extradata: check buffer args
...
The buffer size and pointer were not checked prior to testing the first
byte of the buffer. These were sometimes checked before calling, but it is
better to add it inside the function as it takes buf and size arguments.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
13 years ago
Laurent Aimar
d1186ff72d
h264: check for out of bounds reads in ff_h264_decode_extradata().
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Laurent Aimar
57764c6996
h264: Check for out of bounds reads in ff_h264_decode_extradata().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
9b73fbcff6
h264dec: Decode in stream avc extradata.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
4ba396834d
h264: pass buffer & size to ff_h264_decode_extradata()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
95a06eb4d5
Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.
...
This fixes build failures with -DDEBUG in CPPFLAGS.
13 years ago
Michael Niedermayer
4832ed4c62
h264: do not increase recovery frame which would lead to endless moving away of the recovery point.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
a8a9844a3c
h264: reset recovery frame on seeks.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
John Stebbins
53e37840bf
calculate frame_num for recovery point "keyframe"
...
recovery points that have non-zero recovery_frame_cnt resulted in
flagging incomplete frames as keyframes. This delays setting the
keyframe flag till the frame has been fully constructed.
13 years ago
Michael Niedermayer
ba5ff1b31e
h264dec: add forgotten copying of h->sync
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
0812ad01c8
h264dec: Support CODEC_FLAG2_SHOW_ALL.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
a64b028aeb
h264dec: Dont display trash before a keyframe.
...
Fixes Ticket472
This may (or may not) cause problems with files that have no keyframes.
Plese open a bugreport or mail me if you have a file for which this fails.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
205c13685f
h264: allow disabling bitstream overread protection by using the fast flag.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
716c1f7b2a
h264: improve MAX_SLICES too small check so it gives less false positives.
...
Fixes Ticket273
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ea0ac11e52
h264: prevent an out of array read in decode_nal_units()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
23f5cff92c
h264dec: Prevent CABAC and CAVLC bitsteram overreading
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
66ce282df5
h264: clean all non null elements of delayed_pic[]
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b955ab2f49
h264: change MAX_DELAYED_PIC_COUNT check to av_assert0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Luca Barbato
22141917a9
Revert "h264: Properly set coded_{width, height} when parsing H.264."
...
This reverts commit b47904d158
.
coded_{width, height} overwrites width and height in avcodec_open and
it currently just report the non-lowres size.
13 years ago
Michael Niedermayer
13e9a0fbfb
h264: fixup indention
...
issue spoted in last merge (probably indention fixed there by diego)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Jeff Downs
6581e161c5
h264: fix PCM intra-coded blocks in monochrome case
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
13 years ago
Jeff Downs
87cf70eb23
h264: correct implicit weight table computation for long ref pics
...
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
13 years ago
Baptiste Coudurier
231a6df9ea
h264dec: h264: 4:2:2 intra decoding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Dustin Brody
bac3ab13ea
h264: notice memory allocation failure
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Dustin Brody
12fe759423
h264: propagate error return values for AV_LOG_ERROR-triggering events
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
14 years ago
Jeff Downs
4105443872
h264 - Correct implicit weight table computation for long ref pics
...
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.
14 years ago
Jeff Downs
188694b2f5
h264 - Fix PCM intra coded blocks in monochrome case
14 years ago