Mark Thompson
892bbbcdc1
vaapi_encode: Check packed header capabilities
...
This improves behaviour with drivers which do not support packed
headers, such as AMD VCE on mesa/gallium.
2016-09-28 22:54:11 +01:00
Mark Thompson
80a5d05108
vaapi_encode: Refactor initialisation
...
This allows better checking of capabilities and will make it easier
to add more functionality later.
It also commonises some duplicated code around rate control setup
and adds more comments explaining the internals.
2016-09-28 22:54:10 +01:00
Mark Thompson
3a9662af6c
vaapi_h264: Fix HRD bit_rate/cpb_size scaling
...
There should be an extra offset of 6 on bit_rate_scale and of 4 on
cpb_size_scale which were not accounted for here.
2016-09-14 20:48:36 +01:00
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.
2016-06-21 11:17:28 +02:00
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.
2016-06-21 11:12:41 +02:00
Anton Khirnov
9df889a5f1
h264: rename h264.[ch] to h264dec.[ch]
...
This is more consistent with the naming of other decoders.
2016-06-21 11:11:26 +02:00
Mark Thompson
02fa1ad926
vaapi_h264: Add source version identifier as unregistered SEI
...
Contains the libavcodec version, the VAAPI version and the libva
driver vendor string.
2016-06-09 21:15:39 +01:00
Mark Thompson
48e2967cd5
vaapi_h264: Add support for SEI messages
...
Send buffering_period and pic_timing messages when in modes
targetting bitrate. Also adds NAL HRD parameters to VUI.
2016-06-09 21:15:39 +01:00
Mark Thompson
081961f819
vaapi_h264: Add support for VUI parameters
...
Supports aspect ratio, colour format and timing information.
2016-06-09 21:15:39 +01:00
Mark Thompson
a86aa16088
vaapi_h264: Add trivial support for low-power encoding
...
Experimental; requires Skylake and VAAPI 0.39.1 (not yet released).
Also increases the allowed range of the quality option - in low-power
mode, the Intel driver supports levels 1-8 (and 0 meaning default).
2016-05-27 10:57:00 +01:00
Mark Thompson
b51c7c6b8a
vaapi_h264: Fix frame_num after non-reference frames
...
Non-reference frames (nal_ref_idc == 0) should be discardable, so
frame_num does not advance after them. Before this change, a stream
containing unreferenced B-frames would be rejected by the reference
decoder.
2016-05-27 10:56:55 +01:00
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Mark Thompson
fcf536b130
vaapi_h264: Add encode quality option (for quality-speed tradeoff)
...
Only supported on VAAPI 0.36 and higher.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-15 10:07:05 +02:00
Mark Thompson
9629701ce9
vaapi_h264: Add -qp option, use it to replace use of -global_quality
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-15 10:07:05 +02:00
Mark Thompson
6e8f66fc93
vaapi_h264: Add constant-bitrate encode support
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-15 10:07:05 +02:00
Mark Thompson
f6b8552369
vaapi_encode: Refactor slightly to allow easier setting of global options
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-15 10:07:04 +02:00
Mark Thompson
2c62fcdf5d
lavc: VAAPI H.264 encoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-30 09:10:26 +02:00