Clément Bœsch
4a081f224e
libavcodec: fix constness in clobber test avcodec_open2() wrappers
...
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Martin Storsjö
0c9c4004ed
omx: Don't return > 0 from omx_encode_frame
...
The encode function is supposed to just return 0 on success.
This stems from a mixup with the return value of decode functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Martin Storsjö
31aa5335c3
libopenh264enc: Fix inconsistent whitespace
...
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Diego Biurrun
4f98bb7b6d
msmpeg4: Remove commented-out debug logging code
9 years ago
Diego Biurrun
eedbeb4c27
msmpeg4: Remove some broken, commented-out cruft
9 years ago
Diego Biurrun
3c84eaae9d
h264: Eliminate unused but set variable
...
libavcodec/h264_slice.c:1384:9: warning: variable 'droppable' set but not used
9 years ago
Mark Thompson
11b8030309
vaapi_encode: Fix fallback when input does not match any format
...
Just a typo. Add a comment to make it clearer what it's doing.
9 years ago
Martin Storsjö
8c3c7b8920
dxva2_h264: Remove an unused variable
...
This was introduced by mistake in 39cdbb12aa
(only one of the
added variables were really needed).
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Anton Khirnov
32c8359093
lavc: export the timestamps when decoding in AVFrame.pts
...
Currently it's exported as AVFrame.pkt_pts, which is also the only use
for that field. The reason it is done like this is that lavc used to
export various codec-specific "timing" information in AVFrame.pts, which
is not done anymore.
Since it is confusing to the callers to have a separate field which is
used only for decoder timestamps and nothing else, deprecate pkt_pts and
use just AVFrame.pts everywhere.
9 years ago
Anton Khirnov
ad9c9440d5
qsvenc: support getting the session from an AVHWFramesContext
9 years ago
Anton Khirnov
a0524d9b1e
qsvdec: support getting the session from an AVHWFramesContext
9 years ago
Anton Khirnov
6f19bbcf85
qsvdec: move reading the user-provided session to qsv_decode_init()
...
This is a more appropriate place for it.
9 years ago
Anton Khirnov
e85f6f7f8d
lavc: allow using AVCodecContext.hw_frames_ctx for decoding
...
For now it will only be used by the default get_buffer2 callback for
allocating hw frames.
9 years ago
Vittorio Giovara
40dd5166d2
truemotion2rt: Use ff_set_dimensions
9 years ago
Vittorio Giovara
a816432337
pixdesc: Add new SMPTE 431, 432, and 2085 color properties
...
Appeared in H.264 2016/02.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Neil Birkbeck
5d560d38de
pixfmt: Add ARIB STD-B76 color transfer characteristic
...
Adding hybrid log-gamma (https://en.wikipedia.org/wiki/Hybrid_Log-Gamma )
based on the standardization in ARIB STD-B67:
http://www.arib.or.jp/english/html/overview/doc/2-STD-B67v1_0.pdf
The choice of enum value of 18 is consistent with HEVC:
http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=10481
And also with latest proposal for color format in mkv:
https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Anton Khirnov
58640fe89e
h264: handle frame recovery in h264_field_start()
...
This is a more appropriate place for this. H264Context.recovery_frame is
shared between frame threads, so modifying it where it is right now is
invalid.
9 years ago
Anton Khirnov
e26c64148b
h264: discard slices of redundant pictures right after parsing the slice header
...
Going through the whole decoder initialization process for a slice we
are not going to decode is unnecessary and potentially dangerous.
9 years ago
Anton Khirnov
6efc463858
h264: always set redundant_pic_count during slice header parsing
...
It is always checked in the surrounding code, so this make sure we don't
see a value from an old slice.
9 years ago
Anton Khirnov
606fb6c032
h264: call the hwaccel frame_start() from h264_field_start()
...
This is a more appropriate place for it.
9 years ago
Anton Khirnov
d1d7678040
h264: fix the check for mixed IDR/non-IDR slices
9 years ago
Anton Khirnov
b13fc1e344
h264: do not pass H264Context to h264_slice_header_parse()
...
This should make it more clear that this function does not need any
decoder-global state other than the parameter sets.
9 years ago
Anton Khirnov
996f13413b
h264: fix warnings in fill_filter_caches_inter()
...
The code does some weird casting to a 2-dimensional sub-array of
ref2frm. This is not necessary, since only one dimension is needed
there.
9 years ago
Anton Khirnov
bc7f426851
h264: drop tests whether the codec id is AV_CODEC_ID_H264
...
Those are unused remnants of the old SVQ3 code.
9 years ago
Anton Khirnov
8281cd5cb8
h264_cabac: drop an always true condition
9 years ago
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
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
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
Jerome Martinez
ec9f04423b
ffv1: Error out on unsupported format
...
Transparency is supported only by YUV and within specific bit depths.
9 years ago
Vittorio Giovara
187d719760
h264: Support AV_PKT_DATA_NEW_EXTRADATA
9 years ago
Vittorio Giovara
75872d77d2
lavc: Document AV_PKT_DATA_NEW_EXTRADATA
9 years ago
Martin Storsjö
f1a9eee41c
x86: Add missing movsxd for the int stride parameter
...
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Diego Biurrun
84b2d3fb68
h264: Drop unused function check_opcodes()
9 years ago
Vittorio Giovara
05a4bacbf7
avpacket: Error out when creating 0-sized side data
...
This mimics the behaviour of other av_*_new_side_data().
This is not caught by the malloc check, since padding
is always added to the allocated size.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago