Statistics
| Branch: | Revision:

ffmpeg / libavcodec / h264.c @ ad1ea1f1

History | View | Annotate | Download (325 KB)

# Date Author Comment
ad1ea1f1 04/09/2007 02:10 PM Reinhard Nissl

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....

6ac9696e 04/09/2007 01:39 PM Reinhard Nissl

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...

ff82e429 04/09/2007 12:55 PM Reinhard Nissl

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....

e42dba48 04/07/2007 02:09 PM Diego Biurrun

typos/grammar

Originally committed as revision 8641 to svn://svn.ffmpeg.org/ffmpeg/trunk

2b100ab2 04/04/2007 11:51 AM Stefan Huehner

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

44965991 03/29/2007 02:20 PM Panagiotis Issaris

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

b21c9af9 03/14/2007 11:13 AM Baptiste Coudurier

reindent after last commit

Originally committed as revision 8399 to svn://svn.ffmpeg.org/ffmpeg/trunk

1153be3b 03/14/2007 11:12 AM Baptiste Coudurier

h264 complete frames parsing support

Originally committed as revision 8398 to svn://svn.ffmpeg.org/ffmpeg/trunk

56c70e1d 03/03/2007 09:33 PM Michael Niedermayer

check for no frame and prevent segfault

Originally committed as revision 8211 to svn://svn.ffmpeg.org/ffmpeg/trunk

66a4b2c1 03/02/2007 11:35 PM Michael Niedermayer

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

a9c9a240 02/27/2007 09:39 AM Michel Bardiaux

Supply context to tprintf

Originally committed as revision 8142 to svn://svn.ffmpeg.org/ffmpeg/trunk

f66e4f5f 02/25/2007 10:27 AM Reimar Döffinger

Add av_ prefix to clip functions

Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk

0268a54a 02/25/2007 02:38 AM Michael Niedermayer

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

bd91fee3 02/24/2007 12:58 AM Alexander Strange

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

97bbb885 02/21/2007 09:16 PM Michael Niedermayer

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

0afd2a92 02/21/2007 10:15 AM Diego Biurrun

cosmetics: Fix a common typo, sepErate --> sepArate.

Originally committed as revision 8047 to svn://svn.ffmpeg.org/ffmpeg/trunk

4672503d 02/19/2007 04:44 AM Loren Merritt

simplify in fill_caches

Originally committed as revision 8026 to svn://svn.ffmpeg.org/ffmpeg/trunk

fda51641 02/18/2007 01:37 AM Michael Niedermayer

factorize more calls to fill_rectangle()

Originally committed as revision 8017 to svn://svn.ffmpeg.org/ffmpeg/trunk

d19f5acb 02/18/2007 01:24 AM Michael Niedermayer

factorize fill_rectangle() calls

Originally committed as revision 8016 to svn://svn.ffmpeg.org/ffmpeg/trunk

8d6947bc 02/16/2007 09:50 PM Michael Niedermayer

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

3425501d 02/16/2007 09:42 PM Michael Niedermayer

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

187696fa 02/16/2007 09:34 PM Michael Niedermayer

fix 2nd ref_count check
add list_count

Originally committed as revision 7998 to svn://svn.ffmpeg.org/ffmpeg/trunk

0565c648 02/16/2007 09:29 PM Michael Niedermayer

fix ref_count check

Originally committed as revision 7997 to svn://svn.ffmpeg.org/ffmpeg/trunk

65a0f3fd 02/16/2007 09:27 PM Michael Niedermayer

factorize mv_cache and mvd_cache init

Originally committed as revision 7996 to svn://svn.ffmpeg.org/ffmpeg/trunk

43ff0714 02/16/2007 09:25 PM Michael Niedermayer

simplify

Originally committed as revision 7995 to svn://svn.ffmpeg.org/ffmpeg/trunk

6ff9b422 02/09/2007 10:25 PM Francois Oligny-Lemieux

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

08eb8fcd 01/23/2007 07:32 PM Michael Niedermayer

fix segfault with darkkben.free.fr/corrupted_h264.mp4

Originally committed as revision 7671 to svn://svn.ffmpeg.org/ffmpeg/trunk

2f29af39 01/23/2007 01:42 PM Michael Niedermayer

flame

Originally committed as revision 7664 to svn://svn.ffmpeg.org/ffmpeg/trunk

6f9ca74b 01/23/2007 01:36 PM Michael Niedermayer

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

9170e345 01/23/2007 12:45 PM Michael Niedermayer

adding assert to protect delayed_pic

Originally committed as revision 7661 to svn://svn.ffmpeg.org/ffmpeg/trunk

88e7a4d1 01/20/2007 01:50 PM Michael Niedermayer

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

fead30d4 01/19/2007 10:12 PM Alex Beregszaszi

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

50eaa857 01/19/2007 12:41 PM Guillaume Poirier

remove useless cast that makes code unreadable

Originally committed as revision 7586 to svn://svn.ffmpeg.org/ffmpeg/trunk

ac658be5 01/19/2007 09:37 AM Francois Oligny-Lemieux

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...

b18e5c03 01/16/2007 05:46 PM Reimar Döffinger

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

6de06295 01/13/2007 12:56 AM Michael Niedermayer

fix 16 CABAC_BIT * 10l bug introduced in r6578

Originally committed as revision 7440 to svn://svn.ffmpeg.org/ffmpeg/trunk

849f1035 12/08/2006 12:35 AM Måns Rullgård

rename always_inline to av_always_inline and move to common.h

Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk

acd8d10f 12/07/2006 09:59 AM Panagiotis Issaris

Making rem6 and div6 globally visible and thus adding prefixes.

Originally committed as revision 7245 to svn://svn.ffmpeg.org/ffmpeg/trunk

14e95e2c 12/07/2006 09:47 AM Panagiotis Issaris

Removing unused code

Originally committed as revision 7244 to svn://svn.ffmpeg.org/ffmpeg/trunk

a074f143 12/06/2006 08:17 AM Panagiotis Issaris

Export symbols of several H.264 intra prediction functions

Originally committed as revision 7232 to svn://svn.ffmpeg.org/ffmpeg/trunk

a083f53c 12/05/2006 10:18 PM Alexander Chemeris

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

3ee5c5b7 12/05/2006 10:05 PM Panagiotis Issaris

Removing unused code

Originally committed as revision 7228 to svn://svn.ffmpeg.org/ffmpeg/trunk

550e66cb 12/05/2006 09:52 PM Panagiotis Issaris

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

55fde95e 11/12/2006 08:08 PM Måns Rullgård

rename cropTbl -> ff_cropTbl

Originally committed as revision 6992 to svn://svn.ffmpeg.org/ffmpeg/trunk

c2212338 11/09/2006 04:40 PM Panagiotis Issaris

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

65342b2b 11/01/2006 07:34 PM Michael Niedermayer

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

d55f46e5 11/01/2006 05:18 PM Reimar Döffinger

Reenable AMD64 optimizations for cabac accidentially disabled in r6852

Originally committed as revision 6853 to svn://svn.ffmpeg.org/ffmpeg/trunk

419b8784 11/01/2006 05:01 PM Diego Biurrun

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

d5cd50ed 10/29/2006 01:14 PM Diego Biurrun

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

e08f5806 10/20/2006 09:34 PM Michael Niedermayer

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

f624f029 10/19/2006 02:54 PM Michael Niedermayer

slightly faster decode_cabac_mb_mvd()

Originally committed as revision 6735 to svn://svn.ffmpeg.org/ffmpeg/trunk

aa1da263 10/19/2006 10:33 AM Michael Niedermayer

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

ebd624b6 10/19/2006 01:19 AM Michael Niedermayer

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...

30865e2a 10/17/2006 11:59 PM Michael Niedermayer

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

eb73bf72 10/17/2006 10:18 PM Michael Niedermayer

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

b566bd65 10/13/2006 04:19 PM Michael Niedermayer

simplify escape decoding

Originally committed as revision 6685 to svn://svn.ffmpeg.org/ffmpeg/trunk

de1013e1 10/12/2006 06:41 PM Michael Niedermayer

10l int vs uint8_t

Originally committed as revision 6675 to svn://svn.ffmpeg.org/ffmpeg/trunk

851ded89 10/12/2006 02:49 PM Michael Niedermayer

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

1f6049f5 10/12/2006 12:27 PM Michael Niedermayer

int->uint8_t for 2 tables

Originally committed as revision 6673 to svn://svn.ffmpeg.org/ffmpeg/trunk

c26abfa5 10/11/2006 11:17 PM Diego Biurrun

Rename ABS macro to FFABS.

Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk

a957c27b 10/11/2006 09:34 PM Loren Merritt

more prefetches, 2% faster h264

Originally committed as revision 6664 to svn://svn.ffmpeg.org/ffmpeg/trunk

d61c4e73 10/11/2006 02:44 PM Michael Niedermayer

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

0fa352c7 10/11/2006 01:21 PM Michael Niedermayer

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

7822e1c1 10/09/2006 09:14 PM Michael Niedermayer

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

1c2a417f 10/09/2006 06:20 PM Michael Niedermayer

move outcommented START/STOP_TIMER to a hopefully better place for benchmarking ...

Originally committed as revision 6605 to svn://svn.ffmpeg.org/ffmpeg/trunk

99ce1087 10/08/2006 11:24 AM Michael Niedermayer

5% faster get_cabac()

Originally committed as revision 6586 to svn://svn.ffmpeg.org/ffmpeg/trunk

e16c407a 10/08/2006 10:11 AM Diego Biurrun

output typo fixes

Originally committed as revision 6585 to svn://svn.ffmpeg.org/ffmpeg/trunk

5659b509 10/07/2006 03:44 PM Michael Niedermayer

refill cabac variables in 16bit steps, 3% faster get_cabac()

Originally committed as revision 6578 to svn://svn.ffmpeg.org/ffmpeg/trunk

b78e7197 10/07/2006 03:30 PM Diego Biurrun

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

e6e77eb6 10/04/2006 07:08 AM Loren Merritt

simplify write_back_motion for skip mbs

Originally committed as revision 6548 to svn://svn.ffmpeg.org/ffmpeg/trunk

2833fc46 10/01/2006 09:25 PM Loren Merritt

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

191e8ca7 09/27/2006 07:47 PM Måns Rullgård

fix some signedness warnings

Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk

776fe466 08/29/2006 03:07 AM Loren Merritt

slightly faster deblock

Originally committed as revision 6121 to svn://svn.ffmpeg.org/ffmpeg/trunk

3e20143e 08/28/2006 09:33 AM Loren Merritt

mmx implementation of deblocking strength decision.
2-3% faster h264.

Originally committed as revision 6113 to svn://svn.ffmpeg.org/ffmpeg/trunk

ae08a563 07/27/2006 08:37 PM Loren Merritt

10l in r5768 (broke mbaff)

Originally committed as revision 5831 to svn://svn.ffmpeg.org/ffmpeg/trunk

717b1733 07/16/2006 06:55 PM Loren Merritt

slightly faster h264 fill_caches()

Originally committed as revision 5768 to svn://svn.ffmpeg.org/ffmpeg/trunk

af9e7d18 07/09/2006 12:02 PM Måns Rullgård

--enable/disable parsers. Warning: some combinations are broken.

Originally committed as revision 5691 to svn://svn.ffmpeg.org/ffmpeg/trunk

784036e4 07/04/2006 05:06 PM Michael Niedermayer

simplify intra prediction mode decoding

Originally committed as revision 5612 to svn://svn.ffmpeg.org/ffmpeg/trunk

91c58c94 07/01/2006 05:33 PM Måns Rullgård

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

c4da83fb 06/12/2006 09:30 AM Loren Merritt

h264: accept rbsp_trailing longer than 1 byte

Originally committed as revision 5467 to svn://svn.ffmpeg.org/ffmpeg/trunk

b3aaa7be 05/29/2006 04:39 PM Michael Niedermayer

typo me thinks ...

Originally committed as revision 5421 to svn://svn.ffmpeg.org/ffmpeg/trunk

5d18eaad 05/28/2006 10:44 PM Loren Merritt

h264: MBAFF interlaced decoding

Originally committed as revision 5419 to svn://svn.ffmpeg.org/ffmpeg/trunk

67a82086 05/28/2006 10:28 PM Loren Merritt

h264: faster fill_rectangle()

Originally committed as revision 5418 to svn://svn.ffmpeg.org/ffmpeg/trunk

2d661e07 05/10/2006 11:05 AM Michael Niedermayer

cosmetics (initalize variables where they are used)

Originally committed as revision 5356 to svn://svn.ffmpeg.org/ffmpeg/trunk

11b68168 05/10/2006 10:57 AM Michael Niedermayer

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

09786209 05/05/2006 06:08 PM Loren Merritt

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

89ddb72a 04/30/2006 07:31 PM Loren Merritt

warn on interlaced streams

Originally committed as revision 5337 to svn://svn.ffmpeg.org/ffmpeg/trunk

2848ce84 04/29/2006 12:43 AM Loren Merritt

don't force asserts in release builds. 2% faster h264.

Originally committed as revision 5332 to svn://svn.ffmpeg.org/ffmpeg/trunk

2ea39252 03/25/2006 09:46 AM Loren Merritt

10l in 1.199 (write_back_motion with B-pyramid + spatial)

Originally committed as revision 5215 to svn://svn.ffmpeg.org/ffmpeg/trunk

513fbd8e 03/23/2006 08:16 PM Loren Merritt

prefetch pixels for future motion compensation. 2-5% faster h264.

Originally committed as revision 5203 to svn://svn.ffmpeg.org/ffmpeg/trunk

53b19144 03/22/2006 12:41 PM Loren Merritt

1.5x faster write_back_motion, 1-3% overall

Originally committed as revision 5198 to svn://svn.ffmpeg.org/ffmpeg/trunk

4cb8574d 03/13/2006 11:46 PM Michael Niedermayer

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

bf4665ee 03/09/2006 08:05 AM David S. Miller

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

267f7edc 03/08/2006 11:43 AM Steve L'Homme

(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

548a1c8a 03/07/2006 10:45 PM Loren Merritt

h264_idct8_add_mmx

Originally committed as revision 5123 to svn://svn.ffmpeg.org/ffmpeg/trunk

9e4cc776 03/04/2006 03:57 AM Loren Merritt

keyframe flag was wrong if SEIs followed the keyframe

Originally committed as revision 5107 to svn://svn.ffmpeg.org/ffmpeg/trunk

1bd86246 02/25/2006 10:41 PM Måns Rullgård

kill some warnings

Originally committed as revision 5063 to svn://svn.ffmpeg.org/ffmpeg/trunk

285b570f 02/25/2006 10:15 PM Loren Merritt

fix a memory leak on seeking.

Originally committed as revision 5062 to svn://svn.ffmpeg.org/ffmpeg/trunk

85ed1022 02/22/2006 05:59 AM Loren Merritt

minor simplifications in cabac_mb_type

Originally committed as revision 5048 to svn://svn.ffmpeg.org/ffmpeg/trunk

db8a64cb 02/16/2006 01:16 AM Loren Merritt

don't arbitrarily limit delta_qp

Originally committed as revision 5026 to svn://svn.ffmpeg.org/ffmpeg/trunk