Commit Graph
59 Commits
Author SHA1 Message Date
Alexander Strange d2d5e06735 H.264: Fix memory leaks with multithreading.
The threads' contexts and rbsp_buffers were not freed at the end
of decoding.

Fixes issue 1581

Originally committed as revision 19207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 21:50:36 +00:00
Alexander Strange 2b9969a945 H264: Fix out of bounds reads in SSSE3 MC
Reading above src[-2] isn't safe, so move loads and palignr ahead
3 pixels to load starting at the first pixel actually used.

Fixes issue941.

Originally committed as revision 18999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 22:19:14 +00:00
Alexander Strange b6188c5a55 Put dispatch_tab in the rodata section for macho64.
This fixes linking shared libavcodec, since the linker doesn't allow
text relocations in shared libraries under Darwin/x86_64.

Based on a patch by Art Clarke (aclarke xuggle com)

Originally committed as revision 17197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 00:57:22 +00:00
Alexander Strange 898189880b H264: Change left_block_options to uint8_t from int, saving a little space.
Originally committed as revision 17147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-11 06:03:18 +00:00
Alexander Strange d43696309a Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of NALs in rbsp_buffer.
Fixes valgrind uninitialized value warnings at the end of decoding H.264
frames.

Originally committed as revision 16230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 01:11:52 +00:00
Alexander Strange 1ca610c015 Allocate and clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of mkv
extradata.

Fixes valgrind invalid read warnings during H.264 extradata parsing.

Originally committed as revision 16229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 01:00:44 +00:00
Alexander Strange 385c820b4a Add a new -debug option for tracing calls to the default get/release_buffer functions.
Originally committed as revision 14406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 01:57:10 +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
Alexander Strange b1e12f99a2 Print the address of the AVCodecContext in av_log().
This makes debug output much easier to read when the
same codec is open more than once.

Originally committed as revision 14237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 17:17:35 +00:00
Alexander Strange 88c5cadc2a Cosmetics: reindent.
Originally committed as revision 27279 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-07-13 22:27:50 +00:00
Alexander Strange 2ac6ff2ecb Remove const vector casts.
Fixes compilation with altivec and -std=gnu99.

Originally committed as revision 27278 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-07-13 22:27:19 +00:00
Alexander Strange bc31447225 Make the function prototype visible to comply with C99 inline.
Fixes building with gcc -std=gnu99.

Originally committed as revision 14140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-09 17:51:57 +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
Alexander Strange 74fd9022b5 Realign newlines.
Originally committed as revision 14023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-28 18:30:50 +00:00
Alexander Strange 00969e1c59 Use MANGLE() instead of memory operands to read globals.
(fixes out of registers with apple gcc 4.2)

Originally committed as revision 14022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-28 18:27:31 +00:00
Alexander Strange b6a66897b6 Remove pointless AVFrame* casting.
Originally committed as revision 14011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 18:53:41 +00:00
Alexander Strange 39047aecac Remove duplicate emms.
Originally committed as revision 14010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 18:52:02 +00:00
Alexander Strange 8b9bda1c37 Remove commented-out code.
Originally committed as revision 14009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 18:51:01 +00:00
Alexander Strange 2f3b1b801a Export qscale so that postprocessing works.
Originally committed as revision 14008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 18:50:06 +00:00
Alexander Strange de7bdf58f4 Remove unused PutBitContext.
Originally committed as revision 14007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 18:47:01 +00:00
Alexander Strange ff558537f0 Don't set mm_flags in fft-test, since it doesn't do anything anyway.
Originally committed as revision 13968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 17:37:47 +00:00
Alexander Strange dafe882457 Use a local variable instead of mm_flags in dct-test.
Originally committed as revision 13967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 17:33:55 +00:00
Alexander Strange f67a10cd0c Define mm_flags/support to be 0 on architectures where they don't exist.
Make sure we don't try to set them if that's the case.
This lets dct-test and fft-test build with --disable-mmx on x86, but not yet on ARM.

Originally committed as revision 13957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-24 23:51:17 +00:00
Alexander Strange 5da1ab1ae1 Previous commit missed an initialization - this fixes FATE's test sample.
Originally committed as revision 13131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 23:39:55 +00:00
Alexander Strange 488aca9b1e Set and use h->mb_xy in SVQ3 too.
Originally committed as revision 13129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 20:26:35 +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
Alexander Strange f946a9a431 Use check_cflags for -mdynamic-no-pic so third-party compilers will work on Darwin.
Originally committed as revision 13007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 16:12:24 +00:00
Alexander Strange f1ae14d20d Xvid IDCTs are not under CONFIG_GPL, so don't require it when using them.
Originally committed as revision 12880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 15:41:25 +00:00
Alexander Strange ad246860fa Test idct_xvid_sse2() in dct-test.
Originally committed as revision 12844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 01:54:16 +00:00
Alexander Strange f73a6393e7 Add a new xvid-style IDCT using SSE2.
Originally committed as revision 12843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 01:36:14 +00:00
Alexander Strange 0e956ba277 Add a new IDCT permutation, used in xvid_sse2 and possibly future similar IDCTs.
Originally committed as revision 12842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 01:34:55 +00:00
Alexander Strange 54a0b6e590 Add a header file to declare Xvid IDCT functions.
patch by Alexander Strange, astrange ithinksw com

Originally committed as revision 12794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-12 16:54:36 +00:00
Alexander Strange 8e5f465f4c Increase alignment for DCT block arrays from 8 to 16
Patch by Alexander Strange ( astrange ithinksw com )

Originally committed as revision 12767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-08 01:09:33 +00:00
Alexander Strange 55727a835b Altivec and SSE2 require 16-byte alignment, so make sure they get it
patch by Alexander Strange %astrange A ithinksw P com%

Originally committed as revision 12629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-30 10:30:33 +00:00
Alexander Strange 3794b92819 check mm_flags for each DCT and skips the ones that can't be run
patch by Alexander Strange %astrange A ithinksw P com%

Originally committed as revision 12628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-30 10:29:28 +00:00
Alexander Strange 1a7ee380c5 get rid of the useless DCT_ERROR() macro
patch by Alexander Strange %astrange A ithinksw P com%

Originally committed as revision 12627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-30 10:28:03 +00:00
Alexander Strange 28c47a423b Set mm_flags in dct-test to fix floating math.
Patch by Alexander Strange \astrange ithinksw com/

Originally committed as revision 12580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-25 14:34:27 +00:00
Alexander Strange 86593486b4 Fix 64 bit shared library compilation with MMX2 by properly using PIC mangling.
patch by Alexander Strange, astrange ithinksw com

Originally committed as revision 26270 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-03-22 18:22:53 +00:00
Alexander Strange df22c35dfb Split MANGLE macro into LOCAL_MANGLE AND EXTERN_PREFIX parts
so that LOCAL_MANGLE can be used without EXTERN_PREFIX.
patch by Alexander Strange, astrange ithinksw com

Originally committed as revision 12558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-22 18:15:12 +00:00
Alexander Strange b58412f106 Check for sys/mman.h and set appropriate definitions.
patch by Alexander Strange, astrange ithinksw com

Originally committed as revision 12503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-19 10:11:16 +00:00
Alexander Strange d7f0920bd7 Check for and set HAVE_MMX2, it is used in several places.
patch by Alexander Strange, astrange ithinksw com

Originally committed as revision 12487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-18 12:32:55 +00:00
Alexander Strange 8b83d56893 Fix configure to properly build without PIC by default on Darwin
Patch by Alexander Strange (astrange ithinksw com)

Originally committed as revision 12425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-12 23:15:57 +00:00
Alexander Strange 3518c5a96b fix crash on non-AltiVec powered machines: MPV_common_init_altivec doesn't check mm_flags
Patch by Alexander Strange %astrange A ithinksw PP com %

Originally committed as revision 12137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-18 21:35:31 +00:00
Alexander Strange d479d58cb6 Fix clicking sound in xa-adpcm.
patch by Alexander Strange, astrange ithinksw com
Subject: Re: [FFmpeg-devel] [PATCH] fix clicking sound in xa-adpcm
Date: Thu, 27 Dec 2007 03:20:24 -0500

Originally committed as revision 11329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-27 11:55:53 +00:00
Alexander Strange bc2bc41bb8 Fix missing chroma in version 3 STR.
Closes issue 290
Patch by Alexander Strange: astrange ithinksw com

Originally committed as revision 11170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-05 13:11:18 +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
Alexander Strange 074a9d2b58 The configure test for ebx fails because it is run before the -mdynamic-no-pic
check. Move it before the ebx test and remove -mdynamic-no-pic from
VHOOKCFLAGS later on.
patch by Alexander Strange, astrange ithinksw com
reference:
Subject: [Ffmpeg-devel] [PATCH] fix CONFIG_EBX_AVAILABLE on Darwin/x86
Date: Fri, 13 Apr 2007 17:24:55 -0400

Originally committed as revision 8863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-01 21:05:15 +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
Alexander Strange eacad59e03 Fix compilation with --disable-encoders.
patch by Alexander Strange, astrange at ithinksw dot com

Originally committed as revision 6410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-01 18:19:49 +00:00