Commit Graph

293 Commits

Author SHA1 Message Date
Michael Niedermayer c62c07d3d7 multithreaded mpeg2 decoding
Originally committed as revision 2810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-23 20:56:56 +00:00
Michael Niedermayer 9c3d33d67f multithreaded/SMP motion estimation
multithreaded/SMP encoding for MPEG1/MPEG2/MPEG4/H263
all pthread specific code is in pthread.c
to try it, run configure --enable-pthreads and ffmpeg ... -threads <num>
the internal thread API is a simple AVCodecContext.execute() callback which executes a given function pointer with different arguments and returns after finishing all, that way no mutexes or other thread-mess is needed outside pthread.c

Originally committed as revision 2772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-13 17:54:10 +00:00
Alex Beregszaszi fe455f3328 get_bit_count -> put_bits_count
Originally committed as revision 2752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-06 15:27:31 +00:00
Michael Niedermayer 303e50e65b closed gop support & flags2 as all bits in flags are used
and a few minor things i forgot to commit ...

Originally committed as revision 2718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-22 19:48:28 +00:00
Michael Niedermayer 8f2ab83318 copyright year update of the files i touched and remembered, things look annoyingly unmaintained otherwise
Originally committed as revision 2686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-10 16:04:55 +00:00
Michael Niedermayer 783df5f347 denoise_dct_mmx()
Originally committed as revision 2657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-02 22:29:08 +00:00
Michael Niedermayer bb198e198a interlaced motion estimation
interlaced mpeg2 encoding
  P & B frames
  rate distored interlaced mb decission
  alternate scantable support
4mv encoding fixes (thats also why the regression tests change)
passing height to most dsp functions
interlaced mpeg4 encoding (no direct mode MBs yet)
various related cleanups
disabled old motion estimaton algorithms (log, full, ...) they will either be fixed or removed

Originally committed as revision 2638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-30 16:07:57 +00:00
Wolfgang Hesseler 0c9bbaec60 motion vector vissualization improvements patch by (Wolfgang Hesseler <qv at multimediaware dot com>)
Originally committed as revision 2636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-30 02:12:12 +00:00
Michael Niedermayer 1031fabd14 picture number fixes
Originally committed as revision 2634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-29 22:25:08 +00:00
Michael Niedermayer d60a8f85d7 vbv_delay
Originally committed as revision 2623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-17 19:53:05 +00:00
Michael Niedermayer d50635cd24 split intra / inter dequantization
Originally committed as revision 2607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-14 02:57:00 +00:00
Michael Niedermayer d55f7b6521 cleanup
Originally committed as revision 2605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-13 20:41:33 +00:00
Michael Niedermayer 11dffbe1da stuffing to stay above min_bitrate
Originally committed as revision 2602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-12 21:30:47 +00:00
Michael Niedermayer fb0666392c CBR improvements
Originally committed as revision 2601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-12 19:26:55 +00:00
Wolfgang Hesseler 8d7ec294c4 move motion_val & mb_type to AVFrame patch by (Wolfgang Hesseler <qv at multimediaware dot com>)
cleanups & fixes by me

Originally committed as revision 2579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-09 01:49:56 +00:00
Michael Niedermayer ba58dabc5c h263 slice structured mode
slice cleanup

Originally committed as revision 2568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-07 01:33:45 +00:00
Michael Niedermayer cdb4e730e4 cleanup
Originally committed as revision 2562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-04 18:46:49 +00:00
Michael Niedermayer b40cd4e0e4 rv20 (h263) b frame decoding support
Originally committed as revision 2561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-04 18:34:47 +00:00
Michael Niedermayer 554daa2402 cleanup
Originally committed as revision 2558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-03 16:47:17 +00:00
Michael Niedermayer fcfee63b12 split ff_h263_decode_mb() into h263 and mpeg4 versions
Originally committed as revision 2554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-03 01:16:35 +00:00
Michael Niedermayer 332f9ac4e3 h263 loop filter
fixed h263 modified quantization
CODEC_FLAG_OBMC

Originally committed as revision 2549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-01 15:23:14 +00:00
Michael Niedermayer 43dc0bfd2e cleanup
Originally committed as revision 2545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-30 17:30:18 +00:00
Michael Niedermayer 68b94c354d rv20 decoder
Originally committed as revision 2543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-30 14:35:35 +00:00
Michael Niedermayer dba019daba h263 alternative inter vlc support
Originally committed as revision 2541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-29 08:37:51 +00:00
Michael Niedermayer 8fc7c99369 10000l
Originally committed as revision 2538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-28 23:38:43 +00:00
Michael Niedermayer 821cb11f76 noise reduction of dct coefficients
Originally committed as revision 2468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-02 23:19:47 +00:00
Michael Niedermayer 5f1948111a pts fix and related fixes
Originally committed as revision 2452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-30 16:58:49 +00:00
Ivan Kalvachev a579db0c4f XvMC speedup by removing one memcpy and doing MB packing
Originally committed as revision 2442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-27 23:22:43 +00:00
Michael Niedermayer 9d9e31722a 112 bytes smaller MpegEncContext
Originally committed as revision 2414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 15:36:46 +00:00
Michael Niedermayer 45686da26d move blocks away MpegEncContext (7.4 -> 5.8k)
Originally committed as revision 2413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 12:01:21 +00:00
Michael Niedermayer 642ccefbc8 move mmx quantizer matrixes out of MpegEncContext (23k -> 7k) (no meassureable slowdown)
Originally committed as revision 2412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 11:23:39 +00:00
Michael Niedermayer 7e4995c388 move q_*_matrix out of MpegEncContext (40k ->23k) dct_quantize() is even slightly faster now, dont ask my why ...
Originally committed as revision 2411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-22 10:59:39 +00:00
Michael Niedermayer b465449eb7 dynamic alloc of picture structs instead of putting them in MpegEncContext
Originally committed as revision 2410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-21 19:55:31 +00:00
Michael Niedermayer 5ff85f1d8b AVRational
sample_aspect_ratio
aspect ratio in JPEG JFIF is SAR not DAR !
removed nonsense SAR guessing code
various related cleanups
bugs?

Originally committed as revision 2403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-20 20:23:46 +00:00
Michael Niedermayer 6571e41dcd picture buffer cleanup, this fixes a assertion failure (if assertion checking was manualy enabled for utils.c) and a memleak at least
Originally committed as revision 2392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-16 00:21:54 +00:00
Michael Niedermayer 34790165dc intra dc treshold != 0 decoding fixed
Originally committed as revision 2363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-12 14:01:53 +00:00
Michael Niedermayer 158c7f059c use lagrange multipler instead of qp for ratecontrol, this may break some things, tell me ASAP if u notice anything broken
quality which was 1..31 float is now a 1..FF_LAMBDA_MAX int, and FF_QP2LAMBDA * qp can be used to convert to the new range

Originally committed as revision 2348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-07 11:32:40 +00:00
Michael Niedermayer f2f6134b9e rate distortion optimal cbp support (h263/mpeg4 non intra only)
Originally committed as revision 2323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-30 22:18:43 +00:00
Fabrice Bellard b160941221 removed warnings
Originally committed as revision 2248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-09 22:59:16 +00:00
Michael Niedermayer e4eadb4b44 oooooops, having 2 Eterms open and doing cvs diff in one and cvs commit in the other sucks, especially if they are in different directories (MPlayer/main/libavcodec vs. ffmpeg/libavcodec)
Originally committed as revision 2165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-25 22:54:53 +00:00
Michael Niedermayer 029911d1c3 mpeg2 encoding
Originally committed as revision 2164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-25 22:47:32 +00:00
Michael Niedermayer d6eb3c500a custom quant matrix encoding support
Originally committed as revision 2135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-22 22:18:08 +00:00
Michael Niedermayer c3bf0288c9 PSX MDEC decoder, based upon some code from Sebastian Jedruszkiewicz <elf at frogger dot rules dot pl>
note: completly untested, no demuxer yet

Originally committed as revision 2134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-22 14:59:04 +00:00
Michael Niedermayer 7d1c3fc1d6 rate distortion mb decision support
fix decoding of old %16!=0 divx
fix assertion failure in motion_est.c

Originally committed as revision 2094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-29 02:09:12 +00:00
Michael Niedermayer 7a06ff148d AVCodec.flush()
ff_draw_horiz_band() in coded order / cleanup

Originally committed as revision 2064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-17 12:29:07 +00:00
Michael Niedermayer 44a2950f72 flv cleanup / simplify
Originally committed as revision 2026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-10 00:15:27 +00:00
Garrick Meeker d4f5d74a54 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
Originally committed as revision 2024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-09 23:10:59 +00:00
Michael Niedermayer c009df3f86 make ff_emulated_edge_mc() independant of MpegEncContext
Originally committed as revision 1971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-18 22:00:23 +00:00
Michael Niedermayer 3d2e8cce3a ASV1 codec
with postprocessing support :)

Originally committed as revision 1891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-19 13:30:59 +00:00
Michael Niedermayer d8085ea727 cleanup
Originally committed as revision 1882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-14 23:08:01 +00:00
Michael Niedermayer bb463d8102 10l (returning negative number of consumed bytes if the first startcode of a frame was split between 2 buffers)
Originally committed as revision 1824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-27 01:11:26 +00:00
Michael Niedermayer 7bc9090a41 simplified adressing of most mb based arrays (mb_x + mb_y*s->mb_stride) now instead of mb_x + mb_y*mb_width and 1+mb_x + (1+mb_y)*(mb_width+2) and ... mixture
more direct use of the new mb_type stuff instead of codec specific stuff
runtime mb_type debug output h264/h263 variants/mpeg1/2/4
error concealment /resilience for mpeg1/2
various minor optimizations

Originally committed as revision 1746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-10 13:18:38 +00:00
Michael Niedermayer 0da71265d8 H264 decoder & demuxer
Originally committed as revision 1732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-04 14:42:28 +00:00
Michael Niedermayer 4d2a48349d msmpeg4 2pass support & some related cleanup
Originally committed as revision 1724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-02 09:57:34 +00:00
Michael Niedermayer 309522372c some static -> dynamic alloc & 16->8 bit
Originally committed as revision 1722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-31 11:13:14 +00:00
Michael Niedermayer 9b8709d135 mpeg1 slice encoding support
Originally committed as revision 1720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-30 19:26:01 +00:00
Michael Niedermayer 5acaa5e1df simplify slice encoding (variance of packet size is practically identical)
Originally committed as revision 1719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-30 16:22:08 +00:00
Michael Niedermayer 1984f6359e user setable quantizer bias
Originally committed as revision 1701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-22 12:09:02 +00:00
Michael Niedermayer d5a2117228 better non conformant divx packed bitstream detection, so unpacked (no b frames) divx MPEG4-ES streams can be read
Originally committed as revision 1695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-20 17:52:30 +00:00
Michael Niedermayer 46b4feec06 error resilience cleanup (its faster too...)
Originally committed as revision 1692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-20 01:00:57 +00:00
Michael Niedermayer c5a9ab69c2 qmin/qmax cleanup
Originally committed as revision 1689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-17 11:02:33 +00:00
Michael Niedermayer b536d0aad2 field pic decoding cleanup
Originally committed as revision 1686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-16 20:22:22 +00:00
Michael Niedermayer 14bea432f1 per context frame_rate_base, this should finally fix frame_rate related av sync issues
Originally committed as revision 1666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-12 15:16:19 +00:00
Michael Niedermayer 277f4827fc doxy / cosmetics
Originally committed as revision 1638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 14:37:37 +00:00
Michael Niedermayer 983e3246b7 per file doxy
Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 11:32:04 +00:00
Michael Niedermayer 640950c700 mpeg2 field pictures + sliced mode (doesnt work with mplayer though, dunno why)
Originally committed as revision 1626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-05 20:03:15 +00:00
Michael Niedermayer dfb476cbe0 field picture decoding support (16x16 MC blocks only as i dont have any samples which use other modes ...)
Originally committed as revision 1624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-05 17:48:19 +00:00
Michael Niedermayer b0368839ac MpegEncContext.(i)dct_* -> DspContext.(i)dct_*
bitexact cleanup

Originally committed as revision 1617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-03 14:54:00 +00:00
Michael Niedermayer e51d6d27a6 h263(+) clenaup & bugfixes
Originally committed as revision 1614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-28 13:07:07 +00:00
Zdenek Kabelac 0c1a9edad4 * UINTX -> uintx_t INTX -> intx_t
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:35:48 +00:00
Zdenek Kabelac 5c91a6755b * static,const,compiler warning cleanup
Originally committed as revision 1567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-10 09:35:32 +00:00
Michael Niedermayer 63b15e559a mpeg1 bframe encoding patch by (Raphaël LEGRAND) with some modifications by me
Originally committed as revision 1551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-08 12:00:57 +00:00
Michael Niedermayer b7a22d846b cleanup
Originally committed as revision 1487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-21 21:30:48 +00:00
Michael Niedermayer f943e1383d trying to fix mb skip bug in mpeg1/2 if slices are not used
Originally committed as revision 1482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-20 20:37:24 +00:00
Michael Niedermayer 6772518310 finetuneing thresholds/factors
nicer mb decission
a few minor improvements & fixes

Originally committed as revision 1472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-19 17:55:13 +00:00
Michael Niedermayer 0e15384d9d fixing DCTELEM != short
Originally committed as revision 1462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-15 19:21:21 +00:00
Michael Niedermayer 3a87ac948f more compare functions (rd & bit)
Originally committed as revision 1461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-15 18:05:23 +00:00
Michael Niedermayer 67309e49c0 /* align 16 */
Originally committed as revision 1454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-12 13:13:52 +00:00
Michael Niedermayer a33c7159e1 get_format()
Originally committed as revision 1451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-12 00:48:29 +00:00
Michael Niedermayer f7b47594dc negative linesize support (so mplayer -flip works)
Originally committed as revision 1395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 17:59:26 +00:00
Michael Niedermayer 826f429ae9 qpel in mmx2/3dnow
qpel refinement quality parameter

Originally committed as revision 1393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-05 15:57:10 +00:00
Michael Niedermayer 70ac76c0eb mpeg4 header encoding bugfix
Originally committed as revision 1392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-03 23:21:52 +00:00
Michael Niedermayer f931ff7b9f pre motion estimation cleanup/bugfix
Originally committed as revision 1390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-02 12:48:09 +00:00
Michael Niedermayer f5fb6b34fd motion estimation pre pass
Originally committed as revision 1389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-02 01:29:35 +00:00
Michael Niedermayer b07a59805e shape adaptive diamonds for EPZS
user specified amount of MV predictors from the last frame
b frame MV predictor scaling fixed

Originally committed as revision 1384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-01 14:36:20 +00:00
Michael Niedermayer c442d75c6e trellis quantization for mpeg1
rounding bugfix for mpeg1 (seems this was introduced during the ME changes)

Originally committed as revision 1382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-01 00:42:18 +00:00
Michael Niedermayer 477ab036ad trellis quantization
Originally committed as revision 1380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-31 17:23:56 +00:00
Michael Niedermayer 41773b735e correcter mpeg4 headers
Originally committed as revision 1376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-30 00:28:42 +00:00
Michael Niedermayer 1457ab5233 qpel encoding
4mv+b frames encoding finally fixed
chroma ME
5 comparission functions for ME
b frame encoding speedup
wmv2 codec (unfinished)
user specified diamond size for EPZS

Originally committed as revision 1365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-27 23:51:46 +00:00
Michael Niedermayer 59b571c1e4 more debug output
Originally committed as revision 1338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-17 11:25:29 +00:00
Michael Niedermayer 492cd3a920 AVVideoFrame -> AVFrame
Originally committed as revision 1327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-09 12:03:43 +00:00
Michael Niedermayer 4e00e76b3c cleanup / messup?
fixes 20% speedloss bug
removes redundant variables from MpegEncContext
release buffers in avcodec_flush_buffers() (untested)

Originally committed as revision 1325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-09 00:29:17 +00:00
Michael Niedermayer 0d1e924668 fixing 2pass assert failure
better dynamic b frame selection, still not very good though allthough it works fine without 2pass now

Originally committed as revision 1316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-06 13:30:13 +00:00
Michael Niedermayer 140cb66321 new PSNR code (now works with chroma, b frames, ...)
rename *_TYPE to FF_*_TYPE for the external API
allow user specified pict_type

Originally committed as revision 1308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-04 21:13:02 +00:00
Michael Niedermayer 1e491e29c2 cleanup
adding AVVideoFrame
 moving quality, pict_type, key_frame, qscale_table, ... to AVVideoFrame
 removing obsolete variables in AVCodecContext
 skiping of MBs in b frames
 correctly initalizing AVCodecContext
 picture buffer cleanup

Originally committed as revision 1302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-04 10:04:03 +00:00
Zdenek Kabelac d43b10ec7a * fixed prototype
Originally committed as revision 1226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-19 09:17:52 +00:00
Zdenek Kabelac 83f238cbf0 * compilation fix (ARM users please check)
Originally committed as revision 1225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-19 07:33:36 +00:00
Zdenek Kabelac eb4b3dd3c3 * using DSPContext - so each codec could use its local (sub)set of CPU extension
Originally committed as revision 1194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-11 09:40:17 +00:00
Michael Niedermayer d7425f59d5 cleanup (breaks compatibility, requested by fabrice)
remove CODEC_FLAG_NOT_TRUNCATED & add CODEC_FLAG_TRUNCATED
add CODEC_CAP_TRUNCATED
add alpha plane to AVPicture
remove CODEC_ID_MSMPEG4
remove various unused stuff
support "truncated" mpeg4 streams

Originally committed as revision 1175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-08 18:35:39 +00:00
Michael Niedermayer 05c4072b45 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
Originally committed as revision 1147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-02 11:28:08 +00:00
Michael Niedermayer 6b72ac6323 exporting the internal qscale table, this allso fixes the ordering
Originally committed as revision 1116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-30 20:41:40 +00:00
Michael Niedermayer d6db1c9c6a handle direct rendering buffer allocation failure
Originally committed as revision 1075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-27 00:02:23 +00:00
Michael Niedermayer 50eb9cbc44 idct_permutation_type variable, so the permutation type can quickly be identified
Originally committed as revision 1071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-25 13:39:47 +00:00
Michael Niedermayer 7801d21d13 optimize block_permute()
optimize dct_quantize_c()
dont permute s->q_inter/intra_matrix

Originally committed as revision 1067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-23 15:11:07 +00:00
Michael Niedermayer 7da71a5c68 xvid qpel bug autodetect
Originally committed as revision 1064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-22 19:48:52 +00:00
Michael Niedermayer 073b013d00 complete mpeg4 GMC decoding support
Originally committed as revision 1046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-16 19:55:49 +00:00
Michael Niedermayer a61f82653e better padding bug detection
Originally committed as revision 1039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-14 19:53:04 +00:00
Michael Niedermayer b704e7420b mpeg4 header parser clenup (needed for parsing of VOL header in avctx->extradata)
Originally committed as revision 1032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-14 12:21:54 +00:00
Michael Niedermayer 4d2858deac better/cleaner error resilience (done in a 2nd pass after decoding)
h263/mpeg4 out of order slice decoding

Originally committed as revision 1030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-13 13:16:04 +00:00
Alex Beregszaszi defdfc9aa0 moved dct init out from mpv_common_init to dct_common_init (for less-uglier way for dv)
Originally committed as revision 1002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-04 20:59:29 +00:00
Leon van Stuivenberg 5917d17cb7 ps2 optimizations update patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
Originally committed as revision 996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-03 20:57:19 +00:00
Michael Niedermayer 23e54f6927 renaming variable
Originally committed as revision 981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-29 23:21:13 +00:00
Michael Niedermayer 2ad1516a6c idct permutation cleanup, idct can be selected per context now
fixing some threadunsafe code

Originally committed as revision 980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-29 22:44:22 +00:00
Michael Niedermayer 9e4c69485b adaptive quantization for h263
Originally committed as revision 969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-24 15:07:44 +00:00
Michael Niedermayer c5d309f2d5 adaptive quantization (lumi/temporal & spatial complexity masking)
Originally committed as revision 964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-23 14:56:11 +00:00
Michael Niedermayer 947ac25a44 10l (forgot to commit)
Originally committed as revision 953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-18 18:30:31 +00:00
Michael Niedermayer 5596c60cce dont store version for bit-exact tests
Originally committed as revision 948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-14 22:07:35 +00:00
Michael Niedermayer bea669e57c interlaced mpeg4 b frame decoding
Originally committed as revision 936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-13 09:45:32 +00:00
Michael Niedermayer 66370d3fca statistics for forw & back p-MBs instead of just one counter for both
Originally committed as revision 925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-12 12:26:09 +00:00
Michael Niedermayer 6b460aa387 reducing sizeof MpegEncContext to avoid stack overflow on crap M$ windo$
Originally committed as revision 914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-11 07:26:43 +00:00
Michael Niedermayer ad324c9351 dct cleanup
more accurate mmx dct (dont discard bits for fun)
fixing mmx quantizer bug for qscale%2==1 (bias was slightly wrong)

Originally committed as revision 895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-09-01 16:52:33 +00:00
Martin Olschewski c7e079314b sun solaris compilation bugfix, patch by (Martin Olschewski <olschewski at zpr dot uni-koeln dot de>)
Originally committed as revision 882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-30 18:17:20 +00:00
Michael Niedermayer 28db7fce02 slow but accurate integer dct from IJG (should be ok with the LGPL as the old DCT is the fast integer DCT from IJG)
per context DCT selection

Originally committed as revision 878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-29 23:55:32 +00:00
Alex Beregszaszi e769f0535e added aspected_width/height for EXTENDED_PAR
Originally committed as revision 869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-26 20:45:01 +00:00
Michael Niedermayer 3aa102be84 new ratecontrol code
Originally committed as revision 862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-25 21:19:50 +00:00
Michael Niedermayer 1fb4890b51 better scene change detection
Originally committed as revision 858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-22 19:41:06 +00:00
Michael Niedermayer 87f8cab45b mpeg4 mpeg quantizer encoding
Originally committed as revision 844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-06 23:51:15 +00:00
Michael Niedermayer 508abacadb 4mv + bframe decoding bugfix
Originally committed as revision 843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-05 21:36:14 +00:00
Michael Niedermayer d930ef19ea fixing mpeg4 mpeg quantizers
Originally committed as revision 836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-08-02 20:27:46 +00:00
Michael Niedermayer b5a093b3a9 different edge positions fixed with edge emu / dr1
Originally committed as revision 814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-25 20:22:36 +00:00
Michael Niedermayer 0fd90455ec uvlinesize
export has_b_frames
mb_skip with more than 2 ip buffers

Originally committed as revision 762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-15 14:15:10 +00:00
Michael Niedermayer 93a21abde5 direct rendering method 1 support
Originally committed as revision 759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-14 18:37:35 +00:00
Michael Niedermayer 45a82edbdd rl vlc decoding optimizations
Originally committed as revision 748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-13 14:55:12 +00:00
Marko Kreen adc09b2eab adding ff prefix to avoid global name conficts with xvid (patch by Marko Kreen <marko at l-t.ee>)
Originally committed as revision 739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-10 21:01:45 +00:00
Michael Niedermayer de0f2f4cca wmv1 slice_height != mb_height support
encoding of slice_height != mb_height
1bit shorter wmv1 headers if bit_rate<50 !? ROTFL M$ is even more stupid than i thought
using dc of non intra blocks for dc prediction of wmv1 if bitrate < 129 && res < 320x240

Originally committed as revision 723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-07 08:34:46 +00:00
Falk Hüffner e0580f8c68 Update and activate dct_unquantize_h263_mvi. Thanks to Måns Rullgård
for some improvements.

Originally committed as revision 714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-07-03 03:01:06 +00:00
Michael Niedermayer 0151a6f546 wmv1 support
Originally committed as revision 697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-18 00:50:20 +00:00
Fabrice Bellard c3aea5c424 added missing externs (we were lucky that commons are used)
Originally committed as revision 659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-04 12:56:04 +00:00
Michael Niedermayer 7f2fe444a3 single coefficient elimination
prequantization
more readable malloc & check if NULL
error concealment / error resilience
b_quant_offset (unfinished, should be 0 for now)
data partitioning

Originally committed as revision 642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-02 12:20:39 +00:00
Zdenek Kabelac cd4af68ad5 * started to cleanup name clashes for onetime compilation
Originally committed as revision 617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-27 16:42:14 +00:00
Fabrice Bellard ff4ec49e64 license/copyright change
Originally committed as revision 599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-25 22:45:33 +00:00
Michael Niedermayer 92ba5ffbb5 workaround dc_scale bug in old ffmpeg msmpeg4v3 encoder (set workaround_bugs=1 for this)
Originally committed as revision 561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-21 23:13:57 +00:00
Juanjo 9cd3766f6e - pict_type exported to AVCodecContext
- Added real_pict_num to AVCodecContext, it represent the number of the
  previous encoded frame, usefull when coding with B frames.
- Warning fix in motion_est.c

Originally committed as revision 484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-11 23:42:16 +00:00
Alex Beregszaszi a69b930cd3 clamp intra matrix to 8bit for mjpeg (workaround for qscale>=25)
Originally committed as revision 451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-07 17:55:02 +00:00
Michael Niedermayer 7aaf3b98fc there are divx5? encoded files without a userdata section but with b-frames :(
Originally committed as revision 446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-06 13:15:05 +00:00
Michael Niedermayer bb71e31757 fixing msmpeg4v3 dc-scale for quantizers 24-31
Originally committed as revision 427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-30 01:29:29 +00:00
Michael Niedermayer 2417652e9f export mbskip_table for direct rendering
add hurry_up support

Originally committed as revision 424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-27 13:12:57 +00:00
Michael Niedermayer d7e9533aa0 fixed msmpeg4 infinite loop if buggy stream
rewrote quantizer
 fixed bias (+10% compression/quality for h263 like codecs)
 qscale=1 support
 mpeg1 intra frames looks far less blocky
added codec_id field

Originally committed as revision 423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-27 12:30:26 +00:00
Michael Niedermayer 1c2a8c7f14 avcodec_flush_buffers()
Originally committed as revision 420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-24 01:24:06 +00:00
Michael Niedermayer 1ff662cc2c export delay info
fixed low_delay & vo_type on mpeg4 header writer & parser

Originally committed as revision 415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-22 19:04:28 +00:00