Commit Graph

810 Commits

Author SHA1 Message Date
Michael Niedermayer
3a75616940 Deobfusate chroma_qp_table[1] init code.
Originally committed as revision 14334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 11:56:56 +00:00
Carl Eugen Hoyos
6aaff88fd9 Revert r13542: Spatial direct mode probably also works with PAFF.
Originally committed as revision 14332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 22:46:47 +00:00
Michael Niedermayer
c32867b5b6 Loop filtering with multiple slice types fix.
Fixes at least:
CABAST3_Sony_E.jsv
CABASTBR3_Sony_A.jsv
CABASTBR3_Sony_B.jsv

Originally committed as revision 14331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 22:19:06 +00:00
Michael Niedermayer
9f5c1037b1 Use slice_type_nos instead of slice_type where it makes no difference.
This way we use slice_type_nos almost everywhere which means 1 variable less
for gcc to put in a register.

Originally committed as revision 14326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 19:11:41 +00:00
Michael Niedermayer
4b30289ec9 SI/SP slice support. (not bitexact)
SI untested as I did not find any samples.

Originally committed as revision 14325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:44:57 +00:00
Michael Niedermayer
932f396f50 Remove superfluous ().
Originally committed as revision 14324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:26:11 +00:00
Michael Niedermayer
e3e6f18f16 Simplify slice type checks.
Originally committed as revision 14323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:24:45 +00:00
Michael Niedermayer
72caa912f2 More correct ref comparison in the loop filter.
Originally committed as revision 14322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:06:23 +00:00
Michael Niedermayer
29d05ebc7a Simplify spatial direct ref selection with FFMIN3()
Originally committed as revision 14319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 01:41:56 +00:00
Michael Niedermayer
41f5c62f5c Fix used references indexes in the loop filter.
Disable filter_mb_fast() as it optimized the incorrect code.
Fixes at least:
BA3_SVA_C.264
CABA3_SVA_B.264
CABACI3_Sony_B.jsv
CAFI1_SVA_C.264
camp_mot_frm0_full.26l
CAWP5_TOSHIBA_E.264
CVFI2_SVA_C.264
CVSE3_Sony_H.jsv
CVWP2_TOSHIBA_E.264
CVWP5_TOSHIBA_E.264
SL1_SVA_B.264

Originally committed as revision 14315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-20 18:06:41 +00:00
Michael Niedermayer
4f20b45fbe Fix h264_loop_filter_strength_mmx2() so it works with PAFF.
fixed at least:
CVFI1_Sony_D.jsv
CVFI1_SVA_C.264
MR6_BT_B.h264

Originally committed as revision 14310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 21:53:54 +00:00
Michael Niedermayer
fb19e1443b Take the brain amputated spec literally if the user asks for it (-strict 1).
That is, add 16 frames delay, cache trashing and av desync.
fixes at least the following reference bitstreams:
CABA3_Sony_C.jsv
CACQP3_Sony_D.jsv
CAMANL1_TOSHIBA_B.264
CANL3_Sony_C.jsv
CVBS3_Sony_C.jsv
CVMANL1_TOSHIBA_B.264

Originally committed as revision 14308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 16:16:00 +00:00
Michael Niedermayer
2a811db238 Make the automatic has_b_frames increasing code increase it up to the
same maximum that can be achieved by specifying the value in the bitstream.

Originally committed as revision 14302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 15:37:52 +00:00
Michael Niedermayer
28bb9eb24b Try to fix my latest 100l fate SVQ3 breakage.
Originally committed as revision 14300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 12:21:09 +00:00
Michael Niedermayer
801b27fa7c Remove apparently unneeded out!=NULL check.
Originally committed as revision 14299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 11:57:29 +00:00
Michael Niedermayer
3eaa6d0e56 Simplify picture output code.
Originally committed as revision 14298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 11:11:48 +00:00
Michael Niedermayer
6b476f05e3 Remove useless #if 0 code.
Originally committed as revision 14297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 10:47:25 +00:00
Michael Niedermayer
7c0efeccfa Do not forget marking disposed delayed pics as unused.
Fixes issue335

Originally committed as revision 14296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:33:42 +00:00
Michael Niedermayer
79f4494a04 indent
Originally committed as revision 14292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:17:44 +00:00
Michael Niedermayer
0ab515e935 simplify
Originally committed as revision 14291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:13:11 +00:00
Michael Niedermayer
df8a7dff29 Remove delayed_output_pic, I do not understand what this variable was good for.
It is simpler and might be faster now.

Originally committed as revision 14289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 02:53:57 +00:00
Michael Niedermayer
1b547abaa3 Drop out of order pics even if bitstream_restriction_flag is set.
Originally committed as revision 14288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 02:44:17 +00:00
Michael Niedermayer
197ea52443 Make frames non reference by default, so they are disposed of automatically
in MPV_frame_start() if we break out due to an error at a random place.
Fixes issue334

Originally committed as revision 14283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-18 20:59:17 +00:00
Michael Niedermayer
1d42f41091 indent
Originally committed as revision 14258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 17:51:24 +00:00
Michael Niedermayer
7a9dba3cd6 SVQ3 uses the JPEG variant of YUV 4:2:0.
Fixes issue256

Originally committed as revision 14257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 17:48:47 +00:00
Alexander Strange
64b9d48f76 Move the size of the H264Context delayed_pic array into a #define.
This improves readability by getting rid of some magic numbers.

Originally committed as revision 14248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 21:30:04 +00:00
Måns Rullgård
e1f15d3836 H264: fix index range assert() in remove_short_at_index()
Originally committed as revision 14233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-14 19:17:13 +00:00
Jason Garrett-Glaser
3a8322b133 H264: Fix decoding with CABAC/delta_qp/PCM macroblocks.
Patch by Jason Garrett-Glaser (darkshikari gmail com)

Originally committed as revision 14160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 02:07:57 +00:00
Michael Niedermayer
7445f9cc67 fix IPCM_decode_error.h264
Originally committed as revision 14135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-09 06:03:59 +00:00
Alexander Strange
58cc7dd9fc Cosmetics: split a long line.
Originally committed as revision 14055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:28:47 +00:00
Alexander Strange
92ed1ec957 Use get_cabac_bypass_sign instead of an if/else.
Originally committed as revision 14054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:25:17 +00:00
Alexander Strange
142ee5d73d Reorder the if/else for residual cats to match gcc's branch prediction.
Originally committed as revision 14053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:20:06 +00:00
Alexander Strange
47775cb8de Simplify loop condition for readability.
Originally committed as revision 14052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:15:05 +00:00
Alexander Strange
9f734c3b57 Reindent.
Originally committed as revision 14051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:12:01 +00:00
Alexander Strange
9588ec340c Clone decode_cabac_residual() for DC residuals, to get rid of a bunch of branches in the main loop.
Originally committed as revision 14050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:08:12 +00:00
Alexander Strange
2e254bc583 Don't generate two copies of hl_decode_mb() under ENABLE_SMALL.
(assuming your compiler removes unused static functions)

Originally committed as revision 14049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:03:53 +00:00
Alexander Strange
fedec603db Don't test for H264 encoding unless an encoder exists.
Originally committed as revision 14048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 21:46:18 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Carl Eugen Hoyos
7e14f14584 Warn about unimplemented H264 feature.
Originally committed as revision 13542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-29 23:16:12 +00:00
Pascal Massimino
ae899d12ae in TRUNCATED mode, use residual fragments in ParseContext
for decoding the very last frame.

Originally committed as revision 13538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-29 20:09:45 +00:00
Diego Biurrun
9c852bcf58 cosmetics: spelling typo fixes
Originally committed as revision 13489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-28 09:20:59 +00:00
Diego Biurrun
f4433de9ef consistency cosmetics: indices --> indexes
Originally committed as revision 13444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 23:14:25 +00:00
Michael Niedermayer
4806b9226c print direct_spatial_mv_pred
Originally committed as revision 13409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 01:06:15 +00:00
Alexander Strange
bff2266a7f Remove newly unused variables.
Originally committed as revision 13127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 19:22:28 +00:00
Alexander Strange
d2b54ec801 Use h->mb_xy directly in decode_cabac_residual().
Originally committed as revision 13126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 19:18:39 +00:00
Alexander Strange
64514ee8de Store mb_xy in H264Context and only calculate it once per MB.
Originally committed as revision 13125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 19:16:21 +00:00
Carl Eugen Hoyos
e0a0c85dbd One const per declaration is enough.
Originally committed as revision 13079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-08 14:01:44 +00:00
Jason Garrett-Glaser
144783887c Use a state machine to reduce branching logic in decode_cabac_residual.
Patch by Jason Garrett-Glaser (darkshikari gmail com)

Originally committed as revision 13060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-04 22:39:12 +00:00
Stefano Sabatini
6140271f54 Add some long names to AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-29 07:24:44 +00:00
Vladimir Voroshilov
159ef4b02a Implement FFMAX3(a,b,c) - maximum over three arguments.
Originally committed as revision 12910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-19 17:07:58 +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
Michael Niedermayer
faf3dfb94b Avoid crash with idiotic cropping. Fixes crash with CVFC1_Sony_C.jsv
and closes issue333.

Originally committed as revision 12788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-11 12:55:21 +00:00
Diego Biurrun
d952638699 typo: occured --> occurred
Originally committed as revision 12549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-22 01:06:57 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer
9d2cc8c1ee If consumed does not match nalsize, favor nalsize.
Fixes issue385.

Originally committed as revision 12430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-13 01:49:19 +00:00
Diego Biurrun
2cab640129 typo fixes
Originally committed as revision 12428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-12 23:58:46 +00:00
Aurelien Jacobs
9701840bb5 add FF_ prefix to all (frame)_TYPE usage
Originally committed as revision 12399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-09 23:31:02 +00:00
Loren Merritt
be0995b166 more aspect ratios added in one of the ammendments
Originally committed as revision 12282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 01:58:25 +00:00
Michael Niedermayer
cea9642014 Fix ;;
Originally committed as revision 12153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-19 22:09:08 +00:00
Loren Merritt
ffbc5e04ce "swap first two elements of L1 if L0 and L1 are identical" applies after splitting the lists into fields
Originally committed as revision 11808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 10:54:20 +00:00
Loren Merritt
02f7695b0b fix mbaff diagonal neighbor mv
Originally committed as revision 11807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 10:53:15 +00:00
Loren Merritt
50b3ab0fa5 mbaff spatial direct
Originally committed as revision 11806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 10:51:56 +00:00
Michael Niedermayer
30317501a0 consts
Originally committed as revision 11705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 02:35:11 +00:00
Michael Niedermayer
7526ade238 Indention, it seems i have forgotton to commit this.
Originally committed as revision 11702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 01:35:31 +00:00
Andreas Öman
1710856cb1 Fix the following warnings:
h264.c:2093: warning: unused variable 's'
h264.c:2406: warning: suggest parentheses around arithmetic in operand of ^
h264.c:2412: warning: suggest parentheses around arithmetic in operand of ^

Originally committed as revision 11680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-31 00:15:24 +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
Reimar Döffinger
766324fc49 Add and use DECLARE_ASM_CONST for constants used in assembler code.
Should make it easier to work around compilation problems with e.g. ICC.

Originally committed as revision 11641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-27 20:50:16 +00:00
Michael Niedermayer
cb077b7aa3 Fix crash for CAVLC->CABAC switch caused by writing into NULL tables.
(iam not sure if this might have been exploitable)
fixes issue332 / CVCANLMA2_Sony_C.jsv
Other solutions which waste a few bytes less are welcome ...

Originally committed as revision 11605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-24 19:31:59 +00:00
Diego Biurrun
6bf398a030 Add #undef printf and disable non-functional code to make test program compile.
Originally committed as revision 11604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-23 21:27:07 +00:00
Diego Biurrun
07e4e3ea8b Consistently use TEST as the preprocessor condition to enable test code.
Originally committed as revision 11581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-20 23:53:51 +00:00
Reinhard Nissl
8293fea57e Fix problem with multithreaded decoding, introduced by r11214.
Patch by Reinhard Nissl: rnissl gmx de

Originally committed as revision 11275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-19 23:03:52 +00:00
Diego Biurrun
5d81d64175 cosmetics: comment typo fixes
Originally committed as revision 11232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-16 17:22:09 +00:00
Kostya Shishkov
626464fb53 Make fill_rectangle() available for other decoders
Originally committed as revision 11219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-15 06:06:16 +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
Panagiotis Issaris
b17270878e Verify long_ref_count!=0. Fix issue 281.
Originally committed as revision 11171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-05 18:02:48 +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
Vitor Sessak
52b541ad79 spelling
Originally committed as revision 11122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:21:04 +00:00
Diego Biurrun
f8a80fd69d main() --> main(void)
Originally committed as revision 11079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-23 00:52:56 +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
Reinhard Nissl
ce5d17f590 Provide top_field_first logic for h264
patch by: Reinhard Nissl rnissl a gmx d de

Originally committed as revision 10989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-10 06:10:46 +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
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
Martin Zlomek
44a7e65a51 Fix mix-up of values in r10690 (deblocking for PAFF).
Patch by Martin Zlomek, martin d zlomek a email d cz

Originally committed as revision 10738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-15 06:23:02 +00:00
Jeff Downs
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 Downs
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
Carl Eugen Hoyos
2fe279f9f9 Set pict->interlaced_frame if returned frame is MBAFF or PAFF.
Originally committed as revision 10703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-10 20:31:42 +00:00
Jeff Downs
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
Andreas Öman
f6e3c4603d reindent
Originally committed as revision 10698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-09 15:09:51 +00:00
Carl Eugen Hoyos
d6c52130f7 Enable PAFF decoding
Originally committed as revision 10696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-09 12:28:17 +00:00
Jeff Downs
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
Martin Zlomek
ac6b423b0c Fix deblocking for PAFF content
Patch by Martin Zlomek, martin d zlomek a email d cz

Originally committed as revision 10690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-08 17:39:34 +00:00
Jeff Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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 Downs
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
Andreas Öman
9dceaa923e remove unused code, spotted by Jeff Downs, heydowns a borg d com
Originally committed as revision 10650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 20:04:39 +00:00
Jeff Downs
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
Panagiotis Issaris
93f0c0a4ca Remove redundant test.
Originally committed as revision 10601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 10:45:16 +00:00
Jeff Downs
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
Andreas Öman
58f66029b6 reindent
Originally committed as revision 10573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-25 08:43:49 +00:00
Andreas Öman
1136d34a44 factor out dequant table lookup outside loops, gives a 1-2% speed-up
patch by Andreas Öman %andreas A olebyn P nu%
original thread:
Date: Sep 24, 2007 12:59 PM
Subject: [FFmpeg-devel] [PATCH] h264: factor out dequant table lookup outside loops

Originally committed as revision 10564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-24 13:01:15 +00:00
Reimar Döffinger
61858a76f2 Apply skip_loop_filter before checking if we can parallelize with the selected
loop filter

Originally committed as revision 10549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-22 10:28:22 +00:00
Andreas Öman
a27d6e714f Simplify H.264 decode_cabac_mb_cbp_luma(), giving a ~0.5% speedup.
patch by Andreas Öman, andreas olebyn nu
Date: Thu, 20 Sep 2007 12:59:19 +0200
Subject: [FFmpeg-devel] [PATCH] simplify h264's decode_cabac_mb_cbp_luma()

Originally committed as revision 10537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-21 00:26:31 +00:00
Andreas Öman
50c21814b9 fix image corruption when with multi-threaded decoding.
dequant-tables were not correctly reinitialized in the slave
contexts when a PPS came with updated matrices.
Patch by Andreas Öman %andreas A olebyn P nu%
Original thread:
date: Sep 16, 2007 6:14 AM
subject: [FFmpeg-devel] Parallelized h264 image corruption bug

Originally committed as revision 10505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-16 10:37:07 +00:00
Andreas Öman
7ae94d525c Indentation
patch by Andreas Öman

Originally committed as revision 10432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-07 19:19:49 +00:00
Andreas Öman
ec970c2187 Let H.264 decoder skip deblocking across slices
if running with multiple threads and CODEC_FLAGS2_FAST is set.
Thus, it may decode the slices in parallel to gain speed.

Patch by Andreas Öman: [andreas olebyn nu]

Originally committed as revision 10431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-07 18:27:13 +00:00
Jeff Downs
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
Andreas Öman
afebe2f7ca Add slice-based parallel H.264 decoding
Patch by Andreas Öman % andreas A olebyn P nu %
NB: depends on having a thread library activated at config time, and on
having a source encoded with multiple slices
Original threads:
date: May 18, 2007 11:00 PM
subject: [FFmpeg-devel] Parallelized h264 proof-of-concept
date: Jun 15, 2007 10:10 PM
subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)
date: Jun 25, 2007 7:02 PM
subject: Re: [FFmpeg-devel] [PATCH] h264 parallelized

Originally committed as revision 10407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 16:18:15 +00:00
Kostya Shishkov
c92a30bb06 Move H.264 intra prediction functions into their own context
Originally committed as revision 10397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 05:30:08 +00:00
Carl Eugen Hoyos
5d3de5ad22 Silence warnings about NAL_SVC_NON_IDR in H.264.
patch by Carl Eugen Hoyos, cehoyos ag.or at

Originally committed as revision 10289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-04 14:48:39 +00:00
Carl Eugen Hoyos
1c746a490d Remove error raising when explicitely skipping frame
patch by Carl Eugen Hoyos: [cehoyos ag or at]
original thread:
[FFmpeg-devel] [PATCH] Don't let ctx->skip_frame>0 produce errors
date: 08/30/2007 01:30 PM

Originally committed as revision 10286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-03 08:46:24 +00:00
Ramiro Polla
c8f9ef613e CONFIG_7REGS -> HAVE_7REGS
Originally committed as revision 10121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-15 21:19:13 +00:00
Alexander Strange
6d324c813f Statements like a = b = c = d = e; store from right-to-left, so if
you write them in the right order it comes out backwards.
This removes them from fill_rectangle().
patch by Alexander Strange %astrange A ithinksw P com%
Original thread:
Date: Aug 14, 2007 5:36 AM
Subject: [FFmpeg-devel] [PATCH] two small h264 optimizations

Originally committed as revision 10118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-14 22:28:09 +00:00
Alexander Strange
880003bbb9 Don't check the return value of decode_cabac_residual since it always
returns 0. This leads to a 0.4% speed-up.
Patch by Alexander Strange  astrange at_ ithinksw dot com
Original thread:
Date: Aug 11, 2007 11:44 PM
Subject: [FFmpeg-devel] [PATCH] h264: don't check decode_cabac_residual return

Originally committed as revision 10084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-12 00:07:29 +00:00
Alex Beregszaszi
ec5dc2c1af debug: tell how much bits are skipped with unknown nal code
Originally committed as revision 9993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-08 20:27:18 +00:00
Michael Niedermayer
873525491e use ENABLE_GRAY
Originally committed as revision 9847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-01 01:01:03 +00:00
Andreas Öman
d4a688d029 fix cabac decoding with some Blue-Ray sources
Patch by Andreas Öman %andreas A olebyn P nu%
Original thread:
Date: Jul 7, 2007 1:23 AM
Subject: [FFmpeg-devel] Corrupted blocks and seeking issues in H264 disc sources

Originally committed as revision 9836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-30 21:19:36 +00:00
Panagiotis Issaris
d04d5bcd0e Fix the self tests which are contained in some codecs and are using random().
Originally committed as revision 9755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 08:47:07 +00:00
Andreas Öman
9a5a05d0b3 fix visual painting of MVs from h264: they are painted twice too long
since the MVs are in qpel res.
Patch by Andreas Öman % andreas A olebyn P nu %
Date: Jul 14, 2007 12:40 PM
Subject: [FFmpeg-devel] [PATCH] h264 mv visualization

Originally committed as revision 9688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-15 19:03:12 +00:00
Benoit Fouet
93f4823935 bring back h264 build
Originally committed as revision 9555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-09 07:51:54 +00:00
Måns Rullgård
bad700e346 trivial warning fixes
Originally committed as revision 9547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 23:14:54 +00:00
Andreas Öman
4691a77db4 Add support for streams with different chroma_qp_index_offset
for Cr and Cb
Patch by Andreas Öman % andreas A olebyn P nu %
Original thread:
Date: Jun 26, 2007 8:48 PM
subject: [FFmpeg-devel] Color corruption and seeking errors with H264 disc sources

Originally committed as revision 9505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 14:21:37 +00:00
Andreas Öman
042ef4b720 Precompute a chroma_qp table with index offset for each pps,
this saves speed for the upcoming secondqp fix.
Patch by Andreas Öman % andreas A olebyn P nu %
Original thread:
Date: Jun 26, 2007 8:48 PM
subject: [FFmpeg-devel] Color corruption and seeking errors with H264 disc sources

Originally committed as revision 9498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 07:58:08 +00:00
Andreas Öman
4bbdf13f9e Compute the dequant coefficient table ptr outside the loop,
this saves speed for the upcoming secondqp fix.
Patch by Andreas Öman % andreas A olebyn P nu %
Original thread:
Date: Jun 26, 2007 8:48 PM
subject: [FFmpeg-devel] Color corruption and seeking errors with H264 disc sources

Originally committed as revision 9497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 07:55:37 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Andreas Öman
b69378e295 Don't swap back un-deblocked lines for intra prediction when
at slice boundaries for deblocking-type 2 content.

This is needed for slice based threading only and doesn't do much
good or bad otherwise.
Patch by Andreas Oman %andreas A olebyn P nu%
Original thread:
date: Jun 18, 2007 1:21 PM
subject: Re: [FFmpeg-devel] [PATCH] h264 parallelized,

Originally committed as revision 9380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-21 07:52:06 +00:00
Andreas Öman
24456882f3 Do not reuse the rbsp de-escape buffer if both
the intra and inter -nal units are escaped
patch by Andreas Öman: \andreas olebyn nu/
original thread:
[FFmpeg-devel] [PATCH] h264: rbsp de-escape and data partitioning..
date: 06/20/2007 09:32 AM

Originally committed as revision 9374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-20 08:53:53 +00:00
Andreas Öman
995a30c06b Decouple bit context from h264 context in decode_ref_pic_marking()
(done in order to implement slice-level parallel decoding)
Patch by Andreas Öman % andreas olebyn nu %
Original thread:
Date: Jun 15, 2007 10:10 PM
Subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)

Originally committed as revision 9371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-19 21:34:04 +00:00
Andreas Öman
1c48415bb9 indentation
patch by Andreas Öman: [andreas olebyn nu]

Originally committed as revision 9360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-18 08:48:26 +00:00
Andreas Öman
b41c1db38d Factor out init_scan_tables(), patch by Andreas Öman %andreas A olebyn.nu%
original thread:
Date: Jun 15, 2007 10:10 PM
Subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)

Originally committed as revision 9341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 19:54:04 +00:00
Måns Rullgård
706da4af32 fix some printf format specifiers
Originally committed as revision 9334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 14:52:05 +00:00
Diego Biurrun
90b5b51eab misc typo fixes
Originally committed as revision 9291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 18:50:50 +00:00
Diego Biurrun
755bfeabcc misc spelling fixes
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Andreas Öman
93cc10fa9c h264: use 'simple' in border backup / xchg
patch by Andreas Öman: [andreas olebyn nu]
original thread:
subject: [FFmpeg-devel] [patch] h264: use 'simple' in border backup / xchg
date: 06/07/2007 03:24 PM

Originally committed as revision 9237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-07 13:51:06 +00:00
Andreas Öman
83b3401731 filter_mb_fast() doesn't handle h->deblocking_filter==2 (skip slice edges), so delegate that case to filter_mb().
Patch by Andreas Öman [andreas at olebyn dot nu].

Originally committed as revision 9180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-03 11:44:43 +00:00
Carl Eugen Hoyos
154e30f6c2 rename attribute_unused to av_unused and moves its declaration to common.h
patch by Carl Eugen Hoyos cehoyos chez ag or at
original thread: [FFmpeg-devel] [PATCH] attribute_unused -> av_unused
date: 05/29/2007 01:23 PM

Originally committed as revision 9155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 09:32:25 +00:00
Andreas Öman
7978debdc2 allocate PPS and SPS dynamically
patch by Andreas Öman andreas ta olebyn tod nu
reference thread:
subject: [FFmpeg-devel] [PATCH] h264: allocate PPS and SPS dynamically
date: 05/28/2007 03:00 PM

Originally committed as revision 9148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-29 14:35:29 +00:00
Panagiotis Issaris
cb1a74cf8c Export the four remaining H.264 decoder intra prediction functions for reuse in
the H.264 encoder. These functions are: pred8x8_left_dc_c, pred8x8_top_dc_c,
pred16x16_left_dc_c and pred16x16_top_dc_c.

Originally committed as revision 9107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-23 13:46:11 +00:00
Reimar Döffinger
2c32b173d9 Move attribute_unused to variable declarations in macros instead of
introducing a useless extra variable.

Originally committed as revision 9052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-17 20:18:46 +00:00
Reimar Döffinger
e36d79c837 Change some leftover __attribute__((unused)) and __attribute__((used)) to
attribute_unused and attribute_used respectively to ease compiling on non-gcc.

Originally committed as revision 9024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-14 14:07:50 +00:00
Diego Biurrun
a2e4c0ddae Remove duplicate #includes, avcodec.h #includes common.h.
Originally committed as revision 8995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-11 07:21:14 +00:00
Aurelien Jacobs
26b4fe821c split h264.c to move parser in its own file
Originally committed as revision 8985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 22:26:44 +00:00
Aurelien Jacobs
c53d2d9042 make some parser parameters const to avoid casting const to non-const
Originally committed as revision 8921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-07 00:47:03 +00:00
Diego Biurrun
5a6a6cc7dc Fix multiple "‘inline/static’ is not at beginning of declaration" warnings.
Originally committed as revision 8894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-05 12:18:14 +00:00
Diego Biurrun
e24465962d Remove unused variable.
Originally committed as revision 8878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 23:11:23 +00:00
Mean
dcc3a30b58 prevent going out of the buffer if the nal size does not fit in the buffer.
Patch by Mean % fixounet A free P fr %
Original thread:
Date: Apr 29, 2007 2:00 PM
Subject: Re: [Ffmpeg-devel] [patch] h264.c, dont go beyond buffer in h264_decode_nal_unit

Originally committed as revision 8858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-29 23:18:39 +00:00
Diego Biurrun
e69364b700 Mark code parts that cannot work on AMD64 due to broken relocations as such.
This allows building shared libraries on AMD64 again.
based on a patch by Diego 'Flameeyes' Pettenò and suggestions by Michael
original thread:
Date: Wed, 18 Apr 2007 11:26:12 +0200
Subject: [Ffmpeg-devel] [PATCH] (try 2) Build shared libraries on AMD64 again

Originally committed as revision 8849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-27 09:32:31 +00:00
Diego Biurrun
784b7f77c8 10l: Rename missed occurrences of CONFIG_EBX_AVAILABLE to HAVE_EBX_AVAILABLE.
Originally committed as revision 8821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 00:32:31 +00:00
Limin Wang
3b77e48f0a add a check before find_frame_end call
Patch by Limin Wang % lance P lmwang A gmail P com %
Original thread:
date: 04/09/2007 03:54 PM
subject: [Ffmpeg-devel] [PATCH] fix segment fault in h264_parse if buf_size is zero

Originally committed as revision 8714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-11 14:04:47 +00:00
Reinhard Nissl
ad1ea1f155 When dst_length == 0 bit_length has to be 0, too, but the current code still
calls decode_rbsp_trailing() and therefore bit_length might get negative.
Although the remaining code is able to handle a negative bit_length, avoid
the calculation at all by setting bit_length to 0 for dst_length == 0.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-09 14:10:07 +00:00
Reinhard Nissl
6ac9696e77 Remove a NAL unit's trailing zero bytes even when dst_length is 1.
Consider the following byte sequence

    00 00 01 0a 00 00 00 01 09 ...
               ^  ^
               A  B

decode_nal() determines dst_length to be 1 (i. e. the byte between label
A and B above). However, this byte is a trailing zero byte as the spec
says the the current NAL unit is terminated by a byte sequence 00 00 00.

The current code used a loop to decrement dst_length accordingly. But the
loop doesn't start as the loop condition checks for dst_length > 1, which
should read dst_length > 0.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-09 13:39:35 +00:00
Reinhard Nissl
ff82e429cb scenario: A properly coded frame is followed by an end of sequence NAL unit,
i.e. the four bytes 00 00 01 0a.
When decode_nal() decodes the end of sequence NAL unit, it returns with
dst_length == 0. The original code leads to a return -1 which discards
the current properly decoded frame.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-09 12:55:07 +00:00
Diego Biurrun
e42dba481f typos/grammar
Originally committed as revision 8641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 14:09:20 +00:00
Stefan Huehner
2b100ab2bf changes some function declarations from () to (void) as per ansi c.
Patch by Stefan Huehner % stefan A huehner P org %

Originally committed as revision 8625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-04 11:51:08 +00:00
Panagiotis Issaris
449659919c Fix compilation when using the --disable-opts parameter. This to help those
interested in using a debugger to debug FFmpeg.

Original thread:
Subject: [PATCH] Fix compilation when using --disable-opts
Date: 2007-03-15 16:58:35 GMT

Originally committed as revision 8549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-29 14:20:30 +00:00
Baptiste Coudurier
b21c9af936 reindent after last commit
Originally committed as revision 8399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-14 11:13:17 +00:00
Baptiste Coudurier
1153be3be1 h264 complete frames parsing support
Originally committed as revision 8398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-14 11:12:02 +00:00
Michael Niedermayer
56c70e1d3a check for no frame and prevent segfault
Originally committed as revision 8211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-03 21:33:33 +00:00
Michael Niedermayer
66a4b2c179 support feeding individual NAL units to the decoder instead of just complete frames
Originally committed as revision 8197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-02 23:35:26 +00:00
Michel Bardiaux
a9c9a2400b Supply context to tprintf
Originally committed as revision 8142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-27 09:39:04 +00:00
Reimar Döffinger
f66e4f5f9e Add av_ prefix to clip functions
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 10:27:12 +00:00
Michael Niedermayer
0268a54a65 rewrite find_frame_end()
new code correctly splits long start codes, also its about twice as fast

Originally committed as revision 8120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 02:38:08 +00:00
Alexander Strange
bd91fee3d7 h264 optimization: common case hl_decode_mb patch by (Alexander Strange astrange ithinksw com)
144095->142319 dezicycles for hl_decode_mb() on duron
trailing whitespace removed by me

Originally committed as revision 8106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-24 00:58:28 +00:00
Michael Niedermayer
97bbb8851b output delayed frames
fixes:
CANL4_SVA_B.264
NL3_SVA_C.264
NL3_SVA_E.264

Originally committed as revision 8055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-21 21:16:07 +00:00
Diego Biurrun
0afd2a92bd cosmetics: Fix a common typo, sepErate --> sepArate.
Originally committed as revision 8047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-21 10:15:08 +00:00
Loren Merritt
4672503d8c simplify in fill_caches
Originally committed as revision 8026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-19 04:44:17 +00:00
Michael Niedermayer
fda51641b1 factorize more calls to fill_rectangle()
Originally committed as revision 8017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-18 01:37:50 +00:00
Michael Niedermayer
d19f5acb36 factorize fill_rectangle() calls
Originally committed as revision 8016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-18 01:24:57 +00:00
Michael Niedermayer
8d6947bc7d factorize fill_rectangle()
remove more silly ref_count checks
use list_count where appropriate

Originally committed as revision 8000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:50:37 +00:00
Michael Niedermayer
3425501d3b replace list<2 checks by list<list_count
remove silly ref_count<0 and ref_count==0 checks its impossible for this variable to have such a value

Originally committed as revision 7999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:42:01 +00:00
Michael Niedermayer
187696fa72 fix 2nd ref_count check
add list_count

Originally committed as revision 7998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:34:21 +00:00
Michael Niedermayer
0565c64834 fix ref_count check
Originally committed as revision 7997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:29:15 +00:00
Michael Niedermayer
65a0f3fd47 factorize mv_cache and mvd_cache init
Originally committed as revision 7996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:27:59 +00:00
Michael Niedermayer
43ff071456 simplify
Originally committed as revision 7995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:25:22 +00:00
Francois Oligny-Lemieux
6ff9b4226b always decode extradata when of non-avc stream (like RTSP)
Patch by Francois Oligny-Lemieux % eucloid A gmail P com %
Original thread:
Date: Feb 9, 2007 12:00 AM
Subject: [Ffmpeg-devel] h264.c patch, always decoding extradata when on non avc stream

Originally committed as revision 7904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-09 22:25:29 +00:00
Michael Niedermayer
08eb8fcdbf fix segfault with darkkben.free.fr/corrupted_h264.mp4
Originally committed as revision 7671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 19:32:26 +00:00
Michael Niedermayer
2f29af3952 flame
Originally committed as revision 7664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 13:42:09 +00:00
Michael Niedermayer
6f9ca74bec check num_reorder_frames for validity
increase delayed_pic buffer size (one temporary is used and a terminating NULL is assumed by most code so it has to be 18 large)

Originally committed as revision 7663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 13:36:56 +00:00
Michael Niedermayer
9170e34537 adding assert to protect delayed_pic
Originally committed as revision 7661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 12:45:57 +00:00
Michael Niedermayer
88e7a4d18c checking bitstream values and other related changes
some of these might have been exploitable

Originally committed as revision 7591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-20 13:50:00 +00:00
Alex Beregszaszi
fead30d444 rename BE/LE_8/16/32 to AV_RL/B_8/16/32
Originally committed as revision 7587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 22:12:59 +00:00
Guillaume Poirier
50eaa857c0 remove useless cast that makes code unreadable
Originally committed as revision 7586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 12:41:56 +00:00
Francois Oligny-Lemieux
ac658be5db harden h264 decoding to prevent some crashes when input data is corrupted.
Patch by Frank %eucloid A gmail P com%
date: Jan 18, 2007 6:48 PM
subject: Re: [Ffmpeg-devel] h264, protection against corrupted data (second try patch)
AND
date: Jan 17, 2007 8:22 PM
subject: [Ffmpeg-devel] h264, protection against corrupted data

this also fixes a possible security issue (the sps and pps ids where not checked,
then used as index into an array of sps/pps structs which was then filled with data from the bitstream)

Originally committed as revision 7585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 09:37:04 +00:00
Reimar Döffinger
b18e5c031c Avoid calling decode_slice when context_initialized is not set.
Avoids a crash due to dsp.clear_blocks being NULL when called.

Originally committed as revision 7547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-16 17:46:26 +00:00
Michael Niedermayer
6de062957b fix 16 CABAC_BIT * 10l bug introduced in r6578
Originally committed as revision 7440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-13 00:56:43 +00:00
Måns Rullgård
849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Panagiotis Issaris
acd8d10ffb Making rem6 and div6 globally visible and thus adding prefixes.
Originally committed as revision 7245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-07 09:59:05 +00:00
Panagiotis Issaris
14e95e2c92 Removing unused code
Originally committed as revision 7244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-07 09:47:29 +00:00
Panagiotis Issaris
a074f143dd Export symbols of several H.264 intra prediction functions
Originally committed as revision 7232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-06 08:17:43 +00:00
Alexander Chemeris
a083f53c45 fix crash when decoding a truncated H264 slice
patch by Alexander Chemeris % ipse P ffmpeg A gmail.com %
Original thread:
date: Dec 5, 2006 7:26 PM
subject: [Ffmpeg-devel] [PATCH] Fix crush when truncated slice passed to H.264 decoder

Originally committed as revision 7229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-05 22:18:19 +00:00
Panagiotis Issaris
3ee5c5b739 Removing unused code
Originally committed as revision 7228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-05 22:05:09 +00:00
Panagiotis Issaris
550e66cb59 Change NAL unit type defines to an enum and move to a header file for usage
in other code.

Originally committed as revision 7226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-05 21:52:15 +00:00
Måns Rullgård
55fde95e3b rename cropTbl -> ff_cropTbl
Originally committed as revision 6992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-12 20:08:09 +00:00
Panagiotis Issaris
c2212338e8 Remove the H264Context parameter from decode_init_vlc() as it is not being used.
Originally committed as revision 6955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-09 16:40:33 +00:00
Michael Niedermayer
65342b2b4a merge clip() into the alpha/beta/tc0 tables (10% faster filter_mb_fast() on P3)
Originally committed as revision 6863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 19:34:30 +00:00
Reimar Döffinger
d55f46e5a8 Reenable AMD64 optimizations for cabac accidentially disabled in r6852
Originally committed as revision 6853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 17:18:49 +00:00
Diego Biurrun
419b878494 Add ARCH_X86_32 as a new define for 32 bit x86 architectures and change
the semantics of ARCH_X86 to mean both 32 and 64 bits.

Originally committed as revision 6852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 17:01:33 +00:00
Diego Biurrun
d5cd50ed73 Fix compilation with PIC enabled, BRANCHLESS_GET_CABAC is defined under
!PIC but gets used without a check for !PIC.

Originally committed as revision 6834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-29 13:14:37 +00:00
Michael Niedermayer
e08f580644 decode_significance_8x8_x86()
8% faster decode_cabac_residual() (8x8 case only) on P3

Originally committed as revision 6750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-20 21:34:02 +00:00
Michael Niedermayer
f624f029f0 slightly faster decode_cabac_mb_mvd()
Originally committed as revision 6735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-19 14:54:34 +00:00
Michael Niedermayer
aa1da263aa 1 variable less in decode_cabac_residual() no speed change (but less vars means less things gcc can load and store redundantly)
Originally committed as revision 6734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-19 10:33:56 +00:00
Michael Niedermayer
ebd624b662 optimize sign decoding code in decode_residual()
x86 is 4% faster on P3
C sign stuff + x86 code for everything else is also faster then before (sorry forgot to test pure C)
... and if i replace the second occurance of the sign decoding in decode_residual by the asm too then everything gets slower iam starting to think that it might be best to write the whole function in asm, playing this avoid random deoptimizations game with gcc is not fun at all

Originally committed as revision 6732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-19 01:19:03 +00:00
Michael Niedermayer
30865e2aa1 copy cabac context onto the stack for the c code in decode_cabac_residual() (15% faster on P3 but still slower then the current asm)
Originally committed as revision 6725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-17 23:59:21 +00:00
Michael Niedermayer
eb73bf723d x86 asm version of the decode significance loop (not 8x8) of decode_residual() 5% faster decode_residual() on P3
Originally committed as revision 6724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-17 22:18:29 +00:00
Michael Niedermayer
b566bd65e2 simplify escape decoding
Originally committed as revision 6685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-13 16:19:15 +00:00
Michael Niedermayer
de1013e1ca 10l int vs uint8_t
Originally committed as revision 6675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 18:41:29 +00:00
Michael Niedermayer
851ded8918 prevent "mb level" get_cabac() calls from being inlined (3% faster decode_mb_cabac() on P3)
Originally committed as revision 6674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 14:49:19 +00:00
Michael Niedermayer
1f6049f515 int->uint8_t for 2 tables
Originally committed as revision 6673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 12:27:02 +00:00
Diego Biurrun
c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Loren Merritt
a957c27b03 more prefetches, 2% faster h264
Originally committed as revision 6664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 21:34:15 +00:00
Michael Niedermayer
d61c4e731e make state transition tables global as they are constant and the code is slightly faster that way
Originally committed as revision 6655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 14:44:17 +00:00
Michael Niedermayer
0fa352c7e6 make lps_range a global table its constant anyway (saves 1 addition for accessing it)
Originally committed as revision 6653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 13:21:42 +00:00
Michael Niedermayer
7822e1c1ff reverse remainder of the failed attempt to optimize *state=c->mps_state[s]
Originally committed as revision 6609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-09 21:14:16 +00:00
Michael Niedermayer
1c2a417f6a move outcommented START/STOP_TIMER to a hopefully better place for benchmarking ...
Originally committed as revision 6605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-09 18:20:00 +00:00
Michael Niedermayer
99ce10873d 5% faster get_cabac()
Originally committed as revision 6586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-08 11:24:37 +00:00
Diego Biurrun
e16c407a81 output typo fixes
Originally committed as revision 6585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-08 10:11:58 +00:00
Michael Niedermayer
5659b509c7 refill cabac variables in 16bit steps, 3% faster get_cabac()
Originally committed as revision 6578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:44:14 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Loren Merritt
e6e77eb6fa simplify write_back_motion for skip mbs
Originally committed as revision 6548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-04 07:08:26 +00:00
Loren Merritt
2833fc4646 approximate qpel functions: sacrifice some quality for some decoding speed. enabled on B-frames with -lavdopts fast.
Originally committed as revision 6412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-01 21:25:17 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Loren Merritt
776fe466b2 slightly faster deblock
Originally committed as revision 6121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-29 03:07:58 +00:00
Loren Merritt
3e20143ee7 mmx implementation of deblocking strength decision.
2-3% faster h264.

Originally committed as revision 6113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-28 09:33:01 +00:00
Loren Merritt
ae08a5631e 10l in r5768 (broke mbaff)
Originally committed as revision 5831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-27 20:37:21 +00:00
Loren Merritt
717b173366 slightly faster h264 fill_caches()
Originally committed as revision 5768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 18:55:18 +00:00
Måns Rullgård
af9e7d1810 --enable/disable parsers. Warning: some combinations are broken.
Originally committed as revision 5691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 12:02:15 +00:00
Michael Niedermayer
784036e404 simplify intra prediction mode decoding
Originally committed as revision 5612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-04 17:06:43 +00:00
Måns Rullgård
91c58c944f fill_mbaff_ref_list is missing a return statement, its return value
is ignored, and it can't possibly fail, so make it void

Originally committed as revision 5566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-01 17:33:48 +00:00
Loren Merritt
c4da83fb0f h264: accept rbsp_trailing longer than 1 byte
Originally committed as revision 5467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-12 09:30:17 +00:00
Michael Niedermayer
b3aaa7bea6 typo me thinks ...
Originally committed as revision 5421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-29 16:39:40 +00:00
Loren Merritt
5d18eaad13 h264: MBAFF interlaced decoding
Originally committed as revision 5419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 22:44:14 +00:00
Loren Merritt
67a8208695 h264: faster fill_rectangle()
Originally committed as revision 5418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 22:28:08 +00:00
Michael Niedermayer
2d661e073e cosmetics (initalize variables where they are used)
Originally committed as revision 5356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-10 11:05:03 +00:00
Michael Niedermayer
11b681687d decoders should (IMHO) not duplicate frames, the application can do this if it wants
Originally committed as revision 5355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-10 10:57:27 +00:00
Loren Merritt
09786209e6 reinit quant matrices if pps is overwritten by another of the same pps_id.
Originally committed as revision 5346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-05 18:08:01 +00:00
Loren Merritt
89ddb72aa1 warn on interlaced streams
Originally committed as revision 5337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-30 19:31:45 +00:00
Loren Merritt
2848ce84d2 don't force asserts in release builds. 2% faster h264.
Originally committed as revision 5332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-29 00:43:15 +00:00
Loren Merritt
2ea392529a 10l in 1.199 (write_back_motion with B-pyramid + spatial)
Originally committed as revision 5215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-25 09:46:43 +00:00
Loren Merritt
513fbd8e5a prefetch pixels for future motion compensation. 2-5% faster h264.
Originally committed as revision 5203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-23 20:16:36 +00:00
Loren Merritt
53b19144e7 1.5x faster write_back_motion, 1-3% overall
Originally committed as revision 5198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-22 12:41:02 +00:00
Michael Niedermayer
4cb8574dc8 fixing coverity warnig CID: 253 (reading over the end of the aspect_ratio array for illegal aspect ratios)
Originally committed as revision 5163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 23:46:47 +00:00
David S. Miller
bf4665eeec Alignment fixes, caused problems on SPARC.
patch by "David S. Miller" davem <<at>> davemloft <<dot>> net

Originally committed as revision 5130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-09 08:05:45 +00:00
Steve L'Homme
267f7edcd1 (f)printf --> av_log conversion
taken from a patch by Steve L'Homme

Originally committed as revision 5127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-08 11:43:10 +00:00
Loren Merritt
548a1c8a35 h264_idct8_add_mmx
Originally committed as revision 5123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-07 22:45:56 +00:00
Loren Merritt
9e4cc776da keyframe flag was wrong if SEIs followed the keyframe
Originally committed as revision 5107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-04 03:57:33 +00:00
Måns Rullgård
1bd8624697 kill some warnings
Originally committed as revision 5063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-25 22:41:31 +00:00
Loren Merritt
285b570fd2 fix a memory leak on seeking.
Originally committed as revision 5062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-25 22:15:24 +00:00
Loren Merritt
85ed1022b3 minor simplifications in cabac_mb_type
Originally committed as revision 5048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-22 05:59:44 +00:00
Loren Merritt
db8a64cba0 don't arbitrarily limit delta_qp
Originally committed as revision 5026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-16 01:16:12 +00:00
Loren Merritt
8b03135958 fix some crashes on negative nalsize.
Originally committed as revision 5022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-14 05:40:53 +00:00
Loren Merritt
171c407621 fix some crashes when missing frames
Originally committed as revision 5019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-13 18:13:13 +00:00
Loren Merritt
ef9d1d1575 h264: special case dc-only idct. ~1% faster overall
Originally committed as revision 4971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-10 06:55:25 +00:00
Loren Merritt
c0234aa44c slightly faster loopfilter
Originally committed as revision 4958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-08 07:04:32 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +00:00
Diego Biurrun
b5bba45905 Fix silly typos.
Originally committed as revision 4915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-31 00:17:13 +00:00
Dieter
1b47fafd9f make some functions static (patch by Dieter < freebsd at sopwith.solgatos.com >)
Originally committed as revision 4905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-28 16:05:06 +00:00
Diego Biurrun
f038fe8b4a warning fixes by Luca Abeni, lucabe72 ##@## email ##.## it
Originally committed as revision 4898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-25 22:10:13 +00:00
Diego Biurrun
4f59b684a6 Remove all stray tabs and trailing whitespace, this time for good.
Originally committed as revision 4891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 10:33:14 +00:00
Måns Rullgård
950c2790a2 interpret H264 VUI timing info correctly
work around bug in x264 build < 44

Originally committed as revision 4866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-19 00:19:15 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Loren Merritt
e8b562087d tweak h264_biweight
Originally committed as revision 4835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 03:38:37 +00:00
Loren Merritt
70abb40759 tweak inlines.
Originally committed as revision 4834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 03:15:53 +00:00
Loren Merritt
ab2e3e2c80 fix asymmetric CQMs with pre-transposed DCT.
Originally committed as revision 4799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 14:14:38 +00:00
Loren Merritt
f23af3d825 CQM: fix fallback to JVT scaling lists
Originally committed as revision 4798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 13:20:24 +00:00
Loren Merritt
11d86c979c direct mvs in B_8x8 mbs were set too early.
Originally committed as revision 4797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 11:31:53 +00:00
Loren Merritt
f1f17e54ea fix direct_8x8_inference_flag with 4x4 mvs.
Originally committed as revision 4796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-31 10:11:37 +00:00
Loren Merritt
cec9395977 fix some potential arithmetic overflows in pred_direct_motion() and
ff_h264_weight_WxH_mmx2().

Originally committed as revision 4795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 23:47:41 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Jindřich Makovička
9944fb97c4 new qscale type to distinguish H264
Originally committed as revision 4753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-18 13:29:09 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Måns Rullgård
4733abcbf3 use PRIxN, %zd, %td formats where needed
Originally committed as revision 4740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-12 01:56:46 +00:00
Loren Merritt
ab470fa73b recognize some more nal types
Originally committed as revision 4734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-11 02:16:21 +00:00
Loren Merritt
3165e258b1 fix a crash on seeking to an invalid frame
Originally committed as revision 4685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-10 04:40:49 +00:00
Michael Niedermayer
af8aa846fa check MPV_frame_start() return value
Originally committed as revision 4682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-09 11:29:29 +00:00
Loren Merritt
1fd97d8c1a tidier cabac_intra4x4_pred_mode
Originally committed as revision 4673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-03 23:26:51 +00:00
Måns Rullgård
c7ea4f1903 no mixing of code and declarations
Originally committed as revision 4670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-28 18:18:04 +00:00
Loren Merritt
0f72508c10 25% faster deblocking, 4-6% overall.
Originally committed as revision 4668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-28 06:37:32 +00:00
Loren Merritt
cd19c677cb fix a crash on dropped frames
Originally committed as revision 4667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-27 21:03:36 +00:00
Loren Merritt
56edbd818a 10l: cqm weren't initialized in svq3.
Originally committed as revision 4662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-26 03:58:06 +00:00
Loren Merritt
239ea04ccf decode custom quant matrices.
based on a patch by anonymous, with optimizations by me.

Originally committed as revision 4660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-25 01:17:20 +00:00
Loren Merritt
d90cbe5fe8 6% faster decode_cabac_residual
Originally committed as revision 4618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-27 05:12:13 +00:00
diane_cartman@gmx.de
ca3b0d2719 13% faster decode_residual (cavlc).
patch by diane_cartman at gmx dot de.

Originally committed as revision 4617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-27 04:46:45 +00:00
Gábor Kovács
dc9f52602f Just noticed there is a memory leak in h264.c with the usage of rbsp_buffer.
Here is a patch which frees the rbsp_buffer in decode_end().
patch by (Gábor Kovács | picard / demoscene \ hu)

Originally committed as revision 4607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-21 08:14:17 +00:00
Reimar Döffinger
357a28430a check return value of decode_cabac_mb_dqp, it is INT_MIN on error.
fixes crash with http://stud4.tuwien.ac.at/~e0326863/ats/bbc-sample_small.mpg
and MPlayer's broken packetizer (but will not decode right of course).

Originally committed as revision 4595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-17 08:15:07 +00:00
Michael Niedermayer
96b6ace22e dont be so picky with .mp4 ... fixes Mr&MrsSmith.mp4
Originally committed as revision 4571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-10 01:13:10 +00:00
Loren Merritt
fbd312fd91 fix emulated edge motion compensation when resolution%16!=0
Originally committed as revision 4561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-05 17:07:52 +00:00
Michael Niedermayer
95ae72b7e0 Compilation fixes part 1 patch by (Arvind R. and Burkhard Plaum, plaum, ipf uni-stuttgart de)
Originally committed as revision 4540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-26 19:05:44 +00:00
Michael Niedermayer
ba17363ff7 prevent assert failures and infinite loops with broken streams
Originally committed as revision 4538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-25 00:01:57 +00:00
Måns Rullgård
bf4e3bd2d0 kill a bunch of compiler warnings
Originally committed as revision 4522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-14 15:42:40 +00:00
Michael Niedermayer
cdd106899f workaround 'colocated mv if colocated block is L1 predicted' bug in x264
Originally committed as revision 4487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-01 14:47:07 +00:00
Michael Niedermayer
8583bef871 fixing colocated mv if colocated block is L1 predicted for the temporal direct case
untested (none of the conformance streams laying around on my disk seems affected by this change)

Originally committed as revision 4477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-27 00:15:55 +00:00
Michael Niedermayer
4866bd2b82 fixing colocated mv if colocated block is L1 predicted
fixes "H.264 decoding bug in either lavc/JM"

Originally committed as revision 4476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-26 23:40:55 +00:00
Reimar Döffinger
cad4368af7 Add missing +1 in bounds check.
Originally committed as revision 4465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-22 09:01:47 +00:00
Michael Niedermayer
e0111b3243 more fine grained skip_frame
Originally committed as revision 4441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-14 21:57:22 +00:00
Michael Niedermayer
8c3eba7c62 skip_idct
skip_frame
skip_loop_filter

Originally committed as revision 4440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-14 21:39:36 +00:00
Alex Beregszaszi
19d9ac8169 parenthesing to avoid compiler errors in the future - compared asm outputs, behaviour didnt changed
Originally committed as revision 4417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-02 19:39:58 +00:00
Michael Niedermayer
3f46995ca5 support extracting sps/pps from bitstream and putting it in extradata
Originally committed as revision 4403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-28 08:13:23 +00:00
Michael Niedermayer
e679cd1ab0 fixing first_mb_in_slice if frame_mbs_only_flag==0 && mb_aff==0
Originally committed as revision 4402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-28 06:45:41 +00:00
Michael Niedermayer
6b53b87e20 check mb_y
Originally committed as revision 4401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-27 23:13:10 +00:00
Michael Niedermayer
3d15acf27b keep decoding nal units after an error
Originally committed as revision 4399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-27 09:37:16 +00:00
Michael Niedermayer
806bb93fe2 make decoder a little bit more tolerant to missing NAL units
Originally committed as revision 4385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-19 23:33:09 +00:00
Loren Merritt
36940eca76 H.264 lossless mode
Originally committed as revision 4381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-17 08:24:35 +00:00
Ronald S. Bultje
7dc1bea30f non-avc h264 stream problems patch by ("Ronald S. Bultje" rbultje, ronald bitfreak net)
Originally committed as revision 4368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-09 20:01:02 +00:00
Michael Niedermayer
8d204aa415 10l (dont read variables before they have been set)
Originally committed as revision 4355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-05 15:51:20 +00:00
Måns Rullgård
fb3ca6ba3e remove mixed code/declarations
Originally committed as revision 4353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-04 15:49:54 +00:00
Loren Merritt
43efd19a88 decode H.264 with 8x8 transform.
deblocking is still incorrect with 8x8+cavlc

Originally committed as revision 4339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-02 21:15:20 +00:00
Måns Rullgård
ca15919699 fix segfault if flush is called before the first frame
(I think that's it, and this fixes it)

Originally committed as revision 4335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-01 12:03:25 +00:00
Michael Niedermayer
e4b36d4434 avoid one transpose (730->680 dezicycles on duron)
Originally committed as revision 4332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-01 08:43:40 +00:00
Loren Merritt
ba4ffc2b48 memory leak
Originally committed as revision 4282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 19:11:40 +00:00
Loren Merritt
29860cc88c fix crash on negative POC
Originally committed as revision 4278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 04:48:06 +00:00
Loren Merritt
5cf08f2393 H.264 deblocking optimizations (mmx for chroma_bS4 case, convert existing cases to 8-bit math)
Originally committed as revision 4271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 09:17:22 +00:00
Michael Niedermayer
0d175622d8 another try at decode_ref_pic_list_reordering()
Originally committed as revision 4245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-15 01:40:34 +00:00
Michael Niedermayer
6ab8721198 fill missing reference pictures with something to avoid assertion failure
Originally committed as revision 4240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-14 00:04:11 +00:00
Michael Niedermayer
0444b02304 alignment fix by (Gábor Kovács >picard demoscene hu)
Originally committed as revision 4233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-13 12:00:12 +00:00
Michael Niedermayer
d2cc7468f3 10l (mb_type uninitalized and then changed and overwritten)
Originally committed as revision 4232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-13 08:17:25 +00:00
Michael Niedermayer
5cb46bc722 typo found by Chengji Zhao
Originally committed as revision 4231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-12 23:34:23 +00:00
Michael Niedermayer
d9c780a8b7 some asserts()
Originally committed as revision 4223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-12 08:44:17 +00:00
Michael Niedermayer
21be92bf4d reverse 1 hunk from 1.96->1.97, fixes decoding of (MR1_BT_A.h264 and MR1_MW_A.264)
Originally committed as revision 4197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-07 11:07:47 +00:00
Michael Niedermayer
b712fb6740 fix decoding of conformace streams AUD_MW_E.264 and BA1_FT_C.264 again (there where last correctly decoded with h264.c rev 1.96)
Originally committed as revision 4189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-06 17:04:03 +00:00
Michael Niedermayer
758082aff7 set time_base for variable fps too
Originally committed as revision 4187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-06 14:36:15 +00:00
Kevin Baragona
3b66c4c59a More spelling errors patch by (Kevin Baragona (kevinmb500 gawab com>)
Originally committed as revision 4180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-05 14:17:28 +00:00
Loren Merritt
a55f20bd9a fix storage of motion vectors for frames with more than 4096 macroblocks.
Originally committed as revision 4175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-03 21:49:18 +00:00
Loren Merritt
7c33ad19fd clear the DPB after seeking.
Originally committed as revision 4174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-03 06:53:59 +00:00
Michael Niedermayer
c0df9d75bd switch to native time bases
Originally committed as revision 4168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-30 21:43:59 +00:00
Loren Merritt
42251a2a4f MMX for H.264 deblocking filter
Originally committed as revision 4158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 01:01:41 +00:00
Loren Merritt
b80875c186 fix ref comparison in B-frame deblocker ('unused' and 'unavailable' were treated as different)
Originally committed as revision 4154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-24 21:06:22 +00:00
Mike Melanson
160d679c07 Ministry of English Composition, reporting for duty (and the word is "skipped", not "skiped"; "skiped" would rhyme with "hyped")
Originally committed as revision 4153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-24 17:21:11 +00:00
Loren Merritt
e2e5894a91 deblocking filter doesn't need to call fill_caches again. 1.4% faster decoding.
Originally committed as revision 4147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-21 20:38:42 +00:00
Loïc Le Loarer
debc2adb16 CABAC support for MBAFF I frames patch by (Loïc Le Loarer < lll+ffmpeg m4x org)
This patch corrects the support for I slice in CABAC and MBAFF mode.
This decodes correctly 6 more frames of the conformance suite.

Originally committed as revision 4109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-05 18:29:26 +00:00
Loïc Le Loarer
826de46ea3 CABAC support for MBAFF I frames patch by (Loïc Le Loarer | lll+ffmpeg m4x org)
Originally committed as revision 4106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-05 01:35:22 +00:00
Loren Merritt
048bfeeb12 display deblocking strength in FF_DEBUG_PICT_INFO
Originally committed as revision 4091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-27 10:58:21 +00:00
Loren Merritt
171070658e allow 16 refs with B-frames
Originally committed as revision 4090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-27 10:54:16 +00:00
Loïc Le Loarer
6ba71fc467 This is the second patch for MBAFF support, this adds the deblocking
filter code for the I slice.

With this patch, 4 more frames are decoded correctly from the
conformance streams.
patch by (Loïc Le Loarer <lll+ffmpeg m4x org>)

Originally committed as revision 4088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-27 00:44:11 +00:00
Loïc Le Loarer
3bf3d666a7 The cvs version 1.103 of h264.c brokes 13 conformance streams, this
patch corrects this and decodes the same streams as version 1.102.
patch by (Loïc Le Loarer <lll+ffmpeg m4x org>)

Originally committed as revision 4087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-27 00:27:37 +00:00
Loren Merritt
0149db6668 10l (compile fix)
Originally committed as revision 4032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-12 03:10:44 +00:00
Loren Merritt
4e4d983e8b Set keyframe flag only on IDR-frames (needed for reordering across I-frames).
Read vui bitstream restrictions (allows B-frame delay in advance, rather than waiting till we're out of order.)
Mark duplicate frames due to delay as duplicates.

Originally committed as revision 4028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-11 02:14:44 +00:00
Loren Merritt
885e88d252 remove an assert that was breaking compilation on some gccs.
Originally committed as revision 4020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-07 09:05:33 +00:00
Loic Le Loarer
6867a90b41 MBAFF I slice no deblocking patch by (Loic >>lll+ffmpeg m4x org<<)
Originally committed as revision 4018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-06 23:02:25 +00:00
Michael Niedermayer
deb13e3c73 spam
Originally committed as revision 4015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-06 19:59:37 +00:00
Måns Rullgård
26165f99c6 improved detection of "AVC1" style H.264 patch by (Måns Rullgård <mru inprovide com>)
Originally committed as revision 4013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-06 19:40:12 +00:00
Loren Merritt
a18030bb62 10l (fix reordering when B-frames are not present)
Originally committed as revision 4004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-05 00:14:21 +00:00
Loren Merritt
2f944356bf H.264: decode arbitrary frame orders and allow B-frames as references.
Originally committed as revision 4003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-04 12:47:38 +00:00
Loren Merritt
3622988f21 oops, other half of the vismv patch
Originally committed as revision 4001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-03 12:12:44 +00:00
Loren Merritt
b75e10d52c vismv didn't display 8x8 mvs in H.264
Originally committed as revision 4000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-03 07:21:23 +00:00
Loren Merritt
19fe8b4100 In-loop deblocking for B-frames.
Originally committed as revision 3979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-25 07:40:29 +00:00
Loren Merritt
738386a5ed 10l in implicit_weight_table
Originally committed as revision 3974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 09:27:46 +00:00
Loic Le Loarer
e7e09b49b4 remove goto and reindent patch by (Loic Le Loarer <lll+ffmpeg m4x org>)
Originally committed as revision 3960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-16 23:18:06 +00:00
Loic Le Loarer
6fbcaaa0ef INTRA PCM macroblocks support patch by (Loic )lll+ffmpeg m4x org)
This patch adds the support for INTRA PCM macroblocks in CAVLC and CABAC
mode, the deblocking needed a small modification and so did the
intra4x4_pred_mode prediction.

With this patch, the 5 streams of the conformance suite containing INTRA
PCM macroblocks now decode entirely, 4 are completely corrects, 1 is
incorrect since the first B slice because of deblocking in B slice not
yet implemented.

The code is not optimized for speed, it is not necessary IPCM
macroblocks are rare, but it could be optimized for code size, if
someone want to do this, feel free.

Originally committed as revision 3941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-07 00:10:28 +00:00
Loic Le Loarer
0bf796340a H.264 multiple slice support in CABAC patch by (Loic (lll+ffmpeg m4x org)
3 more streams of the conformance suite decode to the
end instead of failing on an assert (CABACI3_Sony_B.jsv,
CABAST3_Sony_E.jsv and CABASTBR3_Sony_B.jsv), they are still false since
the first B slice probably because of deblocking in B slices not yet
implemented.

Originally committed as revision 3932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-04 02:47:45 +00:00
Loïc Le Loarer
0d315f281c H.264 multiplce instance in reference list patch by (Loic <lll+ffmpeg m4x org )
With this patch, the streams CAWP5_TOSHIBA_E.264 and CVWP5_TOSHIBA_E.264
are completely decoded

Originally committed as revision 3917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-01 11:26:11 +00:00
Loïc Le Loarer
dc032f3332 correct long term picture management patch by (Loic <lll+ffmpeg m4x org>)
fixes decoding of MR2_MW_A.264

Originally committed as revision 3916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-01 11:12:53 +00:00
Michael Niedermayer
bd9ea6a462 fixing missaligned memory accesses in fill_rectangle()
Originally committed as revision 3901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-30 02:16:50 +00:00
Michael Niedermayer
4ae33c9b52 simplify
Originally committed as revision 3873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-23 19:11:02 +00:00
Michael Niedermayer
934982c4ac avoid buf_size == 0 checks in every decoder
Originally committed as revision 3872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-23 18:09:06 +00:00
Michael Niedermayer
46f2f05f59 simplify deblock
Originally committed as revision 3868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-23 14:03:13 +00:00
Michael Niedermayer
3b33943e9b simplify
reference list 1 swaping fix? seems its not used by any samples i found though

Originally committed as revision 3863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-23 03:49:36 +00:00
Loic Le Loarer
827c91bfb7 H.264 b ref pic list order and long term pictures patch by (Loic Le Loarer <loic.le-loarer polytechnique org>)
Originally committed as revision 3851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-19 17:35:51 +00:00
Michael Niedermayer
eed4ebd22c div by zero aspect fix
Originally committed as revision 3850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-19 13:24:43 +00:00
Michael Niedermayer
0ecca7a49f various security fixes and precautionary checks
Originally committed as revision 3822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-12 00:16:25 +00:00
Gert Vervoort
9c6221ae62 10l (obmc_scratchpad not always initialize)
patch by (Gert Vervoort <gert.vervoort at hccnet dot nl>)

Originally committed as revision 3816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-09 00:48:37 +00:00
Loren Merritt
934b0821db 10l: scratchpad could be allocated before its size was known.
Originally committed as revision 3812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-08 08:56:18 +00:00
Loren Merritt
9f2d1b4ff5 H.264 weighted prediction.
Bidirectional weighting has not been tested for bitwise accuracy, but looks correct.

Originally committed as revision 3811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-07 05:56:07 +00:00
Loren Merritt
1b2dcdc1e0 reduce stutter if we learn too late that the stream contains B-frames.
Originally committed as revision 3801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-04 10:26:47 +00:00
Loren Merritt
a4dae92b58 Sort B-frames into display order.
Originally committed as revision 3799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-04 01:12:48 +00:00
Michael Niedermayer
17bfbd70ab 10l
Originally committed as revision 3788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-31 14:02:35 +00:00
Loïc Le Loarer
579448a083 - correct several errors on the deblocking accross slice boundaries.
- add support for deblocking_filter_idc==2 which means no deblocking accross slice.
- correct MMCO with multiple slices.

5 more streams from H264 conformance suite are now correctly decoded.

patch by (Loic <lll+ffmpeg >< m4x dot org>)

Originally committed as revision 3786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-31 00:07:17 +00:00
Roberto Togni
f31ecffb4f Fix avc1 if there is nore than one nal per mov frame
Originally committed as revision 3785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-30 18:05:54 +00:00
Loren Merritt
5ad984c997 implement B_DIRECT and B_SKIP macroblock types.
fix reference list sorting for B-frames.
fix mv caching for mixed list B-blocks.

Originally committed as revision 3775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-29 04:17:52 +00:00
Loren Merritt
650cec0c8c vismv for h264 displayed incorrect motion vectors.
Originally committed as revision 3765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-20 03:03:37 +00:00
Loic Le Loarer
5175b9376f add multi slice support
for main profile H.264 streams. I have tested this on all H264
conformance streams and comparing the result with the current CVS
version, there is 8 streams which decode correctly more frames and 2
streams which are now completely correct with my patch.

This patch also correct some typo in comments.

patch by (Loic Le Loarer <lll+ffmpeg >at< m4x org>)

Originally committed as revision 3758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-18 03:49:07 +00:00
Michael Niedermayer
bf835aee11 uppercase codec_tag=AVC1 support
Originally committed as revision 3746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-09 22:04:15 +00:00
Michael Niedermayer
a979965313 out of buffer access fix
Originally committed as revision 3744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-09 01:01:11 +00:00
Burkhard Plaum
073c2593c9 Memory leak fix patch by (Burkhard Plaum <plaum >at< ipf.uni-stuttgart )dot( de>)
Originally committed as revision 3717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-27 18:10:06 +00:00
Loren Merritt
7d7f635dc0 Fixed typo which caused incorrect motion prediction in B-frames. patch by (Loren Merritt <lorenm ta u tod washington tod edu>)
Originally committed as revision 3709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-24 22:50:49 +00:00
Michael Niedermayer
5d0e4cb87a segfault fix
Originally committed as revision 3656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-31 00:42:43 +00:00
Michael Niedermayer
db4d9faf8d optimzation
Originally committed as revision 3630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-24 02:59:36 +00:00
Michael Niedermayer
58897665ae optimization
Originally committed as revision 3629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-24 02:08:45 +00:00
Michael Niedermayer
7b89e963e8 fix CABAC+LOOP missmatch
Originally committed as revision 3628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-23 21:13:31 +00:00