Age | Commit message (Collapse) | Author |
|
* commit 'd15368ee3926152a3a301c13cc638fbf7a062ddf':
h264: Run VLC init under pthread_once
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
This makes the h.264 decoder threadsafe to initialize.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
We assume an upper bound of 4096 bytes for each raw SPS/PPS. It's hard
to determine an exact maximum size, but this value was was considered
high enough and safe.
Needed for the following VideotoolBox commit.
|
|
* commit '0f562f5b833d603e04123d198c59f8b2b5eb43e4':
h264: Do not print an error when the buffer has to be refilled
Conflicts:
libavcodec/h264.c
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
* commit '9469370fb32679352e66826daf77bdd2e6f067b5':
h264: Use AVERROR return codes instead of -1
Only partially merged, as the first hunk is not correct and would result
in endless log spam.
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
* commit 'b0017579b6e8de3d0d13dcfe0a4dd848dc6baa37':
h264: Add support for Closed Caption export
Conflicts:
libavcodec/h264.c
libavcodec/h264_sei.c
See: 8234f0e3b485811d60c228c40a94a141c46e61ca
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '271ce76d317c5432e151216cf23f12b77ed6cb7e':
h264: Parse registered data SEI message and AFD value
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_sei.c
libavcodec/version.h
See: d6e95669496a89d186f923c34bcaf7d86b7cd59c
See: 22291c372fa703242e8429bed61700ba81258f19
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Partially based on code by Marton Balint and Kieran Kunhya.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
* commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa':
h264: do not update the context fields copied between threads after finish_setup()
Conflicts:
libavcodec/h264.h
libavcodec/h264_slice.c
See: f111831ed61103f9fa8fdda41473a23da016bdaa and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'e49e0f58e273237f83b4486f3536931ed1943d18':
h264: make sure the slices do not overlap during slice threading
Conflicts:
libavcodec/h264.h
libavcodec/h264_slice.c
See: 43b434210e597d484aef57c4139c3126d22b7e2b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
finish_setup()
Should fix a large number of possible races with frame threading.
|
|
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
CC: libav-stable@libav.org
Found-by: Kieran Kunhya <kierank@obe.tv>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Inconsistencies between the dimensions/pixel format of avctx and the
frame can confuse API users.
For example this can crash the demuxing_decoding example.
Back up the previous values and restore them, when decoding the next
frame. This is necessary, because these can be different between the
returned frame and the last decoded frame.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
|
|
* commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6':
h264: use properly allocated AVFrames
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_refs.c
libavcodec/h264_slice.c
libavcodec/svq3.c
libavcodec/vda_h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819':
h264: embed the DPB in the context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '11f024ef0ab923ed8680fc35a087d576e549c849':
h264: move freeing the escaped RBSP buffer to free_context()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6':
h264: eliminate ff_h264_set_parameter_from_sps()
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '9d33bab583a82cf12286c65258a29c6888e1ff98':
h264: drop H264Context.ouputed_poc
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3':
h264: drop needs_realloc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
It now has a fixed size and is initialized only once, so there is no
point in allocating it separately.
|
|
It does not logically belong in free_tables(), since it's not allocated
in alloc_tables() and its size has nothing to do with the frame size.
|
|
That function currently does two things -- reinitializing the DSP
contexts and setting low_delay based on the SPS values.
The former more appropriately belongs in h264_slice_header_init(), while
the latter only really makes sense in decode_slice_header().
The third call to ff_h264_set_parameter_from_sps(), done immediately
after parsing a new SPS, appears to serve no useful purpose, so it is
just dropped.
Also, drop now unneeded H264Context.cur_chroma_format_idc.
|
|
It is only set, but never used for anything.
|
|
It is not needed anymore since switching to refcounted frames.
|
|
* commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25':
lavc: Replace av_dlog and tprintf with internal macros
Conflicts:
libavcodec/aacdec.c
libavcodec/audio_frame_queue.c
libavcodec/bitstream.c
libavcodec/dcadec.c
libavcodec/dnxhddec.c
libavcodec/dvbsubdec.c
libavcodec/dvdec.c
libavcodec/dvdsubdec.c
libavcodec/get_bits.h
libavcodec/gifdec.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_refs.c
libavcodec/imc.c
libavcodec/interplayvideo.c
libavcodec/jpeglsdec.c
libavcodec/libopencore-amr.c
libavcodec/mjpegdec.c
libavcodec/mpeg12dec.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_parser.c
libavcodec/pngdec.c
libavcodec/ratecontrol.c
libavcodec/rv10.c
libavcodec/svq1dec.c
libavcodec/vqavideo.c
libavcodec/wmadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
Fixes Ticket4445
Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Fixes non deterministic crash in ticket4408/fuzz2.264
Likely fixes other samples as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'a4d34e218f548d381e09c483e8dc6ad18a8d571c':
h264: disable ER by default
Conflicts:
libavcodec/h264.c
libavcodec/h264_picture.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
The way it is currently designed is fundamentally unsafe and cannot be
reasonably fixed without completely rewriting it.
|
|
Fixes assertion failure
Fixes: f12c79769501ee471a5c731b8304ffcb/signal_sigabrt_7ffff6ac8cc9_3766_cov_4267830138_undemuxable_h264.ts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'c28ed1d743443e783537d279ae721be3bbdf7646':
h264: move [uv]linesize to the per-slice context
Conflicts:
libavcodec/h264_mb.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3':
h264: use a smaller struct for the ref lists
Conflicts:
libavcodec/h264_direct.c
libavcodec/h264_mb.c
libavcodec/h264_picture.c
libavcodec/h264_refs.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '5bf3c0fa49afd5bbf43aa841ff78007d72c80736':
h264: drop the now unused per-slice H264Contexts
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '51d8725a6e4c7f989d6f0f38b59cb54a2d72846c':
h264: use the main H264Context as the parent for all slice contexts
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '3178f4d33ff62243f7cdddb081db516ea34396c9':
h264: move rbsp_buffer into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_parser.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '582683b6ac798ed2a004a4e2121b7bd47892bbfd':
h264: move remaining ER stuff into the per-slice context
Conflicts:
libavcodec/h264.h
libavcodec/h264_picture.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'c377e04d8aa74d030672e9a4788a700b0695fc14':
h264: move top_borders into the per-slice context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '36d04801ba9d8622c2d759c172aea18561bac74d':
h264: move the scratch buffers into the per-slice context
Conflicts:
libavcodec/h264.h
libavcodec/h264_slice.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '34d4c605e9a5116d5289b35633ade5b01cacab24':
h264_loopfilter: constify all uses of H264Context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '7505c8dfba255f8e6c6dbb574d0cec91da16f24d':
h264_cavlc: constify all uses of H264Context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'ba7e165b864d69da4f0c79ec7757cb351535002f':
h264_cabac: constify all uses of H264Context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '5c4b98de4d101ea715ef86847306a510afd0db0c':
h264.c: constify all uses of H264Context in slice and lower-level functions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|