Anton Khirnov
e065279529
h264: remove an artificial restriction on the number of slice threads
...
This limit is now unnecessary, we can easily support an arbitrary number
of threads.
2016-04-24 10:06:25 +02:00
Anton Khirnov
4fd34e639d
h264: remove pointless setting of some variables in loop_filter
...
Those should already be set to the correct values.
2016-04-24 10:06:25 +02:00
Anton Khirnov
9c858ce33f
h264: remove a pointless comment
2016-04-24 10:06:25 +02:00
Anton Khirnov
b77fffa127
h264: make slice threading work with deblocking_filter=1
...
In such a case, decode the MBs in parallel without the loop filter, then
execute the filter serially.
The ref2frm array was previously moved to H264SliceContext. That was
incorrect, since it applies to all the slices and should properly be in
H264Context (it did not actually break decoding, since this distinction
only becomes relevant with slice threading and deblocking_filter=1,
which was not implemented before this commit). The ref2frm array is thus
moved back to H264Context.
2016-04-24 10:06:25 +02:00
Anton Khirnov
370ddc7b38
h264: remove H264Context.pict_type
...
It is not used for anything internally, just exported in the output
frames. So remove the indirection and set it directly in frame_start().
2016-04-24 10:06:25 +02:00
Anton Khirnov
56087ec0a2
h264: drop a pointless indirection
2016-04-24 10:06:25 +02:00
Anton Khirnov
0e7772c5e4
h264: remove unused H264SliceContext.rbsp_buffer
2016-04-24 10:06:25 +02:00
Anton Khirnov
7f045c4429
h264: merge ff_h264_free_context() into h264_decode_end()
...
It is no longer called from outside the h264 decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
99c554efc8
h264: eliminate low_delay
...
It is always unconditionally initialized in decode_postinit() and then
immediately used in one place further below. All the other places where
it is accessed are just useless fluff.
2016-04-24 10:06:24 +02:00
Anton Khirnov
5b35b290dd
h264: remove a stale comment
...
This comment used to apply to code that was removed.
2016-04-24 10:06:24 +02:00
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