Anton Khirnov
d27b8248a6
h264_direct: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
f42485dbce
h264: use a separate GetBitContext for slice data
2015-03-21 11:27:14 +01:00
Anton Khirnov
2ea00e35e4
h264: do not abuse the context as a temporary storage in get_last_needed_nal()
...
Use a local variable instead.
2015-03-21 11:27:14 +01:00
Anton Khirnov
404a416d4b
h264: remove some remnants of data partitioning
2015-03-21 11:27:14 +01:00
Anton Khirnov
7bbc254d64
h264: move resync_mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
d4d9068cdf
h264: move mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
0edbe6faa7
h264: move mb_xy into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
07c5ca551b
h264: move is_complex into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
47a0d39350
h264: move mb_skip_run into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
9951907f6f
h264: move redundant_pic_count into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a9b201cacf
h264: move cabac_init_idc into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
e6c90ce94f
h264: move loopfilter parameters into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
bd3e460b73
h264: move direct_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
6479c79f55
h264: move mvd_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a67f8ae9a2
h264: move mvd_table into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
5c8280c307
h264: move last_qscale_diff into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e7226984ac
h264: move [{top,left}_]cbp into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
30da98adbd
h264: move cabac[_state] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
bf03a878a7
h264: move mb[_{padding,luma_dc}] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
b063582e0c
h264: move intra_pcm_ptr into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
95eb35f305
h264: move the ref lists variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
7747726667
h264: move map_col_to_list0[_field] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
ee0d774dfa
h264: move dist_scale_factor[_field] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
be69f0a800
h264: move col_{parity,fieldoff} into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
066aafced4
h264: move direct_spatial_mv_pred into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
ed451a08a4
h264: move sub_mb_type into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
56febc993b
h264: move the slice type variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
5f390eef8e
h264: move mb_[uv]linesize into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
99a35d1ccb
h264: move neighbor_transform_size into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e6287f077c
h264: move {mv,ref}_cache into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
f69574cf7a
h264: move non_zero_count_cache into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
64c81b2cd0
h264: move *_samples_available into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
7d8154edd5
h264: move intra4x4_pred_mode[_cache] into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
8b00f4df20
h264: move some neighbour information into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
4bd5ac200d
h264: move {chroma,intra16x16}_pred_mode into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
5355ed6b20
h264: move {prev,next}_mb_skipped into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
06789ad3b7
h264: move qp_thresh into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
d231e84b06
h264: move the quantizers into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
d40ae0e595
h264: do not copy qscale when updating per-thread contexts
...
It's a per-slice quantity constructed when parsing the slice header.
2015-03-21 11:27:12 +01:00
Anton Khirnov
92c6c2a605
h264: split weighted pred-related vars into per-slice context
2015-03-21 11:27:09 +01:00
Anton Khirnov
d8a45d2d49
h264_ps: properly check cropping parameters against overflow
...
CC: libav-stable@libav.org
2015-03-21 09:35:23 +01:00
Anton Khirnov
5127c00b97
hevc: zero the correct variables on invalid crop parameters
...
It's the output_window that is applied to the output frame, not
pic_conf_win
2015-03-21 09:35:19 +01:00
Anton Khirnov
c929659bdd
hevc: make the crop sizes unsigned
2015-03-21 09:35:14 +01:00
Luca Barbato
22a6d48b0d
avconv: Print the avfilter errors
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-20 18:42:26 +01:00
Luca Barbato
342fc46c69
cmdutils: Add a stream specifier to map usable streams
...
It drops everything that cannot be used for re-encoding and/or
streamcopy.
2015-03-20 16:10:20 +01:00
Andreas Cadhalpun
30e6abd1a8
webp: ensure that each transform is only used once
...
According to the WebP Lossless Bitstream Specification
"each transform is allowed to be used only once".
If a transform is more than once this can lead to memory
corruption.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-19 21:03:13 +01:00
Anton Khirnov
cf18e777ae
movenc: write the display transform matrix
2015-03-19 21:02:59 +01:00
Martin Storsjö
30a041887f
ismindex: Calculate the pts duration of trun atoms, not the dts duration
...
Since the duration is compared to the tfra durations/intervals which
are expressed in pts, calculate that here as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:22 +02:00
Martin Storsjö
67a2912307
movenc: Don't assume that fragment durations in pts is equal to duration in dts
...
For strict CFR, they should be pretty much equal, but if the stream
is VFR, there can be a sometimes significant difference.
Calculate the pts duration separately, used in sidx atoms and for
tfrf/tfxd boxes in smooth streaming ismv files.
Also make sure to reduce the duration of sidx entries according to
edit lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:20 +02:00
Martin Storsjö
5c337353a2
movenc: Move sidx edit list timestamp adjustment into a block
...
When reading these values from track->frag_info, the same adjustment
has already been done.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:17 +02:00