summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
* avcodec/h264: use AV_OPT_TYPE_BOOL for is_avc optionClément Bœsch2015-09-12
|
* lavc: move vdpau decoders under FF_API_VDPAU.wm42015-08-18
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU.Ronald S. Bultje2015-08-18
|
* FF_OPT_TYPE_* -> AV_OPT_TYPE_*.Ronald S. Bultje2015-08-18
|
* lavc: propagate hwaccel errorswm42015-08-06
| | | | | | | | At least the new videotoolbox decoder does not actually set a frame if end_frame fails. This causes the API to return success and signals that a picture was decoded, even though AVFrame->data[0] is NULL. Fix this by propagating end_frame errors.
* Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | | | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'b0017579b6e8de3d0d13dcfe0a4dd848dc6baa37'Michael Niedermayer2015-07-17
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * h264: Add support for Closed Caption exportKieran Kunhya2015-07-17
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | lavc: Add properties field to AVCodecContext.Carl Eugen Hoyos2015-07-16
| | | | | | | | The new field can hold information about losslessness and closed captions for now.
* | avcodec: Add support for Closed Caption export in h264Kieran Kunhya2015-07-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '271ce76d317c5432e151216cf23f12b77ed6cb7e'Michael Niedermayer2015-06-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * h264: Parse registered data SEI message and AFD valueVittorio Giovara2015-06-30
| | | | | | | | | | | | Partially based on code by Marton Balint and Kieran Kunhya. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa'Michael Niedermayer2015-06-27
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * h264: do not update the context fields copied between threads after ↵Anton Khirnov2015-06-27
| | | | | | | | | | | | finish_setup() Should fix a large number of possible races with frame threading.
* | avcodec: Add support for per-frame AFD output in h264Kieran Kunhya2015-06-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: update avctx width/height/pix_fmt when returning frameAndreas Cadhalpun2015-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | avcodec/vdpau: Re-factor pre-hwaccel helper functions into separate headerPhilip Langdale2015-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | h264.h and hevc.h are mutually exclusive due to defining some of the same names. As such, we need to avoid forcing h264.h to be included if we want hevc decode acceleration to be possible. However, some of the pre-hwaccel helper functions need h264.h. To avoid messy collisions, let's move the declaration of all those helpers to a separate header which we will exclude for the hevc support (which will be hwaccel-only). Signed-off-by: Philip Langdale <philipl@overt.org>
* | avcodec/h264: Remove failure on data partitioningMichael Niedermayer2015-05-01
| | | | | | | | | | | | decode all NAL units instead Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * h264: use properly allocated AVFramesAnton Khirnov2015-04-29
| |
* | Merge commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | | | | | | | * commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819': h264: embed the DPB in the context Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: embed the DPB in the contextAnton Khirnov2015-04-29
| | | | | | | | | | It now has a fixed size and is initialized only once, so there is no point in allocating it separately.
* | Merge commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | * commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9': h264: drop a comment that carries no useful information Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: drop a comment that carries no useful informationAnton Khirnov2015-04-29
| |
* | Merge commit '11f024ef0ab923ed8680fc35a087d576e549c849'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | * commit '11f024ef0ab923ed8680fc35a087d576e549c849': h264: move freeing the escaped RBSP buffer to free_context() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move freeing the escaped RBSP buffer to free_context()Anton Khirnov2015-04-29
| | | | | | | | | | 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.
* | Merge commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * h264: eliminate ff_h264_set_parameter_from_sps()Anton Khirnov2015-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | | | | | | | * commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7': h264: move the DPB init/uninit to init_context()/free_context() Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move the DPB init/uninit to init_context()/free_context()Anton Khirnov2015-04-29
| | | | | | | | | | | | | | | | | | | | Currently, the DPB is initialized in alloc_tables() and uninitialized in free_tables(), but those functions manage frame size-dependent variables, so DPB management does not logically belong in there. Since we want the init/uninit to happen exactly once per the context lifetime, init_context()/free_context() are the proper place for this code.
* | Merge commit '9d33bab583a82cf12286c65258a29c6888e1ff98'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | | | | | | | * commit '9d33bab583a82cf12286c65258a29c6888e1ff98': h264: drop H264Context.ouputed_poc Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: drop H264Context.ouputed_pocAnton Khirnov2015-04-29
| | | | | | | | It is only set, but never used for anything.
* | Merge commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | * commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3': h264: drop needs_realloc Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: drop needs_reallocAnton Khirnov2015-04-29
| | | | | | | | It is not needed anymore since switching to refcounted frames.
* | avcodec: use av_mod_uintp2() where usefulJames Almer2015-04-21
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-19
| |
* | avcodec/h264: Do not fail with randomly truncated VUIsMichael Niedermayer2015-04-10
| | | | | | | | | | | | | | Fixes Ticket4445 Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Use only one ERContextMichael Niedermayer2015-04-09
| | | | | | | | | | | | This fixes slice threads with error concealment Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Be more tolerant to changing pps id between slicesMichael Niedermayer2015-04-09
| | | | | | | | | | | | Fixes Ticket4446 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: finish previous slices before switching to single thread modeMichael Niedermayer2015-04-07
| | | | | | | | | | | | | | Fixes null pointer dereference Fixes Ticket4438 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'bd737b5178f361a9b592691848f29a7a79603a7e'Michael Niedermayer2015-04-05
|\| | | | | | | | | | | | | * commit 'bd737b5178f361a9b592691848f29a7a79603a7e': h264: reset the private data in init_thread_copy() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: reset the private data in init_thread_copy()Anton Khirnov2015-04-05
| | | | | | | | | | | | | | | | | | | | | | The generic code copies the main context's private data to all the others. However that is quite dangerous, as it might end up copying some pointers that are or will become invalid. Since everything we actually need will be copied later in update_thread_context(), it's safest to zero the private data in init_thread_copy(), so it works the same way as init for the main context.
* | Merge commit 'a939e5b2527d0c4628815b1d3d8e29ee921227e8'Michael Niedermayer2015-04-05
|\| | | | | | | | | | | | | * commit 'a939e5b2527d0c4628815b1d3d8e29ee921227e8': h264: remove a commented out nonsense line Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: remove a commented out nonsense lineAnton Khirnov2015-04-05
| |