Anton Khirnov
89ae244e78
h264_refs: remove an unused parameter from ff_h264_fill_mbaff_ref_list()
2016-04-24 10:06:24 +02:00
Anton Khirnov
755f79f84c
h264_refs: make the H264Context const where possible
2016-04-24 10:06:24 +02:00
Anton Khirnov
a2fd547839
h264_refs: reorder functions to avoid forward declarations
2016-04-24 10:06:24 +02:00
Anton Khirnov
0ba471d7d8
h264: eliminate copy_fields
...
It is very fragile against fields being moved and hides what is actually
being copied. Copy all the fields explicitly instead.
2016-04-24 10:06:24 +02:00
Anton Khirnov
72da8d9bb2
h264_parser: remove the remaining dependencies on the h264 decoder
2016-04-24 10:06:24 +02:00
Anton Khirnov
98c97994c5
h264: decouple extradata parsing from the decoder
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
728d90a0c1
h264: decouple h264_sei from the h264 decoder
...
Make the SEI parsing independent of the H264Context, to allow
decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
c8dcff0cdb
h264: factor out calculating the POC count into a separate file
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
113aeee6ae
h264_parser: move the H264DSPContext to the parser context
2016-04-24 10:06:24 +02:00
Anton Khirnov
3176217c60
h264: decouple h264_ps from the h264 decoder
...
Make the SPS/PPS parsing independent of the H264Context, to allow
decoupling the parser from the decoder. The change is modelled after the
one done earlier for HEVC.
Move the dequant buffers to the PPS to avoid complex checks whether they
changed and an expensive copy for frame threads.
2016-04-24 10:06:23 +02:00
Anton Khirnov
44d16df413
h264_parser: eliminate H264SliceContext usage
...
It is no longer needed for anything.
2016-04-24 10:06:23 +02:00
Anton Khirnov
71d3305c27
h264_parse: make sure the ref count is zeroed on all failure paths
2016-04-24 10:06:23 +02:00
Anton Khirnov
a6e27f7add
h264: factor out parsing the reference count into a separate file
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:23 +02:00
Anton Khirnov
56b17a33f2
h264: stop testing whether the reference count changes in ff_set_ref_count()
...
It is no longer necessary after 741b494fa8
2016-04-24 10:06:23 +02:00
Anton Khirnov
e9f884416c
h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()
...
It has nothing to do with the reference count and so does not belong in
this function.
2016-04-24 10:06:23 +02:00
Anton Khirnov
8d0cc8ca97
h264_parser: switch to h2645_parse for NAL unescaping
...
Remove now unused ff_h264_decode_nal().
2016-04-24 10:06:23 +02:00
Anton Khirnov
f3ed484953
h264_mp4toannexb_bsf: do not fail on annex B extradata
...
Just pass through the bitstream as is. This is the same as what is done
for HEVC already.
2016-04-24 10:06:23 +02:00
Vittorio Giovara
5fca95c8e5
libx264: Forbid inverted Stereo3D mode
2016-04-21 12:25:42 -04:00
Vittorio Giovara
9e2af0e907
libx264: Allow Stereo3D monoscopic value
2016-04-21 12:24:35 -04:00
Diego Biurrun
a08b5d7b57
build: Silence the lcov-reset target
2016-04-21 14:29:43 +02:00
Martin Storsjö
75b90ef722
libavformat: Update the comment about AVOutputFormat flags
...
Add a flag which applies here, which had been missed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-21 11:20:46 +03:00
Martin Storsjö
74383def8f
movenc: Handle pts == NOPTS when autoflushing
...
This muxer generally handles pts == NOPTS by using dts instead;
do this for consistency here as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-21 11:20:39 +03:00
Martin Storsjö
0abb07bad7
movenc: Update a comment to reflect how the code actually behaves
...
This codepath isn't quite as bad as it used to sound, if fragments
are cut automatically at video packets.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-19 22:43:00 +03:00
Luca Barbato
79fdbfdb3e
img2enc: Refactor the atomic renaming code
...
And use it for the separate-plane side-feature as well.
Bug-Id: 935
2016-04-19 20:30:48 +02:00
Luca Barbato
f3fdef108e
ape: Avoid undefined behaviour
...
Avoid the clang warning
"warning: shifting a negative signed value is undefined"
2016-04-19 20:22:31 +02:00
Luca Barbato
6b2ad3ca48
indeo3: Avoid undefined behaviour
...
Avoid the clang warning
"warning: shifting a negative signed value is undefined"
2016-04-19 19:00:41 +02:00
Derek Buitenhuis
eae2ebded3
libxvid: Create extradata in init using a dummy frame
...
Modifying global header extradata in encode_frame is an API violation
and only happens to work currently because mov writes its header
at the end of the file.
Heavily based off of a patch from 2012 by Nicolas George.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-04-19 19:00:41 +02:00
Thomas Guillem
785bfb1d7b
pixfmt: fix wrong comment
...
The h264/hevc Annex E colour primaries table says that AVCOL_SPC_SMPTE170M is
similar than AVCOL_SPC_SMPTE240M. These two values are not similar than
AVCOL_SPC_BT470BG.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-19 13:38:29 +02:00
Anton Khirnov
06edef3d5e
Generate the lists of enabled protocols/bsfs from configure.
2016-04-19 13:34:07 +02:00
Anton Khirnov
a0f469da74
hwcontext: initialize sw_format in av_hwframe_ctx_alloc()
2016-04-15 10:15:54 +02:00
Anton Khirnov
5e1a3ea3ba
lavc: move the vaapi encoders further down in the list of codecs
...
Right now they are the first encoders for those codecs in the list, so
they are selected when the caller requests a codec by id.
Since they require special treatment, they should not be selected by
default if there are other encoders (e.g. libx264/5) available.
2016-04-15 10:10:57 +02:00
Mark Thompson
92fdea3747
vaapi_h265: 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
f70e462793
vaapi_h265: Add constant-bitrate encode support
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-15 10:07:05 +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
69b06ed428
vaapi_encode: Add support for codec-local options
...
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
Anton Khirnov
18019f8cb9
FATE: add an H.264 test with unescaped extradata
...
See commit a7829a2
2016-04-15 10:06:39 +02:00
Anton Khirnov
d7abe900c3
FATE: add an H.264 test with invalid reference lists
...
See commit 9d74012
2016-04-15 10:04:52 +02:00
Martin Storsjö
9d4d9be538
libavcodec: Document that encoders may use the framerate field in AVCodecContext
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-12 14:20:25 +03:00
Martin Storsjö
1bb56abb9b
omx: Add support for zerocopy input of frames
...
This can only be used if the input data happens to be laid out
exactly correctly.
This might not be supported on all encoders, so only enable it
with an option, but enable it automatically on raspberry pi,
where it is known to be supported.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-12 13:51:01 +03:00
Martin Storsjö
f1cd9b03f3
omx: Add support for broadcom OMX on raspberry pi
...
The raspberry pi uses the alternative API/ABI for OMX; this makes
such builds incompatible with all the normal OpenMAX implementations.
Since this can't easily be detected at configure time (one can
build for raspberry pi's OMX just fine using the generic, pristine
Khronos OpenMAX IL headers, no need for their own extensions),
require a separate configure switch for it instead.
The broadcom host library can't be unloaded once loaded and started;
the deinit function that it provides is a no-op, and after started,
it has got background threads running, so dlclosing it makes it
crash.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-12 13:50:59 +03:00
Martin Storsjö
e8919ec486
libavcodec: Add H264/MPEG4 encoders based on OpenMAX IL
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-12 13:50:57 +03:00
Martin Storsjö
b8e899f4bf
mmaldec: Use imgutils.h for copying frames
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-12 13:50:54 +03:00
Martin Storsjö
798845ce7e
testprogs: Add missing libm.h includes
...
This fixes building on MSVC 2010 and 2012 after d12b5b2f13
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-11 14:48:24 +03:00
Diego Biurrun
d12b5b2f13
build: Split test programs off into separate files
...
This avoids spurious library rebuilds when only the test program
code is changed and simplifies the build system.
2016-04-07 16:14:42 +02:00
Diego Biurrun
330177b508
build: Group declarations for hw-accelerated de-/encoding separately
2016-04-07 15:26:08 +02:00
Diego Biurrun
01621202aa
build: miscellaneous cosmetics
...
Restore alphabetical order in lists, break overly long lines, do some
prettyprinting, add some explanatory section comments, group parts
together that belong together logically.
2016-04-07 15:26:08 +02:00
Diego Biurrun
e656a6ccd9
configure: cosmetics: Drop pointless end-of-line semicolons
2016-04-07 15:23:21 +02:00