Anton Khirnov
56febc993b
h264: move the slice type variables into the per-slice context
10 years ago
Anton Khirnov
5f390eef8e
h264: move mb_[uv]linesize into the per-slice context
10 years ago
Anton Khirnov
e6287f077c
h264: move {mv,ref}_cache into the per-slice context
10 years ago
Anton Khirnov
f69574cf7a
h264: move non_zero_count_cache into the per-slice context
10 years ago
Anton Khirnov
7d8154edd5
h264: move intra4x4_pred_mode[_cache] into the per-slice context
10 years ago
Anton Khirnov
8b00f4df20
h264: move some neighbour information into the per-slice context
10 years ago
Anton Khirnov
06789ad3b7
h264: move qp_thresh into the per-slice context
10 years ago
Anton Khirnov
d231e84b06
h264: move the quantizers into the per-slice context
10 years ago
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.
10 years ago
Anton Khirnov
92c6c2a605
h264: split weighted pred-related vars into per-slice context
10 years ago
Anton Khirnov
ad786dd450
h264: remove a now redundant error check
...
It was only relevant when data partitioning was in use.
10 years ago
Anton Khirnov
0dea4c77cc
h264: only ref cur_pic in update_thread_context if it is initialized
...
It may be empty if the previous thread's decode call did not contain a
valid frame.
10 years ago
Peter Meerwald
9abc80f1ed
libavcodec: Make use of av_clip functions
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
Anton Khirnov
167e004e1a
h264: drop any pretense of support for data partitioning
...
It does not work correctly and apparently never did. There is no
indication that this (mis)feature is ever used in the wild or even that
any software other than the reference supports it.
Since the code that attempts to support it adds some nontrivial
complexity and has resulted in several bugs in the past, it is better to
just drop it.
10 years ago
Anton Khirnov
cf1e0786ed
error_resilience: move the MECmpContext initialization into ER code
...
Currently, it needs to be initialized by the ER caller (which is
currently either a mpegvideo decoder or h264dec). However, since none of
those decoders use MECmpContext for anything except ER, it makes more
sense to handle it purely inside ER.
10 years ago
Rémi Denis-Courmont
ebd5320afd
vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
...
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years ago
Rémi Denis-Courmont
4cfbeef31d
h264: factor hwaccel pixel formats list
...
This is to avoid proliferation of similar tables in following changes.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years ago
Vittorio Giovara
d75190aa93
mpegvideo: move REBASE_PICTURE where it is used
...
Drop an unused #undef from h264 decoder.
10 years ago
Anton Khirnov
7ea1b3472a
lavc: deprecate the use of AVCodecContext.time_base for decoding
...
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.
Add a new field, called 'framerate', to replace the use of time_base for
decoding.
10 years ago
Rémi Denis-Courmont
ce42316321
h264: Always invoke the get_format() callback
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
Vittorio Giovara
e87f5e4e5f
h264: fully check cropping amount from sps
...
Even if sps.crop is true, the cropping amount may be zero.
Fixes a sample with a valid but broken container cropping.
11 years ago
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
11 years ago
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
11 years ago
Luca Barbato
2db953f846
h264: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Justin Ruggles
9e500efdbe
Add av_image_check_sar() and use it to validate SAR
11 years ago
Anton Khirnov
67afcefb35
lavc: Add new VDA hwaccel
...
It leverages the new hwaccel 1.2 features:
- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years ago
Anton Khirnov
a871ef0cc9
hwaccel: Rename priv_data_size to frame_priv_data_size
...
This describes more accurately what this field is for.
11 years ago
Anton Khirnov
5c1d7246cd
lavc: set AVCodecContext.hwaccel in ff_get_format()
...
This way each decoder does not have to do the same thing manually.
11 years ago
Anton Khirnov
632ad2248e
lavc: Add an internal wrapper around get_format()
...
It will be useful in the following commits.
11 years ago
Anton Khirnov
9d76dd952f
h264: drop commented out cruft
11 years ago
Janne Grunau
34c5a6660a
h264: codec reinit: remove statements without effect
...
avctx->coded_{height,width} will always equal h->{height,width} since
init_dimensions() does that explicitly, Size changes are detected by
changes in mb_{height,width} earlier and propagated through the
needs_reinit variable.
11 years ago
Luca Barbato
f51d0f39c0
h264: Split h264 slice decoding from nal decoding
11 years ago
Vittorio Giovara
e9a77f4bc0
h264: move macroblock decoding into its own file
11 years ago
Vittorio Giovara
d24e9a99a4
h264 does not depend on mpegvideo any more
11 years ago
Vittorio Giovara
e0c16e4e32
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
11 years ago
Vittorio Giovara
136034d86b
h264: Remove MotionEstContext and move the relevant fields to H264Context
...
Unused buffers scratchpad and temp have been dropped too.
11 years ago
Vittorio Giovara
e3c2d0f3d4
h264: Replace mpegvideo-specific MAX_THREADS by private define
11 years ago
Vittorio Giovara
5d1c2e53ab
h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private define
11 years ago
Vittorio Giovara
9b749c8274
h264: move relevant fields from Picture to H264Picture
11 years ago
Vittorio Giovara
d66e305bd1
er: move relevant fields from Picture to ERPicture
...
This is done to disentangle ER from mpegvideo. In order to use a
classic Picture, callers can use ff_mpeg_set_erpic() or use a custom function
to set the fields. Please note that buffers need to be allocated before
calling ff_er_frame_end().
11 years ago
Vittorio Giovara
1c79b1625d
h264: directly use frames in ff_h264_draw_horiz_band()
11 years ago
Diego Biurrun
f2408ec9d7
Give IDCT matrix transpose macro a more descriptive name
...
This also avoids a macro name clash and related warning on ARM.
11 years ago
Luca Barbato
d922c5a5fb
h264: Fix a typo from the previous commit
...
f777504f64
changed a - in +
CC: libav-stable@libav.org
11 years ago
Vittorio Giovara
f777504f64
h264: Lower bound check for slice offsets
...
And use the value from the specification.
Sample-Id: 00000451-google
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years ago
Luca Barbato
fea6db064b
h264: informative error reporting in decode_slice_header()
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Luca Barbato
96f9fbe109
h264: fix slice_type value reported in decode_slice_header()
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Vittorio Giovara
15210354cf
h264: drop outdated comments
11 years ago
Vittorio Giovara
3a05767028
h264: store current_sps_id inside the current sps
...
In preparation for MVC support.
11 years ago
Vittorio Giovara
73e8fab31d
h264: print values in case of error
...
Also make error style consistent and drop redundant information.
11 years ago
Janne Grunau
f795a8a8bf
h264: make context_count unsigned
...
Removes the bogus but scary looking warning 'libavcodec/h264.c:4529:49:
warning: array subscript is below array bounds [-Warray-bounds]'.
11 years ago