Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
WIP fix conflict
Main changes: - a local GetBitContext is created for the various ff_h264_decode_seq_parameter_set() attempts - just like the old code, remove_sps() is adjusted so it doesn't remove the pps. Fixes decode with Ticket #631 http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20111108/dae58f17/attachment.mp4 TODO: It still requires -flags2 +chunks though, which wasn't needed previously. - keep {sps,pps}_ref pointers that stay alive even when the active pps/sps get removed from the available lists (patch by michaelni with additionnal frees in ff_h264_free_context() from mateo) - added a check on sps in avpriv_h264_has_num_reorder_frames() to fix crashes with mpegts_with_dvbsubs.ts from Ticket #4074 http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4074/mpegts_with_dvbsubs.ts - in h264_parser.c:h264_parse(), after the ff_h264_decode_extradata() is called, the pps and sps from the local parser context are updated with the pps and sps from the used h264context. This fixes fate-flv-demux. TODO: fixes #631 so it works without -flags2 +chunk TODO: http://samples.ffmpeg.org/MPEG-VOB/transport/issue2.ts the following data changes: ./ffmpeg -fdebug +ts -i issue2.ts -vframes 12 -f null - 2>&1 | egrep 'read_frame_internal stream=' | sed 's/@.*]//' also some flags and dts are lost. TODO: squash in merge commit
- Loading branch information
Showing
with
235 additions
and 754 deletions.
- +2 −11 libavcodec/dxva2_h264.c
- +20 −73 libavcodec/h264.c
- +8 −35 libavcodec/h264.h
- +1 −27 libavcodec/h264_cavlc.c
- +0 −10 libavcodec/h264_loopfilter.c
- +1 −6 libavcodec/h264_mb.c
- +2 −13 libavcodec/h264_mb_template.c
- +28 −37 libavcodec/h264_parser.c
- +52 −219 libavcodec/h264_ps.c
- +9 −20 libavcodec/h264_refs.c
- +6 −17 libavcodec/h264_sei.c
- +74 −229 libavcodec/h264_slice.c
- +1 −26 libavcodec/vaapi_h264.c
- +24 −24 libavcodec/vdpau.c
- +7 −7 libavcodec/videotoolbox.c
Oops, something went wrong.