Commit Graph

15018 Commits

Author SHA1 Message Date
Alberto Delmás
1cf82cab08 VC1: Fix first/last row checks with slices
In some places 0/mb_height were used in place of start_mb_y/end_mb_y.

Fixes SA00049, SA00058, SA10091, SA10097, SA10131, SA20021, SA30030

Improves PSNR in SA00054, SA00059, SA00060, SA10096, SA10098, SA20022,
SA30031, SA30032, SA40012, SA40013

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-25 12:33:58 -07:00
Ronald S. Bultje
d4b9974465 vc1: properly zero coded_block[] edges on new slice entry.
Previously, we would leave the left edge uninitialized, which led to
CBP prediction errors on slice edges, e.g. in SA10098.vc1.
2011-08-24 22:06:06 -07:00
Michael Niedermayer
bd4640375e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Replace goto redo on decode fail with continue.
  avconv: Remove dead store.
  libx264: add 'crf_max' private option.
  libx264: add 'weightp' private option.
  libx264: add 'rc_lookahead' private option.
  libx264: add 'psy_trellis' private option.
  libx264: add 'psy_rd' private option.
  libx264: add 'aq_strength' private option.
  libx264: add 'aq_mode' private option.
  libx264: add 'cqp' private option.
  libx264: add 'crf' private option.
  lavc: remove vbv_delay option
  lavf utils: Fix bad indentation.
  avconv: use av_clip_int16 for audio clipping

Conflicts:
	libavcodec/libx264.c
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-24 20:26:48 +02:00
Michael Niedermayer
565cabf5c8 h264: Try to fix 422 intra NEON
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-24 17:57:40 +02:00
Anton Khirnov
4ae30cac22 libx264: add 'crf_max' private option.
Deprecate corresponding global option.
2011-08-24 14:33:40 +02:00
Anton Khirnov
c5dd0bc4ca libx264: add 'weightp' private option.
Deprecate corresponding global option.
2011-08-24 14:32:24 +02:00
Anton Khirnov
d4b9671318 libx264: add 'rc_lookahead' private option.
Deprecate corresponding global option.
2011-08-24 14:31:55 +02:00
Anton Khirnov
2a44a8f609 libx264: add 'psy_trellis' private option.
Deprecate corresponding global option.
2011-08-24 14:31:07 +02:00
Anton Khirnov
93e623c642 libx264: add 'psy_rd' private option.
Deprecate corresponding global option.
2011-08-24 14:30:25 +02:00
Anton Khirnov
5c75b2a0b7 libx264: add 'aq_strength' private option.
Deprecate corresponding global option.
2011-08-24 14:30:00 +02:00
Anton Khirnov
85254fcb46 libx264: add 'aq_mode' private option.
Deprecate corresponding global option.
2011-08-24 14:28:40 +02:00
Anton Khirnov
9d508e4914 libx264: add 'cqp' private option.
Deprecate corresponding global option.
2011-08-24 14:28:07 +02:00
Anton Khirnov
d5dc8cc297 libx264: add 'crf' private option.
Deprecate corresponding global option.

Ideally all x264 private options should be generated automatically, but
x264 doesn't provide the API for this yet.
2011-08-24 14:26:12 +02:00
Anton Khirnov
8ee18b4bee lavc: remove vbv_delay option
It's broken and serves no purpose as it's a read-only field.
2011-08-24 14:07:39 +02:00
Carl Eugen Hoyos
5f5e37e0fa Support decoding of 2bpp and 4bpp TIFF images.
Based on patches by Kostya and ami_stuff.
2011-08-23 20:38:43 +02:00
Michael Niedermayer
4ca6a151e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: print the codecs names in the stream mapping.
  avconv: move the avcodec_find_decoder() call to add_input_streams().
  Windows Media Image decoder (WMVP/WVP2)
  ac3enc: remove outdated TODO comment for apply_channel_coupling()

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/vc1dec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-23 18:26:37 +02:00
Alberto Delmás
45ecda8554 Windows Media Image decoder (WMVP/WVP2)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 11:18:35 +02:00
Nicolas George
7a71a3d098 codec_names: remove spaces in sed command. 2011-08-22 20:12:50 +02:00
Justin Ruggles
3be5a94351 ac3enc: remove outdated TODO comment for apply_channel_coupling() 2011-08-22 12:14:57 -04:00
Carl Eugen Hoyos
5b71ae2b65 Be more verbose about H264 cropping errors. 2011-08-22 16:58:59 +02:00
Michael Niedermayer
124deea1a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: only use ABR mode when the user explicitly set bitrate.
  libx264: use medium preset by default.
  mp2 encoder: make 128k the default bitrate.
  movenc: use libx264 by default when possible for mov, mp4 and psp
  avienc: saner default audio codec.
  matroskaenc: saner default codecs.
  avplay: add examples of how to specify size/pixel format through private options
  lavc: add A|E|D flags to "ac" and "ar" options

Conflicts:
	doc/ffplay.texi
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-22 15:00:53 +02:00
Nicolas George
d2d7b7134f lavc: use av_get_media_type_string and avcodec_get_name in avcodec_string. 2011-08-22 12:13:24 +02:00
Nicolas George
b3be9f4a88 lavc: add a table of all codecs names.
The table is automatically generated from the definition of enum CodecID in
avcodec.h and contains the name of all known codecs, even those for which no
encoder nor decoder exists or is enabled.

The table is queried using the avcodec_get_name function.

If CONFIG_SMALL is true, the table is not compiled in; the avcodec_get_name
looks for names in the list of available decoders and encoders.
2011-08-22 10:54:44 +02:00
Anton Khirnov
ae60927aef libx264: only use ABR mode when the user explicitly set bitrate. 2011-08-22 07:17:39 +02:00
Anton Khirnov
03eff2bf43 libx264: use medium preset by default. 2011-08-22 07:17:38 +02:00
Anton Khirnov
0a593de38a mp2 encoder: make 128k the default bitrate. 2011-08-22 07:17:38 +02:00
Matthew Einhorn
27667d28a6 Updates avcodec_get_pix_fmt_loss to return maximum loss for an invalid destination pixel format.
Signed-off-by: Matthew Einhorn <moiein2000@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-21 20:33:02 +02:00
Reimar Döffinger
18de79692c roqvideodec: Improve checking of input buffer bounds.
Fixes trac issue #408.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-21 16:34:35 +02:00
Stefano Sabatini
143d6a3fa7 lavc: add A|E|D flags to "ac" and "ar" options
Fix setting of the corresponding AVCodecContext fields via
cmdutils.c:filter_codec_opts().
In particular, fix ffplay -ac and -ar options.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-21 16:06:16 +02:00
Michael Niedermayer
ff96098084 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  WavPack demuxer: do not rely on index when timestamp is not in indexed range.
  WavPack demuxer: store position of the first block in index.
  WavPack decoder: implement flush function
  avconv: Separate initialization from the main transcode loop.

Conflicts:
	avconv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-21 15:27:02 +02:00
Kostya Shishkov
4ba8c521b1 WavPack decoder: implement flush function
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-21 12:54:34 +02:00
Reimar Döffinger
31ac0ac29b Fix parser not to clobber has_b_frames when extradata is set.
Due to it in contrast to the decoder not setting up low_delay,
the code in parse_nal_units would always end up setting has_b_frames
to 1 (except when stream is explicitly marked as low delay).
Since the parser itself would create extradata, simply reopening
the parser would cause this.
estimate_timings_from_pts would cause the parser to be reopened
on the same stream.

This fixes trac issue #360.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-20 12:29:03 +02:00
Michael Niedermayer
13e9a0fbfb h264: fixup indention
issue spoted in last merge (probably indention fixed there by diego)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-20 00:38:26 +02:00
Jeff Downs
6581e161c5 h264: fix PCM intra-coded blocks in monochrome case
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 16:02:33 +02:00
Michael Niedermayer
ada49f936e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: correct implicit weight table computation for long ref pics
  h264: correct the check for invalid long term frame index in MMCO decode

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-19 15:07:12 +02:00
Jeff Downs
87cf70eb23 h264: correct implicit weight table computation for long ref pics
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 14:36:52 +02:00
Jeff Downs
29a09eae9a h264: correct the check for invalid long term frame index in MMCO decode
The current check on MMCO parameters prohibits a "max long term frame index
plus 1" of 16 (frame idx of 15) for the "set max long term frame index" MMCO.
Fix this off-by-one error to allow the full range of legal values.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 14:36:40 +02:00
Michael Niedermayer
ba57ef2972 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Fix spelling errors.
  aac: Only set sample rate and object type from ADTS if output hasn't been configured.
  aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
  aac: Only output configure if audio was found.
  avconv: save two levels of indentation in flush_encoders()
  avconv: factor flushing encoders out of output_packet().
  avconv: factor out initializing input streams.
  avconv: remove -intra option.
  avconv: reset streamid_map between output files.
  avconv: make timer_start a local var in transcode().
  avconv: cosmetics, move OutputStream.
  avconv: remove two unused macros.

Conflicts:
	avconv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-19 00:53:42 +02:00
Carl Eugen Hoyos
fc5299e9b7 Allow setting resolution in DPI for Tiff. 2011-08-18 23:17:51 +02:00
Alex Converse
44920d04ba aac: Only set sample rate and object type from ADTS if output hasn't been configured.
Long term it would be nice to support error resilient reconfiguration
but right now setting this every frame does more harm than help.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
06d37fede4 aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
d8425ed4af aac: Only output configure if audio was found.
Audio found is not triggered on a CCE because a CCE alone has no output.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Michael Niedermayer
edae3dbf1d Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  h264: hide reference frame errors unless requested
  swscale: split hScale() function pointer into h[cy]Scale().
  Move clipd macros to x86util.asm.
  avconv: reindent.
  avconv: rescue poor abused start_time global.
  avconv: rescue poor abused recording_time global.
  avconv: merge two loops in output_packet().
  avconv: fix broken indentation.
  avconv: get rid of the arbitrary MAX_FILES limit.
  avconv: get rid of the output_streams_for_file vs. ost_table schizophrenia
  avconv: add a wrapper for output AVFormatContexts and merge output_opts into it
  avconv: make itsscale syntax consistent with other options.
  avconv: factor out adding input streams.
  avconv: Factorize combining auto vsync with format.
  avconv: Factorize video resampling.
  avconv: Don't unnecessarily convert ipts to a double.
  ffmpeg: remove unsed variable nopts
  RV3/4 parser: remove unused variable 'off'
  add XMV demuxer
  rmdec: parse FPS in RealMedia properly
  ...

Conflicts:
	avconv.c
	libavformat/version.h
	libswscale/swscale.c
	tests/ref/fate/lmlm4-demux

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-18 10:56:08 +02:00
Dustin Brody
b490f0c2bc h264: hide reference frame errors unless requested
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-17 20:56:54 -07:00
Ronald S. Bultje
38e06c2969 Move clipd macros to x86util.asm.
This allows sharing them between multiple .asm files.
2011-08-17 20:56:06 -07:00
Matthew Einhorn
2f53fce3b1 lavc: fix wrong example code in avcodec_find_best_pix_fmt() docs
A pix_fmt_mask is obtained by bitwise or-ing two pixel format bits,
rather than doing a logical or.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-18 01:02:34 +02:00
Matthew Einhorn
39f9601c10 lavc: fix avcodec_find_best_pix_fmt() when there's more than 64 pixel formats
This fixed the problem where if there's more than 64 pixel formats
defined avcodec_find_best_pix_fmt() returns the wrong pixel format.

Signed-off-by: Matthew Einhorn <moiein2000@gmail.com>
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-18 01:02:34 +02:00
Reimar Döffinger
4fe796b32a msrle: correctly round linesize for < 8 bpp formats.
Fixes trac issue #338.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-17 22:13:36 +02:00
Kostya Shishkov
91e209d720 RV3/4 parser: remove unused variable 'off'
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 15:31:40 +02:00
Kostya Shishkov
48ce8b8da7 Use parsers for RealVideo 3/4 to determine correct PTS
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-17 15:00:42 +02:00
Kostya Shishkov
331971116d rv10/20: tell decoder to use edge emulation
This removes out-of-edge motion compensation artifacts (easily spotted green
blocks in avplay, gray blocks in transcoding), for example here:
http://samples.libav.org/samples/real/tv_watching_t1.rm

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 14:53:34 +02:00
Michael Niedermayer
27fbe31c92 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "avconv: use stream copy by default when possible."
  avconv: print stream copy information.
  avconv: use stream copy by default when possible.
  matroskaenc: vertical alignment.
  matroskaenc: implement query_codec()
  lavf: add avformat_query_codec().
  lavc: add avcodec_get_type() for mapping codec_id -> type.
  flvenc: use int64_t to store offsets
  avconv: don't segfault on 0 input files.
  Do not write ID3v1 tags by default
  mpegts: log into an AVFormatContext rather than MpegTSContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-17 14:23:20 +02:00
Michael Niedermayer
41bf67d8d4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: change AV_LOG_INFO to AV_LOG_WARNING for some warnings
  avconv: remove a write-only variable
  avconv: remove pointless parameter from new_*_stream().
  avconv: cosmetics, move code
  avconv: cosmetics -- move copy_chapters().
  avconv: cosmetics -- move parse_forced_key_frames().
  lavc: add audio flag to the 'b' option, deprecate 'ab'.
  avconv: rename sameq to same_quant
  doc/avconv: add forgotten end of chapter.
  Changelog: document avconv incompatibilities with ffmpeg.
  avconv: replace -vcodec/-acodec/-scodec with a better system.
  avconv: remove presets.
  svq3: propagate codec memory allocation failure in context init

Conflicts:
	Changelog
	avconv.c
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-16 23:47:35 +02:00
Reimar Döffinger
4f00519d95 Fix VC-1 width/height handling.
avcodec_set_dimensions should be used for size changes to ensure
compatibility with future changes.
avctx->width/avctx->height may not be set to display-only dimensions.
Even more so since vc1dec.c would later set coded_width/height based
on this.
coded_width/coded_height should be used instead of width/height for
decoder setup.
This fixes playback of e.g. zz-mcr-nsqr.vc1 sample (containing
display width/height settings) in MPlayer and should fix a crash
with MPC: http://forum.doom9.org/showthread.php?t=162221.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-16 23:07:25 +02:00
Anton Khirnov
bca06e77e1 lavc: add avcodec_get_type() for mapping codec_id -> type. 2011-08-16 20:24:20 +02:00
Anton Khirnov
64db1a82d6 lavc: add audio flag to the 'b' option, deprecate 'ab'.
Its only reason for its existence was ffmpeg's inability to properly assign
AVOptions to streams. Now this is not a problem anymore, so 'ab' should
go.
2011-08-16 06:20:43 +02:00
Michael Niedermayer
1a34478b71 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix NASM include directive
  dsputil_mmx: Honor HAVE_AMD3DNOW
  lavf,lavd: remove all usage of AVFormatParameters from demuxers.
  jack: add 'channels' private option.
  VC-1: fix reading of custom PAR.
  Remove redundant and dubious video codec detection by its extradata
  mpeg12: remove repeat-field code disabled since May 2002
  patch checklist: suggest fate instead of regression tests
  Turn on resampling on sudden size change instead of bailing out during recode.
  avtools: reinitialise filter chain when input video stream changes dimensions

Conflicts:
	Makefile
	avconv.c
	doc/developer.texi
	ffplay.c
	libavcodec/x86/dsputil_mmx.c
	libavdevice/libdc1394.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 23:35:53 +02:00
Dustin Brody
a3e215cdc9 svq3: propagate codec memory allocation failure in context init
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-15 21:26:34 +02:00
Dave Yeo
cc73511e8e Fix NASM include directive
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-15 11:24:35 -07:00
Alex Converse
48f7163f13 dsputil_mmx: Honor HAVE_AMD3DNOW 2011-08-15 11:20:08 -07:00
Reimar Döffinger
0e86965514 VC-1: fix reading of custom PAR.
Custom PAR num/denum are in 1-256 range.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 16:36:58 +02:00
Dustin Brody
2bfdb34c8a mpeg12: remove repeat-field code disabled since May 2002
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 13:03:20 +02:00
Michael Niedermayer
95b5b525b1 h264pred_init_arm: compile hotfix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 06:14:40 +02:00
Baptiste Coudurier
231a6df9ea h264dec: h264: 4:2:2 intra decoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 00:39:55 +02:00
Baptiste Coudurier
9a33078b64 dsputil_mmx: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 00:37:19 +02:00
Baptiste Coudurier
6e7315f4a1 mpegvideo: Fix vshift vs hshift typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 00:34:41 +02:00
Michael Niedermayer
ecaf514328 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix number of coefficients used in a LFE channel.
  aacenc: Fix a segfault with grouped psymodel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-14 19:49:11 +02:00
Nathan Caldwell
24efdea7fd aacenc: Fix number of coefficients used in a LFE channel.
The spec states:

 *  Only the lowest 12 spectral coefficients of any LFE may be non-zero

We were using the 12 lowest *bands*.
2011-08-13 19:40:33 -07:00
Nathan Caldwell
51a1d4d94a aacenc: Fix a segfault with grouped psymodel.
10l: Forgot about TYPE_LFE being after TYPE_CPE. Which causes a
segfault when encoding 5.1
2011-08-13 19:37:38 -07:00
Reimar Döffinger
658a8bb988 VC-1: fix reading of custom PAR.
Custom PAR num/denum are coded -1.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-14 00:05:36 +02:00
Michael Niedermayer
ca1dfea127 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: add dithering to yuv2yuvX_altivec_real
  rv34: free+allocate buffer instead of reallocating it to preserve alignment
  h264: add missing brackets.
  swscale: use 15-bit intermediates for 9/10-bit scaling.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-13 22:24:47 +02:00
Clément Bœsch
4c3c6e60f9 mxf: move framenum to timecode convert to timecode helpers.
This is based on the original work by Baptiste Coudurier.
2011-08-13 19:13:02 +02:00
Michael Niedermayer
0cb233cf46 Merge commit 'b2c087871dafc7d030b2d48457ddff597dfd4925'
* commit 'b2c087871dafc7d030b2d48457ddff597dfd4925':
  Move x86util.asm from libavcodec/ to libavutil/.
  Move x86inc.asm to libavutil/.
  APIchanges: note error_recognition in lavf
  lavf: add support for error_recognition, use it in avidec, and bump minor API version
  avconv: change semantics of -map
  avconv: get rid of new* options.
  cmdutils: allow precisely specifying a stream for AVOptions.
  configure: add missing CFLAGS to fix building on the HURD
  libx264: Include hint for possible values for configuring libx264
  cmdutils: allow ':'-separated modifiers in option names.
  avconv: make -map_metadata work consistently with the other options
  avconv: remove deprecated options.
  avconv: make -map_chapters accept only the input file index.
  Make a copy of ffmpeg under a new name -- avconv.
  ffmpeg: add a warning stating that the program is deprecated.
  Add weighted motion compensation for RV40 B-frames
  RV3/4: calculate B-frame motion weights once per frame
  Move RV3/4-specific DSP functions into their own context
  mjpeg: propagate decode errors from ff_mjpeg_decode_sos and ff_mjpeg_decode_dqt
  h264: notice memory allocation failure

Conflicts:
	.gitignore
	Makefile
	cmdutils.c
	configure
	doc/ffplay.texi
	doc/ffprobe.texi
	doc/ffserver.texi
	libavcodec/libx264.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/version.h
	tests/lavf-regression.sh
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-13 02:56:08 +02:00
Michael Niedermayer
931187e117 ac3dec: export center & suroundmix levels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-13 01:13:41 +02:00
Michael Niedermayer
7b382ab6b0 opt_find: fix segfault
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-13 01:06:15 +02:00
Kostya Shishkov
78622ef362 rv34: free+allocate buffer instead of reallocating it to preserve alignment
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-12 13:49:25 -07:00
Ronald S. Bultje
28ca701e0b h264: add missing brackets.
This caused failure of a few fate tests.
2011-08-12 12:32:31 -07:00
Ronald S. Bultje
b2c087871d Move x86util.asm from libavcodec/ to libavutil/.
This allows using it in swscale also.
2011-08-12 11:43:03 -07:00
Ronald S. Bultje
3a39195b1d Move x86inc.asm to libavutil/.
This allows using it in libswscale/ also.
2011-08-12 11:43:02 -07:00
Michael Niedermayer
9f4d37f450 ac3enc: drop common fixed/float encoder
User applications should by now be able to support float encoders.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-12 17:20:57 +02:00
Reinhard Tartler
69c4bee8fa libx264: Include hint for possible values for configuring libx264
The output of the x264 commandline tool contains the most uptodate
description of the possible values for the -preset, -tune and -profile
options.
2011-08-12 14:09:59 +02:00
Kostya Shishkov
b86ab38137 Add weighted motion compensation for RV40 B-frames
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:58 -07:00
Kostya Shishkov
e5ec68699e RV3/4: calculate B-frame motion weights once per frame
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:23 -07:00
Kostya Shishkov
d241f51e0f Move RV3/4-specific DSP functions into their own context
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:15 -07:00
Dustin Brody
21d7037234 mjpeg: propagate decode errors from ff_mjpeg_decode_sos and ff_mjpeg_decode_dqt
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:02:18 -07:00
Dustin Brody
bac3ab13ea h264: notice memory allocation failure
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 15:59:07 -07:00
Michael Niedermayer
d912e449b6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ac3enc: add macros for option names to make them more understandable.
  ac3enc: fix 'channel_coupling' option to actually allow 'auto'.
  cavs: fix some crashes with invalid bitstreams
  ac3enc: clip coupling coordinates during calculation
  Remove incorrect info in documentation of AVCodecContext.bits_per_raw_sample.
  lavc: fix parentheses placement in avcodec_open2().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-11 20:39:20 +02:00
Michael Niedermayer
961a1a81d8 cavsdec: check run value validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-11 20:16:27 +02:00
Justin Ruggles
c766eb1ce1 ac3enc: add macros for option names to make them more understandable. 2011-08-11 11:33:32 -04:00
Justin Ruggles
9542ca9fb7 ac3enc: fix 'channel_coupling' option to actually allow 'auto'.
Use 'auto' as the default value.
2011-08-11 11:33:32 -04:00
Mans Rullgard
4a71da0f3a cavs: fix some crashes with invalid bitstreams
This removes all valgrind-reported invalid writes with one
specific test file.

Fixes http://www.ocert.org/advisories/ocert-2011-002.html

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-08-10 22:35:20 +01:00
Justin Ruggles
069083a419 ac3enc: clip coupling coordinates during calculation
This is faster than using the clip_coefficients() function. Also,
clipping the coordinates before determining reuse is better since it
will compare coordinates that are closer to their final encoded values.
2011-08-10 17:09:24 -04:00
Justin Ruggles
d271d5b215 Remove incorrect info in documentation of AVCodecContext.bits_per_raw_sample.
bits_per_raw_sample is used in video as well, where sample_fmt is not used.
2011-08-10 15:40:52 -04:00
Michael Niedermayer
9f06c1c61e cavsdec: avoid possible crash with crafted input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-10 17:29:51 +02:00
Baptiste Coudurier
1d36fb13b0 lavc: fix parentheses placement in avcodec_open2().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-10 16:57:33 +02:00
Michael Niedermayer
a9aa88df1d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: make avcodec_init() static on next bump.
  ac3enc: remove unneeded #include
  ac3enc: restructure coupling coordinate reuse calculation
  ac3enc: allow new coupling coordinates to be sent independently for each channel.
  ac3enc: separate exponent bit counting from exponent grouping.
  h264: propagate error return values for AV_LOG_ERROR-triggering events
  aac: Don't attempt to output configure an invalid channel configuration.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-10 16:29:51 +02:00
Clément Bœsch
51fb933dd0 timecode: move dropframe code and doxycomment it.
This is based on the original work by Baptiste Coudurier.
2011-08-10 16:00:32 +02:00
Clément Bœsch
5231454560 timecode: introduce timecode and honor it in MPEG-1/2.
This is based on the original work by Baptiste Coudurier.
2011-08-10 16:00:32 +02:00
Michael Niedermayer
6481a36010 cavs: fix oCERT #2011-002 FFmpeg/libavcodec insufficient boundary check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-10 13:28:36 +02:00
Anton Khirnov
7221139ba0 lavc: make avcodec_init() static on next bump.
It's called from avcodec_register() anyway, so there's no reason for it
to be public.
2011-08-10 12:49:57 +02:00
Justin Ruggles
d1d33e0763 ac3enc: remove unneeded #include 2011-08-09 16:44:34 -04:00
Justin Ruggles
fce33f9ead ac3enc: restructure coupling coordinate reuse calculation 2011-08-09 16:44:34 -04:00
Justin Ruggles
c3d63262fe ac3enc: allow new coupling coordinates to be sent independently for each
channel.
2011-08-09 16:44:34 -04:00
Justin Ruggles
d55ad59a8a ac3enc: separate exponent bit counting from exponent grouping.
Move bit counting to the bit allocation function. Move exponent grouping to
after bit allocation. This will allow for adjustment of bandwidth parameters
during bit allocation without having to do exponent grouping multiple times.
2011-08-09 16:28:18 -04:00
Michael Niedermayer
0d4ea7b324 lavc: bump minor for Go2Meeting codec ID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-09 22:11:08 +02:00
Thierry Foucu
2a41701300 AVCodec: Add Go2Meeting codec ID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-09 21:53:38 +02:00
Dustin Brody
12fe759423 h264: propagate error return values for AV_LOG_ERROR-triggering events
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-09 12:29:13 -07:00
Alex Converse
94d47382e0 aac: Don't attempt to output configure an invalid channel configuration. 2011-08-09 12:16:40 -07:00
Michael Niedermayer
3a1df52e3c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Pretty-print RV3/4 decoder source
  Saner RV1/2 initialisation and RV2 header parsing.

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-09 16:32:39 +02:00
Michael Niedermayer
aae1c247b1 ra288: avoid one multiply
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-09 15:08:20 +02:00
Kostya Shishkov
7351eb1415 Pretty-print RV3/4 decoder source
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-09 12:06:38 +02:00
Baptiste Coudurier
d5d74cf530 100l: fix parentheses placement when checking for ret < 0 2011-08-08 23:41:50 -07:00
Kostya Shishkov
9791c02733 Saner RV1/2 initialisation and RV2 header parsing.
Old version was based on lots of guesswork which had different hacks based on
32-bit version field instead of splitting it into major/minor/micro version.
RV2 picture header parser also had a few places where it deviated from binary
decoder.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-08 17:23:07 -07:00
Michael Niedermayer
9a5f61ac62 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: do not set pic quality if no frame is output
  libx264: add preset, tune, profile and fastfirstpass private options

Conflicts:
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-09 00:01:48 +02:00
Baptiste Coudurier
5caa2de19e libx264: do not set pic quality if no frame is output
Avoids uninitialized reads.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-08 14:33:09 +02:00
Baptiste Coudurier
07a227b432 libx264: add preset, tune, profile and fastfirstpass private options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-08 14:33:09 +02:00
Michael Niedermayer
6c4e9cae52 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: fix misspelling in comment
  aac: propagate error return values for AV_LOG_ERROR-triggering events

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-07 00:32:19 +02:00
Dustin Brody
b2700a5c7c lavc: fix misspelling in comment
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-05 18:18:38 -07:00
Dustin Brody
680b1852ab aac: propagate error return values for AV_LOG_ERROR-triggering events 2011-08-05 12:35:49 -07:00
Michael Niedermayer
84a6abd954 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  applehttp: fix variant discard logic
  h263dec: Fix asserts broken by the elimination of FF_COMMON_FRAME.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-04 20:59:36 +02:00
Michael Niedermayer
9e63720b4b mpegvideo.h: remove the 1 line difference to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-04 17:05:07 +02:00
Alex Converse
ad62507f32 h263dec: Fix asserts broken by the elimination of FF_COMMON_FRAME. 2011-08-03 17:56:47 -07:00
Michael Niedermayer
64160ef392 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: remove some stray comments from AVCodec declarations
  cosmetics: fix indentation/alignment in AVCodec declarations
  arm: Avoid using the movw instruction needlessly
  Move an int64_t down in MpegEncContext

Conflicts:
	libavcodec/arm/ac3dsp_armv6.S

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-04 01:40:29 +02:00
Diego Biurrun
fed6c90b68 cosmetics: remove some stray comments from AVCodec declarations 2011-08-03 23:31:45 +02:00
Diego Biurrun
933a6fd5a1 cosmetics: fix indentation/alignment in AVCodec declarations 2011-08-03 23:31:45 +02:00
Reimar Döffinger
99c7b51641 Abort if command offset decreases, avoids potential endless loop.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-03 20:09:53 +02:00
Carl Eugen Hoyos
324b8adca4 Fix a possible miscompilation of cabac with old (broken) compilers. 2011-08-03 13:09:42 +02:00
Carl Eugen Hoyos
eb29649cad Set bits_per_coded_sample when encoding ADPCM. 2011-08-03 11:45:33 +02:00
Måns Rullgård
9a83adaf34 arm: Avoid using the movw instruction needlessly
This fixes building for ARM11 without Thumb2.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:58 +03:00
Martin Storsjö
d0a2f0af9d Move an int64_t down in MpegEncContext
This allows using the same arm assembler offsets for both EABI
and the mach-o ABI.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:56 +03:00
Michael Niedermayer
1d186e9e12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
  swscale: use 15-bit intermediates for 9/10-bit scaling.
  dct32: Add SSE2 ASM optimizations
  Correct chroma vector calculation for RealVideo 3.
  lavf: Add an option to discard corrupted frames
  mpegts: Mark wrongly-sized packets as corrupted
  mpegts: Move scan test to handle_packets
  mpegts: Mark corrupted packets
  mpegts: Reset continuity counter on seek
  mpegts: Fix for continuity counter
  mpegts: Silence "can't seek" warning on unseekable
  apichange: add an entry for AV_PKT_FLAG_CORRUPT
  avpacket: signal possibly corrupted packets
  mpeg4videodec: remove dead code that would have detected erroneous encoding
  aac: Remove some suspicious illegal memcpy()s from LTP.
  bink: Eliminate unnecessary shadow declaration.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/options.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-02 22:12:18 +02:00
Vitor Sessak
18b131de04 dct32: Add SSE2 ASM optimizations
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 10:17:29 -07:00
Kostya Shishkov
6f7fe4723b Correct chroma vector calculation for RealVideo 3.
Old version divided it wrong, which resulted in chroma drift (visible on FATE
sample too as dirty trails left by clouds).

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 08:23:47 -07:00
Luca Barbato
9d39cbf6cf avpacket: signal possibly corrupted packets
Use AV_PKT_FLAG_CORRUPT flag to mark packets that might be incomplete
or have errors. Formats that have a mean to validate their packets
should use this flag to deliver such information instead of silently
dropping the packets.
2011-08-02 02:19:31 +02:00
Dustin Brody
4326f6f525 mpeg4videodec: remove dead code that would have detected erroneous encoding
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-01 21:06:48 +02:00
Alex Converse
a6c49f18ab aac: Remove some suspicious illegal memcpy()s from LTP. 2011-08-01 09:39:33 -07:00
Alex Converse
e11a5fccb2 bink: Eliminate unnecessary shadow declaration. 2011-08-01 09:39:33 -07:00
Carl Eugen Hoyos
318fd9dac2 Remove non-existing fourcc " Y8".
This reverts a line of r1842.
2011-08-01 01:26:55 +02:00
Michael Niedermayer
335bbe424f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
  x11grab: add show_region AVOption.
  x11grab: add follow_mouse AVOption.
  Do not convert RGB buffer at once when stride does not fit exact samples.

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-01 00:35:57 +02:00
Dustin Brody
18cb40f074 lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-31 14:53:38 -07:00
Reimar Döffinger
0e29c4f761 Revert bink dequantization hack that is no longer necessary.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-30 11:22:11 +02:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Jason Garrett-Glaser
a3bf7b864a H.264: tweak some other x86 asm for Atom 2011-07-29 12:24:15 -07:00
Dustin Brody
8f9d3f6d9a s302m: use nondeprecated audio sample format API
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-29 08:47:34 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
3ad1684126 x86: cabac: add operand size suffixes missing from 6c32576
This fixes build with clang.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 18:59:23 -07:00
Michael Niedermayer
2dd2abe391 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
  x86: cabac: don't load/store context values in asm
  H.264: optimize CABAC x86 asm for Atom
  vp3/theora: flush after seek.
  doc/fftools-common-opts: wording fixes missing from the previous commit.
  doc: document using AVOptions in fftools.
  cmdutils: add codec_opts parameter to setup_find_stream_info_opts()
  cmdutils: clarify documentation for filter_codec_opts()
  cmdutils: clarify documentation for setup_find_stream_info_opts()
  lavf: add forgotten attribute_deprecated to av_find_stream_info()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-29 01:50:53 +02:00
Dustin Brody
2a11952f45 h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-28 15:23:07 -07:00
Mans Rullgard
f5f004bc5a x86: cabac: don't load/store context values in asm
Inspection of compiled code shows gcc handles these fine on its own.
Benchmarking also shows no measurable speed difference.

Removing the remaining cases in get_cabac_bypass_sign_x86() does
cause more substantial changes to the compiled code with uncertain
impact.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 22:25:21 +01:00
Jason Garrett-Glaser
6c32576548 H.264: optimize CABAC x86 asm for Atom 2011-07-28 13:06:13 -07:00
Ronald S. Bultje
8dcf518430 vp3/theora: flush after seek. 2011-07-28 12:17:26 -07:00
Jeff Downs
4105443872 h264 - Correct implicit weight table computation for long ref pics
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.
2011-07-28 15:11:16 -04:00
Jeff Downs
e80e2d5ba1 h264 - correct the check for invalid long term frame index in MMCO decode
The current checks on MMCO parameters prohibits a "max long term frame index
plus 1" of 16 (frame idx of 15) for the "set max long term frame index" MMCO.
Fix this off-by-one error to allow the full range of legal values.
2011-07-28 15:11:16 -04:00
Jeff Downs
188694b2f5 h264 - Fix PCM intra coded blocks in monochrome case 2011-07-28 15:11:16 -04:00
Michael Niedermayer
2fb9fc0f6c h264: improve max slices error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-28 11:50:02 +02:00
Stefano Sabatini
539940d42f imgconvert: remove unused and inconsistent PixFmtInfo.depth field 2011-07-28 10:27:51 +02:00
Stefano Sabatini
fdd130a213 prefer "SAR" over "PAR" in av_dump_format()
"SAR" (Sample Aspect Ratio) is globally preferred over "PAR" (Pixel
Aspect Ratio), although the two terms share the same semantics.

For example the corresponding AVStream field is called
sample_aspect_ratio, and libavfilter has a filter named setsar.

Therefore prefer the term "SAR" over "PAR" in the
libavformat/utils.c:dump_stream_format() and avcodec_string() output
for avoiding confusion.
2011-07-28 10:24:43 +02:00
Michael Niedermayer
44187717c1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: remove redundant setting of Altivec IDCT
  mpegvideo: initialise DSPContext in ff_dct_common_init()
  cosmetics: reindent
  eac3enc: support writing of basic mixing and info metadata
  dnxhdenc: fix declarations in for loops
  dsputil: remove stale bink prototypes and comments
  dsputil: move a bink-only function to binkdsp
  dsputil: remove some unused functions
  bink: make IDCT take 32-bit input

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-28 09:28:01 +02:00
Mans Rullgard
ca6a904656 ppc: remove redundant setting of Altivec IDCT
This is already set by dsputil_init_ppc() and is best done in only
one place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Mans Rullgard
c3027b4d2f mpegvideo: initialise DSPContext in ff_dct_common_init()
The functions and tables initialised in this function rely on an
initialised DSPContext.  Make sure they always have one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Justin Ruggles
093ee8e199 cosmetics: reindent 2011-07-27 11:51:46 -04:00
Justin Ruggles
1bca72e1bd eac3enc: support writing of basic mixing and info metadata 2011-07-27 11:51:46 -04:00
Mans Rullgard
e72f3d10f6 dnxhdenc: fix declarations in for loops
Apparently the gcc warning doesn't trigger on these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:36:02 +01:00
Mans Rullgard
c358a0364e dsputil: remove stale bink prototypes and comments
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
1b3539d453 dsputil: move a bink-only function to binkdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
cbd58a872d dsputil: remove some unused functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Kostya Shishkov
2968bedf12 bink: make IDCT take 32-bit input
Since IDCT transforming 32-bit input to 8-bit output is unusual and unpractical
for most codecs, move Bink IDCT into separate context. Get rid of an additional
permutation table while at it since SIMD support for Bink IDCT is unlikely to
be implemented in foreseeable future.
Quantisation tables also have to change type to signed for proper
dequantisation of DCT coefficients.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 14:39:56 +01:00
Michael Niedermayer
f52ad8cedd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: spelling cosmetics
  dctref: make sure function declarations match between .c and .h file
  x86: fix build with gcc 4.7

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-27 10:40:34 +02:00
Stefano Sabatini
e324619ca9 imgconvert: change logic in avcodec_get_pix_fmt_loss()
Avoid the use of the brittle/inconsistent information in
PixFmtInfo.depth, and implement a possibly more robust logic which
exposes the information in pixdesc.

Also allow the removal of PixFmtInfo.depth, since this is the only use
of it.
2011-07-27 01:52:09 +02:00
Diego Biurrun
9b3139ebca dctref: make sure function declarations match between .c and .h file 2011-07-27 00:26:13 +02:00
Mans Rullgard
da4c7cce21 x86: fix build with gcc 4.7
The upcoming gcc 4.7 has more advanced constant propagation
resulting some inline asm operands becoming constants and thus
emitted as literals, sometimes in contexts where this results
in invalid instructions.

This patch changes the constraints of the relevant operands
to "rm" thus forcing a valid type.  While obviously suboptimal,
this is what older gcc versions already did, and there is no
change to the code generated with these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-26 22:17:43 +01:00
Reimar Döffinger
7cbb856efe Remove useless NULL check.
We dereferenced the pointer two lines above, no point in
checking for NULL afterwards.
In addition it cannot be NULL the way it was initialized
just one line further above.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-26 22:34:44 +02:00
Stefano Sabatini
d7e14c0d10 imgconvert: remove PixFmtInfo.pixel_type field
The field is only used for checking if a format is YUV planar
and if the format is paletted.

This patch replaces the current is_planar_yuv() code with a function
which uses the pixdesc information. The new implementation is less
efficient, but this should not be an issue as the functions which use
it (av_picture_crop/pad()) are deprecated and currently never used in
the codebase.
2011-07-25 11:11:54 +02:00
Michael Niedermayer
14d5e214bf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  jpegdec: actually search for and parse RSTn

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-25 01:19:40 +02:00
Michael Niedermayer
9e4ed295da mpeg4_decode_profile_level: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-24 16:28:10 +02:00
Michael Niedermayer
52e24c7d7e mpeg4videodec: simplify mpeg4_decode_profile_level()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-24 16:21:37 +02:00
Michael Niedermayer
8c0fa61a97 jpegdec: actually search for and parse RSTn
Fixes decoding of MJPEG files produced by some UVC Logitec web cameras,
such as "Notebook Pro" and "HD C910".

References:
http://trac.videolan.org/vlc/ticket/4215
http://ffmpeg.org/trac/ffmpeg/ticket/267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Kostya <kostya.shishkov@gmail.com>
(cherry picked from commit 7b8ed831eb)
2011-07-23 19:19:13 +02:00
Stefano Sabatini
3b8bb503ee imgconvert: store padded size information in PixFmtInfo, simplify avg_bits_per_pixel()
Prefer data-driven over procedural logic in avg_bits_per_pixel(),
simplify and improve robustness, as it is easy to miss a function
update when a new format is added.
2011-07-23 17:01:27 +02:00
Stefano Sabatini
49f612ee29 imgconvert: remove useless PixFmtInfo.nb_channels field 2011-07-23 17:01:27 +02:00
Michael Niedermayer
5271b857eb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dnxhddec: avoid a branch in 10-bit decode_dct_block()
  H.264: Add optimizations to predict x86 assembly.
  riff: Add mpgv MPEG-2 fourcc
  add Flash Screen Video 2 decoder

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-23 16:47:10 +02:00
Mans Rullgard
b4cfb8254e dnxhddec: avoid a branch in 10-bit decode_dct_block()
The minimum weight value is 32 so this test can be skipped for the
10-bit case.  Overall speedup 3-4%.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-22 23:39:31 +01:00
Daniel Kang
406fbd24dc H.264: Add optimizations to predict x86 assembly.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 14:54:33 -07:00
Kostya Shishkov
c2d23309ef add Flash Screen Video 2 decoder
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 09:12:30 -07:00
Michael Niedermayer
4095fa9038 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dnxhddec: optimise dnxhd_decode_dct_block()
  rtp: remove disabled code
  eac3enc: use different numbers of blocks per frame to allow higher bitrates
  dnxhd: add regression test for 10-bit
  dnxhd: 10-bit support
  dsputil: update per-arch init funcs for non-h264 high bit depth
  dsputil: template get_pixels() for different bit depths
  dsputil: create 16/32-bit dctcoef versions of some functions
  jfdctint: add 10-bit version
  mov: add clcp type track as Subtitle stream.
  mpeg4: add Mpeg4 Profiles names.
  mpeg4: decode Level Profile for MPEG4 Part 2.
  ffprobe: display bitstream level.
  imgconvert: remove unused glue and xglue macros

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-22 12:08:52 +02:00
Mans Rullgard
bb32fded36 dnxhddec: optimise dnxhd_decode_dct_block()
Template the function for 8/10-bit and use lowlevel bitstream
macros.

6% faster overall on i7 gcc 4.5.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 23:14:37 +01:00
Justin Ruggles
be7bd626c4 eac3enc: use different numbers of blocks per frame to allow higher bitrates 2011-07-21 14:57:10 -04:00
Joseph Artsimovich
5ab21439fd dnxhd: 10-bit support
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:44:40 +01:00
Mans Rullgard
a617c6aaa3 dsputil: update per-arch init funcs for non-h264 high bit depth
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
874f1a901d dsputil: template get_pixels() for different bit depths
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
5cc2600964 dsputil: create 16/32-bit dctcoef versions of some functions
High bitdepth H.264 needs 32-bit transform coefficients, whereas
dnxhd does not.  This creates a conflict with the templated
functions operating on DCTELEM data.  This patch adds a field
allowing the caller to choose the element size in dsputil_init()
and adds the required functions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
0a72533e98 jfdctint: add 10-bit version
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Thierry Foucu
c4ab43ff3c mpeg4: add Mpeg4 Profiles names.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-21 09:34:11 -07:00
Thierry Foucu
0637e50579 mpeg4: decode Level Profile for MPEG4 Part 2.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-21 09:33:34 -07:00
Stefano Sabatini
09e8163625 imgconvert: remove unused glue and xglue macros
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-21 17:55:27 +02:00
Michael Niedermayer
ba99474b1d h264: fix h264-test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-21 16:53:24 +02:00
Michael Niedermayer
f93f6963ba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv30: return AVERROR(EINVAL) instead of EINVAL
  build: add -L flags before existing LDFLAGS
  simple_idct: whitespace cosmetics
  simple_idct: make repeated code a macro
  dsputil: remove huge #if 0 block
  simple_idct: change 10-bit add/put stride from pixels to bytes
  dsputil: allow 9/10-bit functions for non-h264 codecs
  dnxhd: rename some data tables
  dnxhdenc: remove inline from function only called through pointer
  dnxhdenc: whitespace cosmetics
  swscale: mark YUV422P10(LE,BE) as supported for output
  configure: add -xc99 to LDFLAGS for Sun CC
  Remove unused and non-compiling vestigial g729 decoder
  Remove unused code under G729_BITEXACT #ifdef.
  mpegvideo: fix invalid picture unreferencing.
  dsputil: Remove extra blank line at end.
  dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT.
  simple_idct: add 10-bit version

Conflicts:
	Makefile
	libavcodec/g729data.h
	libavcodec/g729dec.c
	libavcodec/rv30.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-21 16:28:53 +02:00
Diego Biurrun
e5985185d2 rv30: return AVERROR(EINVAL) instead of EINVAL
On some platforms EINVAL could be positive, ensure we return negative values.
2011-07-21 14:26:06 +02:00
Mans Rullgard
2cc4f3b21f simple_idct: whitespace cosmetics
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 12:49:51 +01:00
Mans Rullgard
a402f10959 simple_idct: make repeated code a macro
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 12:49:51 +01:00
Mans Rullgard
7df701a192 dsputil: remove huge #if 0 block
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 11:04:56 +01:00