Commit Graph
50 Commits
Author SHA1 Message Date
Jeff Downs 50352827f6 Use AV_R/WN32 instead of direct integer copying.
Fixes decoding on at least Sparc/Solaris where unaligned accesses cause
crashes.
ML thread: http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/91414

Originally committed as revision 18967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 18:59:24 +00:00
Jeff Downs fdb699de62 Fix passing of unaligned addresses to dsputil diff_bytes() by
changeing calls to sub_left_prediction such that
the source frame data pointers are no longer offset to skip the initial
elements. This keeps them properly aligned for the subsequent call to diff_bytes.
Changes encoding offset to compensate.

Mailing list thread:
https://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-May/069952.html

Originally committed as revision 18919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 19:37:01 +00:00
Jeff Downs aa5cfdfb4f Add offset argument to encode_422_bitstream() to control where
in the source data array to start encoding.
Change all calls to pass zero for this new argument for equivalent behavior.

This is a restructure to support a forthcoming bug fix.

Originally committed as revision 18918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 19:30:35 +00:00
Jeff Downs 18c7be6501 Initialize outputed_poc to INT_MIN at decoder initialization.
Fixes issue 560

Originally committed as revision 14428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 13:49:04 +00:00
Jeff Downs e791eb1ed4 And.... Fix another spec reference to be more specific and correct.
Originally committed as revision 14423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 18:38:30 +00:00
Jeff Downs 25f8bceb1c Fix reference to spec to be more specific and correct.
Originally committed as revision 14422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 18:34:34 +00:00
Jeff Downs 591d87babe Cosmetics:
Break long lines.
Correct spelling in comment (duplicatin -> duplicating)

Originally committed as revision 12862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 20:43:37 +00:00
Jeff Downs 52cb7981e2 Redo r12838, this time using svn copy to create h264_i386.h from cabac.h.
Move decode_significance_x86() and decode_significance_8x8_x86() to
i386-specific file from cabac.h.
New file is h264-oriented and only included from h264.c
Resolves compilation when configured with --disable-optimizations due to
decode_significance_8x8_x86 using last_coeff_flag_offset_8x8, which is
only defined in h264.c

Originally committed as revision 12846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 04:40:21 +00:00
Jeff Downs 3aa9ede400 Revert 12838 to redo it the right way (use svn copy to create new
file based on old).

Originally committed as revision 12845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 04:26:52 +00:00
Jeff Downs e6cfd8fffb Move decode_significance_x86() and decode_significance_8x8_x86() to
i386-specific file from cabac.h.
New file is h264-oriented and only included from h264.c
Resolves compilation when configured with --disable-optimizations due to
decode_significance_8x8_x86 using last_coeff_flag_offset_8x8, which is
only defined in h264.c

Originally committed as revision 12838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 13:51:41 +00:00
Jeff Downs 79db7ac6ef Fix memory leak in h264 decoder. allocated_edge_emu_buffer was being allocated
in both mpegvideo and h264 decoder. Fixed by allowing all (master and duplicate)
contexts to fully initialize in MPV_frame_start and copying these into
H264Contexts.

Mailing list discussion:
[FFmpeg-devel] Memory leak in h264
Tue, 22 Jan 2008 15:22:55

Originally committed as revision 11657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-28 21:12:38 +00:00
Jeff Downs 9a1feb8608 Fix brain-dead parts of r11216, specifically:
Actually unreference removed pics
And check for too many reference frames as originally intended, not equal
to max reference frames.

Originally committed as revision 11218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 22:49:30 +00:00
Jeff Downs aeb59e839f Ensure that our total reference frame count does not exceed the SPS
max frame count, which is limited to less than the size of the
reference buffers, thereby preventing overflow.
Part of fix for issue 281.

Originally committed as revision 11216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 06:25:23 +00:00
Jeff Downs 41f7e2d11d Actually return with an error condition if we're being asked to deal with too
many reference frames. Also check max num ref frames against our internal
ref buffer sizes.
Part of fix for roundup issue 281

Originally committed as revision 11215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 05:48:27 +00:00
Jeff Downs 33e0073129 Make h264 decoder conform to requirements of mpegvideo's MPV_frame_start.
Namely, that it should not be called if you are starting to decode a B
frame without any reference pictures.
Prevents an endless allocation cycle in MPV_frame_start that will end in
picture buffer overflow and abort.
Fixes roundup issue 216.

Originally committed as revision 11214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 05:37:23 +00:00
Jeff Downs 36e097bce4 Fix non_zero_count_cache for deblocking in field pictures.
Based on original patch by Martin Zlomek martin.zlomek a email D cz
ffmpeg-devel thread: H264: Fix non_zero_count_cache for deblocking in fields
Fri, 30 Nov 2007 9:58:23

Originally committed as revision 11212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-13 00:50:47 +00:00
Jeff Downs cf653d0811 Initialize function pointers used by error resilience code before any
potential error return from decode_slice_header.

Fixes issue 284.

Originally committed as revision 11168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-05 05:24:54 +00:00
Jeff Downs 28af284cfb When new streams are detected, look for old filters and close them out.
This avoids crashes seen when legitimate streams are found on PID 0x11 instead
of DVB SDT.
Fixes regression detailed in Roundup issue 138.

Originally committed as revision 11050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-17 03:14:43 +00:00
Jeff Downs e240f898ff Call mpegvideo flush routine on h264 flush. Needed in particular
to clear last_picture_ptr, next_picture_ptr for proper picture
management. Prevents crashes in error concealer following seeks.
Fixes Roundup issue 189.

Originally committed as revision 11049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-17 03:04:21 +00:00
Jeff Downs ad426590d8 Fix deblocking filter for field pictures by properly looking for first
row in bottom fields and preventing the use of "fast" deblocking for such.

Originally committed as revision 10950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-07 23:35:48 +00:00
Jeff Downs c0a8500015 Fix poc for field pictures. Prior to this, the poc of the second field
in decoding order would always be assigned to a field pair's poc.

Original thread: H.264: Fix poc for field pairs, 6 Nov 2007 17:41:02

Originally committed as revision 10937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-06 18:48:18 +00:00
Jeff Downs 84a8596d23 Correct assignment of interlaced_frame; was being set on output frames,
in display order, based on decoding information in decoding order. Now
set properly, immediately upon completion of decode.

Based on original patch from Reinhard Nissl,  rnisssl % gmx , de
Original Thread: [FFmpeg-devel] H.264 + PAFF: BBC HD recording shows
extreme interlacing artefacts, Thu, 01 Nov 2007 22:43:09

Originally committed as revision 10931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-05 18:16:42 +00:00
Jeff Downs 3a1d358825 Move setting of key frame flag for intra-only codecs, ignoring key frame
flag of parser for such codecs as intra-only parsers don't set key frame
flag. Corrects lack of key frame marking in mjpeg, possibly others.

Original thread: Key Frame Marking, Fri, 12 Oct 2007 03:35:57

Originally committed as revision 10850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-24 04:54:44 +00:00
Jeff DownsandCarl Eugen Hoyos 2143b11853 Fix chroma mv offsets for PAFF in a way that is compatible with MBAFF by
setting Picture.reference to indicate parity for all Pictures in
reference list.

Patch by Jeff Downs, heydowns T borg O com

Originally committed as revision 10744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-15 22:17:39 +00:00
Jeff DownsandAndreas Öman 0d43dd8c2d Simplify tests for field macroblocks
patch by Jeff Downs, heydowns a borg d com

Originally committed as revision 10721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-13 05:50:11 +00:00
Jeff DownsandCarl Eugen Hoyos 5e832bc28f Interlaced pictures (not just MBAFF) + spatial direct mode is not
implemented.

Patch by Jeff Downs, heydowns . borg @ com
Original thread: Enable PAFF decoding, 2007-10-09 11:04

Originally committed as revision 10714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-12 09:10:07 +00:00
Jeff DownsandAndreas Öman 03d3cab876 fix incorrect check for abs_diff_pic_num overflow
patch by Jeff Downs, heydowns a borg d com

Originally committed as revision 10700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-09 17:45:34 +00:00
Jeff DownsandAndreas Öman 12d96de3ac Manage Picture buffers for fields as well as frames. Pair complementary fields into one MPV Picture.
Part of PAFF implementation.

patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-08 17:44:38 +00:00
Jeff DownsandCarl Eugen Hoyos 5a421d538e Re-indent after PAFF MMCO implementation patch.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-07 23:46:51 +00:00
Jeff DownsandCarl Eugen Hoyos 0ae969faed Augment MMCO execution to work with both fields and frames. Part of PAFF
implementation.

patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-07 23:32:42 +00:00
Jeff DownsandAndreas Öman d3d8c02b78 Cosmetic renaming variable so that it makes more sense for forthcoming PAFF mmco patches.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:50:55 +00:00
Jeff DownsandAndreas Öman 12a09bfa39 Augment mmcodecoding process to work properly with fields. Part of PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:49:13 +00:00
Jeff DownsandAndreas Öman 8a11a96987 Edge emulation for fields. Part of PAFF implementation
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:47:02 +00:00
Jeff DownsandAndreas Öman fa178ed2a4 Set Picture.poc for fields and field pairs. Part of PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:44:58 +00:00
Jeff DownsandAndreas Öman f3e53d9fcd Modifies macroblock addressing and current macroblock y-position for field decoding.
Adds convenience definition for pictures that are field or mbaff based. Part of PAFF implementation.

patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 05:59:14 +00:00
Jeff DownsandAndreas Öman 949da388de Support function and changes to reference picture reordering for PAFF.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-05 13:54:11 +00:00
Jeff DownsandAndreas Öman 086acdd54b Reindent fill_default_ref_list after changes for PAFF
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-05 13:47:46 +00:00
Jeff DownsandAndreas Öman 11cc1d8c12 Support functions and changes to default reference list creation for PAFF.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-05 13:41:27 +00:00
Jeff DownsandAndreas Öman 24231e4cf6 Reorganize long reference management to minimize code duplication in upcoming PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:53:12 +00:00
Jeff DownsandAndreas Öman 3a22d7fa1f Fix Picture.key_frame setting to be compatible with frame and field contexts. Part of PAFF implementation.
Contributed in part by Neil Brown.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:50:44 +00:00
Jeff DownsandAndreas Öman f57e2af68b Fix h->curr_pic_num for field pictures. Necessary for proper PAFF support.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:43:58 +00:00
Jeff DownsandAndreas Öman c58b747153 Rename variable to make sense in both field and frame contexts (support of PAFF implementation).
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:41:49 +00:00
Jeff DownsandAndreas Öman 47e112f872 Further modularize short reference list management for upcoming PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:38:58 +00:00
Jeff DownsandAndreas Öman 5a7b254c75 Re-indent unreference_pic.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:37:04 +00:00
Jeff DownsandAndreas Öman 8fd57a667b Modify unreference_pic implementation with PAFF in mind.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:35:46 +00:00
Jeff DownsandAndreas Öman bbb3edb827 Partial PAFF implementation at macroblock level.
PAFF support disabled until implementation complete.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:33:26 +00:00
Jeff DownsandAndreas Öman 0d0447eae0 Rename MMCO stuff to prepare for h264/PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 14:35:20 +00:00
Jeff DownsandAndreas Öman bcc3476c98 Cosmetic preparations for h264/PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 14:25:47 +00:00
Jeff DownsandAndreas Öman 2ddcf84bb7 h264/PAFF preparation: use DELAYED_PIC_REF to mark non-refs frames as held for delayed output
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-26 13:28:13 +00:00
Jeff DownsandBenoit Fouet 088ed4d636 Avoid a crash when H264 MMC operation causes the short term reference
list to be emptied.
Patch by Jeff Downs: [heydowns borg com]

Originally committed as revision 10416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 20:04:09 +00:00