1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-03-23 04:24:35 +02:00

49 Commits

Author SHA1 Message Date
Andreas Rheinhardt
d1d30edf42 avcodec/msmpeg4data: Move data shared between msmpeg4 and VC-1 out
This is in preparation for splitting VC-1 from msmpeg4.
(msmpeg4data.c was originally intended to be just this;
9488b966c76a7a52e9a1f7756bda82dbe1070399 changed it).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-06 17:41:26 +01:00
Andreas Rheinhardt
83dfc21a21 avcodec/msmpeg4dec: Factor initializing VLCs shared with VC-1 out
It will be useful in the following commits.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-06 17:41:26 +01:00
Andreas Rheinhardt
8f7bf45895 avcodec/vc1_block: Don't duplicate #defines
VC1 shares some VLCs with MSMPEG-4, but vc1_block.c
simply duplicates the defines instead of including
the appropriate headers; furthermore, use a proper
prefix for these defines: DC_VLC_BITS is also used
by other codecs.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-06 17:41:26 +01:00
Andreas Rheinhardt
81bc4ef142 avcodec/msmpeg4data: Mark tables as hidden
This e.g. allows compilers to bake the "+ 256" offset
used to access ff_v2_dc_(lum|chroma)_table into
the general offset; for certain arches this is also necessary
in order to avoid building suboptimal code.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-10-18 15:44:29 +02:00
Andreas Rheinhardt
636631d9db Remove unnecessary libavutil/(avutil|common|internal).h inclusions
Some of these were made possible by moving several common macros to
libavutil/macros.h.

While just at it, also improve the other headers a bit.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
1d5d666601 avcodec/msmpeg4: Factor out common RLTable initialization code
Up until now, both the msmpeg4 decoders and encoders initialized several
RLTables common to them (the decoders also initialized the VLCs of these
RLTables). This is an obstacle to making these codecs init-threadsafe.
So move this initialization to ff_msmpeg4_common_init() that already
contains this initialization code. This allows to reuse the AVOnce used
for initializing ff_v2_dc_lum/chroma_table which automatically makes
initializing these RLTables thread-safe.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-04-27 00:43:51 +02:00
Andreas Rheinhardt
d8b2fae3c7 avcodec/msmpeg4: Inline number of motion vectors
Both motion vector tables have the same number of elements, hence one
can inline said number and remove the field containing the number of
elements from the structure.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-29 06:28:24 +01:00
Clément Bœsch
9b35242370 Merge commit 'b7f98659f21dce438c33b512e25fd64b8d07c347'
* commit 'b7f98659f21dce438c33b512e25fd64b8d07c347':
  Remove unnecessary get_bits.h #includes

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-29 11:16:01 +02:00
Diego Biurrun
b7f98659f2 Remove unnecessary get_bits.h #includes 2016-06-07 13:09:57 +02:00
Derek Buitenhuis
2814f06abf Merge commit 'f9fbd474676e903e12efe83203697d60a9d28cf9'
* commit 'f9fbd474676e903e12efe83203697d60a9d28cf9':
  msmpeg4data: Move WMV2 data tables to their own file

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 18:15:14 +00:00
Diego Biurrun
f9fbd47467 msmpeg4data: Move WMV2 data tables to their own file 2016-02-19 20:38:18 +01:00
Michael Niedermayer
268098d8b2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  amrwb: remove duplicate arguments from extrapolate_isf().
  amrwb: error out early if mode is invalid.
  h264: change underread for 10bit QPEL to overread.
  matroska: check buffer size for RM-style byte reordering.
  vp8: disable mmx functions with sse/sse2 counterparts on x86-64.
  vp8: change int stride to ptrdiff_t stride.
  wma: fix invalid buffer size assumptions causing random overreads.
  Windows Media Audio Lossless decoder
  rv10/20: Fix slice overflow with checked bitstream reader.
  h263dec: Disallow width/height changing with frame threads.
  rv10/20: Fix a buffer overread caused by losing track of the remaining buffer size.
  rmdec: Honor .RMF tag size rather than assuming 18.
  g722: Fix the QMF scaling
  r3d: don't set codec timebase.
  electronicarts: set timebase for tgv video.
  electronicarts: parse the framerate for cmv video.
  ogg: don't set codec timebase
  electronicarts: don't set codec timebase
  avs: don't set codec timebase
  wavpack: Fix an integer overflow
  ...

Conflicts:
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/msmpeg4.c
	libavcodec/pnmdec.c
	libavcodec/qpeg.c
	libavcodec/rawenc.c
	libavcodec/ulti.c
	libavcodec/vcr1.c
	libavcodec/version.h
	libavcodec/wmalosslessdec.c
	libavformat/electronicarts.c
	libswscale/ppc/yuv2rgb_altivec.c
	tests/ref/acodec/g722
	tests/ref/fate/ea-cmv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-03 00:23:10 +01:00
Diego Biurrun
2f4b476e04 msmpeg4: Split encoding backend code off from general backend code. 2012-03-01 23:11:09 +01:00
Michael Niedermayer
6cb2085278 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  ppc: Add ff_ prefix to nonstatic symbols
  sh4: Add ff_ prefix to nonstatic symbols
  mpegvideo: Add ff_ prefix to nonstatic functions
  rtjpeg: Add ff_ prefix to nonstatic symbols
  rv: Add ff_ prefix to nonstatic symbols
  vp56: Add ff_ prefix to nonstatic symbols
  vorbis: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefix to nonstatic symbols
  vc1: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefixes to nonstatic symbols
  snow: Add ff_ prefix to nonstatic symbols
  mpeg12: Add ff_ prefix to nonstatic symbols
  mpeg4: Add ff_ prefixes to nonstatic symbols
  lagarith: Add ff_ prefix to lag_rac_init
  libavcodec: Add ff_ prefix to j_rev_dct*
  dsputil: Add ff_ prefix to inv_zigzag_direct16
  libavcodec: Prefix fdct_ifast, fdct_ifast248
  dsputil: Add ff_ prefix to the dsputil*_init* functions
  libavcodec: Add ff_ prefix to some nonstatic symbols
  vlc/rl: Add ff_ prefix to the nonstatic symbols
  ...

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h263.h
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nuv.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/proresdsp.c
	libavcodec/svq3.c
	libavcodec/version.h
	libavformat/dv.h
	libavformat/dvenc.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 01:34:37 +01:00
Martin Storsjö
1fec055066 msmpeg4: Add ff_ prefixes to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:01 +02:00
Michael Niedermayer
988f585fcb Merge remote-tracking branch 'qatar/master'
* qatar/master: (44 commits)
  replacement Indeo 3 decoder
  gsm demuxer: do not allocate packet twice.
  flvenc: use first packet delay as global delay.
  ac3enc: doxygen update.
  imc: return error codes instead of 0 for error conditions.
  imc: return meaningful error codes instead of -1
  imc: do not set channel layout for stereo
  imc: validate channel count
  imc: check for ff_fft_init() failure
  imc: check output buffer size before decoding
  imc: use DSPContext.bswap16_buf() to byte-swap packet data
  rtsp: add allowed_media_types option
  libgsm: add flush function to reset the decoder state when seeking
  libgsm: simplify decoding by using a loop
  gsm: log error message when packet is too small
  libgsmdec: do not needlessly set *data_size to 0
  gsmdec: do not needlessly set *data_size to 0
  gsmdec: add flush function to reset the decoder state when seeking
  libgsmdec: check output buffer size before decoding
  gsmdec: log error message when output buffer is too small.
  ...

Conflicts:
	Changelog
	ffplay.c
	libavcodec/indeo3.c
	libavcodec/mjpeg_parser.c
	libavcodec/vp3.c
	libavformat/cutils.c
	libavformat/id3v2.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 02:16:26 +01:00
Diego Biurrun
124e28847b Remove some stray unnecessary ffmpeg references. 2011-11-02 10:42:54 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Michael Niedermayer
ca334dd14b Split the mpeg4 encoder and decoder off h263.c
Originally committed as revision 21079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 23:53:49 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun
910f02a054 spelling cosmetics
Originally committed as revision 15518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 16:28:58 +00:00
Reimar Döffinger
9b5ede5b64 Add (additional) const to many global tables.
Originally committed as revision 15515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 15:52:04 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Stefan Gehrer
5a89396989 remove duplicate tables
Originally committed as revision 13959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 11:33:49 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Diego Pettenò
a1f89639a8 Move wmv1_scantable to .rodata section by making it an array of arrays.
Patch by Diego 'Flameeyes' Pettenò flameeyes ¤ gmail ! com

Originally committed as revision 11446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-07 12:47:14 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Diego Biurrun
9488b966c7 Move msmpeg4 tables from a header file to msmpegdata.c.
Originally committed as revision 10107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-13 17:57:06 +00:00
Diego Biurrun
7b94177e37 Group all copyright and author notices together.
Originally committed as revision 9483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:37:29 +00:00
Aurelien Jacobs
42ef2dbc77 split msmpeg4 data to easily share some of it with vc1.c
Originally committed as revision 8969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 10:03:16 +00:00
Denis Fortin
f52a02be35 add some comments
patch by Denis Fortin \ fortin  nerim net /

Originally committed as revision 8864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 07:26:07 +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
Diego Biurrun
04d7f60143 Add official LGPL license headers to the files that were missing them.
Originally committed as revision 6219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-10 14:02:42 +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
Michael Niedermayer
725e38777f wrong sizes, part of [PATCH] from DivX, Part 9: bitstream crashes from (Steve Lhomme | slhomme divxcorp com)
Originally committed as revision 4746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 11:29:34 +00:00
Michael Niedermayer
c26ae41db2 adding a few const
Originally committed as revision 4337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-01 21:19:00 +00:00
anonymous
0d33db8a4d In that patch:
- avctx and gb elements were removed from VC9Context, hence a larger diff
- some code was added to h263dec.c regarding CODEC_ID_WMV3 (should apply to CODEC_ID_VC9 too)
- VLC tables and other related tables were made global whenever this seemed necessary; appropriate changes were therefore made to other parts of the code using those tables
- the change for the bitplane management to a struct (some of them should eventually be mapped to MpegEncContext arrays) wasn't associated with the proper frees; should be fixed now
patch by anonymous

better names for globalized tables by me

Originally committed as revision 3905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-30 16:34:57 +00:00
anonymous
0c040aacbe use dc tables from msmpeg4 instead of duplicating them patch by anonymous
Originally committed as revision 3886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-26 12:01:35 +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
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
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
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
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
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
Michael Niedermayer
287229e554 msmpeg4v1 decoding
Originally committed as revision 643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-06-02 12:22:30 +00:00
Michael Niedermayer
84afee348f msmpeg4v2 decoding (no encoding yet)
Originally committed as revision 376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-04-05 04:09:04 +00:00
Fabrice Bellard
de6d9b6404 Initial revision
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-22 14:18:56 +00:00