Anton Khirnov
5c2fb561d9
h264: add H264_ prefix to the NAL unit types
This will prevent conflicts e.g. in code that deals with both h264 and
hevc.
9 years ago
Anton Khirnov
1cf2f3d334
h264_sei: drop an unnecessary h264dec.h include
The code does not depend on the h264 decoder anymore and only needs
information from h264_ps
9 years ago
Anton Khirnov
b24dafe105
lavc: drop unnecessary h264dec.h includes
9 years ago
Anton Khirnov
70b1dcef2d
h264: tighten the valid range for ref_frame_count
This field (which the spec calls max_num_ref_frames) must be less than
or equal to MaxDpbFrames, which is at most 16.
9 years ago
Anton Khirnov
f638b67e57
h264: move the parameter set definitions to a new header file
The PS parsing code is independent from the decoder, so it makes more
sense for it to have its own separate header.
9 years ago
Anton Khirnov
4e2f621248
svq3: stop using H264Picture
The SVQ3 decoder has been decoupled from the H.264 decoder, so it can
now use its own data type.
9 years ago
Anton Khirnov
251cbb4400
h264: create a new header for common h264 definitions
Move the NAL unit types into it. This will allow to stop including the
whole decoder-specific h264dec.h in some code that is unrelated to the
decoder and only needs some enum values.
9 years ago
Anton Khirnov
9df889a5f1
h264: rename h264.[ch] to h264dec.[ch]
This is more consistent with the naming of other decoders.
9 years ago
Anton Khirnov
f651c6a259
h264: factor out setting frame properties / side data
Right now this code is mixed with selecting the next output frame. Move
it to a separate function called from h264_field_start(), which is a
more appropriate place for this.
9 years ago
Anton Khirnov
19446dc5ff
h264: drop unused NAL_FF_IGNORE
9 years ago
Anton Khirnov
bcd91f1644
h264: move a per-field block from decode_slice_header() to field_start()
This is a more appropriate place for it.
9 years ago
Anton Khirnov
17e7c03e12
h264: only allow ending a field/starting a new one before finish_setup()
Doing this after ff_thread_finish_setup() is called is invalid and can
conflict with reads from the other thread.
9 years ago
Anton Khirnov
debca90863
h264: store {curr,max}_pic_num in the per-slice context
While the value of those variables will be constant for the whole frame,
they are only used in two functions called from slice header decoding.
Moving them to the per-slice context allows us to make the H264Context
passed to slice_header_parse() constant.
9 years ago
Anton Khirnov
f966498e43
h264: decode the poc values from the slice header into the per-slice context
Copy them into the decoder-global context in field_start(). This avoids
modifying the decoder-global context during bitstream parsing.
9 years ago
Anton Khirnov
54dd9b1cdd
h264: set mb_aff_frame in frame_start()
Avoid unnecessary modification of the decoder-global state in per-slice
code.
9 years ago
Anton Khirnov
8d36932c8d
h264: move the block starting a new field out of slice_header_parse()
There is no bitstream parsing in that block and messing with
decoder-global state is not something that belongs into header parsing.
Nothing else in this function depends on the value of current_slice,
except for two validity checks. Those checks are also moved out of
slice_header_parse().
9 years ago
Anton Khirnov
b25cd7540e
h264: pass a H2645NAL to slice header decoding
Replace the decoder-global nal_unit_type/nal_ref_idc variables with the
per-NAL ones. The decoder-global ones still cannot be removed because
they are used by hwaccels.
9 years ago
Clément Bœsch
dea0a2b69a
Merge commit 'e3c9041cfe2e6526802255583d27abf9a921863e'
* commit 'e3c9041cfe2e6526802255583d27abf9a921863e':
h264: allocate some tables per slice contexts, not threads
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
04aefe205b
Merge commit 'e0652795292223f8bc8e5bac019c1fca7323d23c'
* commit 'e0652795292223f8bc8e5bac019c1fca7323d23c':
h264: remove an artificial restriction on the number of slice threads
Tested with multiple runs of fate-h264 THREADS=50 THREAD_TYPE=slice
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
26cfafa52d
lavc/h264_slice: mark ref2frm as const pointers
9 years ago
James Almer
afd04058bc
avformat/oggparsevorbis: free base64 encoded data immediately after decoding it
It has no use afterwards and freeing it before calling ff_flac_parse_picture()
may help prevent OOM issues on memory constrained scenarios.
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
James Almer
8b5b756c4d
avformat/oggparsevorbis: use the base64 decode size macro
Allocate the memory needed for the decoded data rather than the
encoded data.
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
Muhammad Faiz
6031e5d1af
swresample/x86: add support for exact_rational
phase_shift and phase_mask is removed
generally exact_rational=on is faster than exact_rational=off
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
9 years ago
Vittorio Giovara
523c4c5b70
fate: Add TrueMotion 2 RT tests
9 years ago
Vittorio Giovara
906ffed9b1
fate: Move Duck Truemotion 1 and 2 tests to vpx.mak
9 years ago
Paul B Mahol
470cd0c5fe
Add TrueMotion 2.0 Real Time decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Vittorio Giovara
cc58656aca
fate: Add tests for MagicYUV
9 years ago
Paul B Mahol
d78fd2fa21
Add MagicYUV decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Clément Bœsch
d0bde818ac
MAINTAINERS: update my entries
9 years ago
Benjamin Larsson
ce028bc350
Remove Benjamin Larsson from MAINTAINERS
Signed-off-by: Lou Logan <lou@lrcd.com>
9 years ago
Petru Rares Sincraian
bc370c8f68
fate: add test for alimiter
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Matthieu Bouron
0ea58059d6
lavc/h264_ps: add ff_h264_ps_uninit and use it
9 years ago
Matthieu Bouron
acfab2dce6
lavf/mov: ignore ctts entries that do not apply to a least one sample
Fixes packet pts of samples which contain ctts entries with count <= 0.
9 years ago
Clément Bœsch
0528410e04
Merge commit '4fd34e639d15b44e02686c9b4ef58c9c3c9b0a69'
* commit '4fd34e639d15b44e02686c9b4ef58c9c3c9b0a69':
h264: remove pointless setting of some variables in loop_filter
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
fabdb7505a
Merge commit '9c858ce33fa9b94ebc320dd9d9fa423e708e90cc'
* commit '9c858ce33fa9b94ebc320dd9d9fa423e708e90cc':
h264: remove a pointless comment
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
4053989890
Merge commit 'b77fffa127663028169c5ed543956af4b9496c29'
* commit 'b77fffa127663028169c5ed543956af4b9496c29':
h264: make slice threading work with deblocking_filter=1
again label, and SLICE_SINGLETHREAD error handling are preserved as that
SLICE_SINGLETHREAD can be raised on a remaining case.
slice_context_count is also kept since it's still in use.
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
c8f7a23319
Merge commit '370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8'
* commit '370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8':
h264: remove H264Context.pict_type
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
0ab1816315
Merge commit '56087ec0a29314d1860f6f0e6f40fbb9b40feccd'
* commit '56087ec0a29314d1860f6f0e6f40fbb9b40feccd':
h264: drop a pointless indirection
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Carl Eugen Hoyos
dcdf69561f
lavc/audiotoolboxdec: Forward extradata for QDMC and QDM2.
Fixes audiotoolbox decoding of QDMC and QDM2.
9 years ago
Clément Bœsch
cbe2dc7275
Merge commit '0e7772c5e4f1b31e2a3dda714ba4f89b1cca644a'
* commit '0e7772c5e4f1b31e2a3dda714ba4f89b1cca644a':
h264: remove unused H264SliceContext.rbsp_buffer
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
c957909a9f
Merge commit '7f045c4429e91688f1f2335dd347203431901c06'
* commit '7f045c4429e91688f1f2335dd347203431901c06':
h264: merge ff_h264_free_context() into h264_decode_end()
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
d98ca4b14c
Merge commit '99c554efc8b09c3f1bb2fb41c3da5431085f7470'
* commit '99c554efc8b09c3f1bb2fb41c3da5431085f7470':
h264: eliminate low_delay
ff_print_debug_info2() is adjusted to allow a NULL pointer as low_delay.
It's only useful for MPEG codecs with the exception of H264.
Merged-by: Clément Bœsch <clement@stupeflix.com>
9 years ago
Clément Bœsch
38a2d9aeec
lavc/h264_parser: replace AVCodecContext with logging ctx in scan_mmco_reset()
9 years ago
Clément Bœsch
4fdea02d68
lavc/h264: add a logging ctx to ff_h264_pred_weight_table()
9 years ago
Matthieu Bouron
432891a96e
lavc/mediacodecdec{,_h264}: set FF_CODEC_CAP_SETS_PKT_DTS capability
And sets frames pkt_dts to AV_NOPTS_VALUE as we do not want lavc/utils
to overwrite the field with incorrect values as the decoder is
asynchronous.
9 years ago
Dan Dennedy
b8d754c5d0
lavc/videotoolbox: Fix videotoolbox compile error on OS X 10.8.
Fixes error:
libavcodec/videotoolbox.c:511:18: error: implicit declaration of function
'CMVideoFormatDescriptionCreateFromH264ParameterSets' is invalid in C99
This was added in 10.9:
https://developer.apple.com/reference/coremedia/1489818-cmvideoformatdescriptioncreatefr?language=objc
9 years ago
Marton Balint
e07b8d68f5
avformat/mux: do not call write_packet with a flush packet if header is not written
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Marton Balint
517fe64406
avformat/mux: do not call write_header multiple times if it fails the first time
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Thomas Mundt
b577d42183
doc/filters.texi: Move bwdif to correct alphabetical position
Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
Michael Niedermayer
dfbb5de172
tests/api/api-codec-param-test: Do not directly access caps_internal
The caps_internal field has moved without major bump and direct
access causes crashes, found when testing 3.1
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago