ffmpeg.git
6 years agovp9: split pre-load of 11585x2 out of 1d idct macro.
Ronald S. Bultje [Mon, 2 Dec 2013 13:03:04 +0000 (08:03 -0500)]
vp9: split pre-load of 11585x2 out of 1d idct macro.

This allows us to load it only once, instead of twice, in this function.

6 years agovp9: minor refactorings in idct ssse3 assembly.
Ronald S. Bultje [Mon, 2 Dec 2013 13:02:43 +0000 (08:02 -0500)]
vp9: minor refactorings in idct ssse3 assembly.

Make register usage in macros explicit; change mulsub_2w_4x to use 2
instead of 3 temp registers.

6 years agovp9: split x86 assembly in two files.
Ronald S. Bultje [Sun, 1 Dec 2013 21:27:16 +0000 (16:27 -0500)]
vp9: split x86 assembly in two files.

(And in future, loopfilter or intra pred could be put in their own
respective files also.)

6 years agoavutil/opt: Implement av_opt_set_defaults* in O(N) instead of O(N²) time
Michael Niedermayer [Sat, 7 Dec 2013 11:41:09 +0000 (12:41 +0100)]
avutil/opt: Implement av_opt_set_defaults* in O(N) instead of O(N²) time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/opt: factor set_string_color() out
Michael Niedermayer [Sat, 7 Dec 2013 12:09:33 +0000 (13:09 +0100)]
avutil/opt: factor set_string_color() out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/opt: factor set_string_video_rate() out
Michael Niedermayer [Sat, 7 Dec 2013 12:04:38 +0000 (13:04 +0100)]
avutil/opt: factor set_string_video_rate() out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/opt: factor set_string_image_size() out
Michael Niedermayer [Sat, 7 Dec 2013 12:01:38 +0000 (13:01 +0100)]
avutil/opt: factor set_string_image_size() out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/utils: remove unused variable
Michael Niedermayer [Sat, 7 Dec 2013 10:59:53 +0000 (11:59 +0100)]
avformat/utils: remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sat, 7 Dec 2013 10:48:25 +0000 (11:48 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  dcadec: Decode LFE to avoid adding random data when downmixing with LFE

See: 6e7de1144436a6871fdbd7859f3a2ece6e89d9fb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/utils: reject poorly fitting rfps values earlier
Michael Niedermayer [Sat, 7 Dec 2013 03:13:44 +0000 (04:13 +0100)]
avformat/utils: reject poorly fitting rfps values earlier

This avoids collecting statistics for rfps values that very likely
will get rejected later.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/mov: use rfps_add_frame() only for video
Michael Niedermayer [Sat, 7 Dec 2013 02:23:49 +0000 (03:23 +0100)]
avformat/mov: use rfps_add_frame() only for video

it makes no sense for other streams

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoswscale/utils: fill xyz tables only when they will be used
Michael Niedermayer [Sat, 7 Dec 2013 01:04:31 +0000 (02:04 +0100)]
swscale/utils: fill xyz tables only when they will be used

makes the first call to sws_getContext() 1ms faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/utils: run ff_check_pixfmt_descriptors() only when ASSERT_LEVEL is > 0
Michael Niedermayer [Fri, 6 Dec 2013 22:51:58 +0000 (23:51 +0100)]
avutil/utils: run ff_check_pixfmt_descriptors() only when ASSERT_LEVEL is > 0

this safes about 0.1ms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agodcadec: Decode LFE to avoid adding random data when downmixing with LFE
Michael Niedermayer [Thu, 5 Dec 2013 20:06:28 +0000 (21:06 +0100)]
dcadec: Decode LFE to avoid adding random data when downmixing with LFE

Signed-off-by: Tim Walker <tdskywalker@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoavutil/log: skip IO calls on empty strings
Michael Niedermayer [Fri, 6 Dec 2013 22:30:34 +0000 (23:30 +0100)]
avutil/log: skip IO calls on empty strings

These occur when no context is set for example, thus they are common

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/log: skip setting color for default (AV_LOG_INFO) level
Michael Niedermayer [Fri, 6 Dec 2013 22:28:57 +0000 (23:28 +0100)]
avutil/log: skip setting color for default (AV_LOG_INFO) level

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/log: merge calls that set ansi color and print the string
Michael Niedermayer [Fri, 6 Dec 2013 22:27:45 +0000 (23:27 +0100)]
avutil/log: merge calls that set ansi color and print the string

about 1/3 or so faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavresample: Include libavutil/avutil.h in version.h
James Almer [Fri, 6 Dec 2013 01:14:19 +0000 (22:14 -0300)]
avresample: Include libavutil/avutil.h in version.h

Should fix issues compiling lavr's Windows resource file.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'lukaszmluki/master'
Michael Niedermayer [Fri, 6 Dec 2013 19:26:41 +0000 (20:26 +0100)]
Merge remote-tracking branch 'lukaszmluki/master'

* lukaszmluki/master:
  lavd/fbdev_enc: add default device

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agolavf/mux: Don't write "encoder" metadata tag when bitexact is requested
James Almer [Fri, 6 Dec 2013 03:35:35 +0000 (00:35 -0300)]
lavf/mux: Don't write "encoder" metadata tag when bitexact is requested

Since we don't write lavf's string when bitexact is requested, this will
prevent the tag from being copied from the source stream.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agolavd/fbdev_enc: add default device
Lukasz Marek [Thu, 7 Nov 2013 18:06:38 +0000 (19:06 +0100)]
lavd/fbdev_enc: add default device

Use device specified by environment variable FRAMEBUFFER or /dev/fb0 as default.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
6 years agoavcodec/error_resilience: check that er is supported before attempting to read the...
Michael Niedermayer [Fri, 6 Dec 2013 15:49:35 +0000 (16:49 +0100)]
avcodec/error_resilience: check that er is supported before attempting to read the status of the previous slice

Fixes incorrectly set error_occured and improves speed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/error_resilience: factor er_supported() check out
Michael Niedermayer [Fri, 6 Dec 2013 15:49:00 +0000 (16:49 +0100)]
avcodec/error_resilience: factor er_supported() check out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/qdm2: move static init to normal init to avoid initializing tables that might...
Michael Niedermayer [Fri, 6 Dec 2013 14:38:20 +0000 (15:38 +0100)]
avcodec/qdm2: move static init to normal init to avoid initializing tables that might never be used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agodo O(1) instead of O(n) atomic operations in register functions
Michael Niedermayer [Fri, 6 Dec 2013 14:24:10 +0000 (15:24 +0100)]
do O(1) instead of O(n) atomic operations in register functions

about 1ms faster startup time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agomjpeg/ljpegenc: factor ff_mjpeg_init_hvsample() out
Michael Niedermayer [Fri, 6 Dec 2013 13:24:06 +0000 (14:24 +0100)]
mjpeg/ljpegenc: factor ff_mjpeg_init_hvsample() out

This reduces the amount of duplicated code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mpegvideo_enc/frame_end(): remove unused variable
Michael Niedermayer [Fri, 6 Dec 2013 13:19:33 +0000 (14:19 +0100)]
avcodec/mpegvideo_enc/frame_end(): remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mjpegenc/ff_mjpeg_escape_FF: remove unused variable
Michael Niedermayer [Fri, 6 Dec 2013 13:19:11 +0000 (14:19 +0100)]
avcodec/mjpegenc/ff_mjpeg_escape_FF: remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Fri, 6 Dec 2013 13:13:19 +0000 (14:13 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  webp: add a special case for a huffman table with only 1 symbol

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e'
Michael Niedermayer [Fri, 6 Dec 2013 13:06:53 +0000 (14:06 +0100)]
Merge commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e'

* commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e':
  webp: do not call av_frame_free() on the user-provided frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'b73a8922d818c7f909855557718d4c3bfacbd92d'
Michael Niedermayer [Fri, 6 Dec 2013 13:01:54 +0000 (14:01 +0100)]
Merge commit 'b73a8922d818c7f909855557718d4c3bfacbd92d'

* commit 'b73a8922d818c7f909855557718d4c3bfacbd92d':
  ljpegenc: split yuv encoding into a separate function

Conflicts:
libavcodec/ljpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5'
Michael Niedermayer [Fri, 6 Dec 2013 12:55:37 +0000 (13:55 +0100)]
Merge commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5'

* commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5':
  ljpegenc: split bgr encoding into a separate function

Conflicts:
libavcodec/ljpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'daffed3b173c59d64907747bf3309e98a8974f4e'
Michael Niedermayer [Fri, 6 Dec 2013 12:48:20 +0000 (13:48 +0100)]
Merge commit 'daffed3b173c59d64907747bf3309e98a8974f4e'

* commit 'daffed3b173c59d64907747bf3309e98a8974f4e':
  ljpegenc: accept bgr24 instead of bgra

Conflicts:
libavcodec/ljpegenc.c
libavcodec/mjpegenc.c

Only whitespace merged, we continue to support both formats

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '0cdbc4d39394965bd8712395b19160da8f3fe144'
Michael Niedermayer [Fri, 6 Dec 2013 12:38:17 +0000 (13:38 +0100)]
Merge commit '0cdbc4d39394965bd8712395b19160da8f3fe144'

* commit '0cdbc4d39394965bd8712395b19160da8f3fe144':
  ljpegenc: rename the encoding function.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '72c0b8f724a71d2784aecad0e5221e7ab6206371'
Michael Niedermayer [Fri, 6 Dec 2013 12:37:04 +0000 (13:37 +0100)]
Merge commit '72c0b8f724a71d2784aecad0e5221e7ab6206371'

* commit '72c0b8f724a71d2784aecad0e5221e7ab6206371':
  ljpeg: remove a commented-out line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mjpegenc: fix and use lossless flag in ff_mjpeg_encode_picture_header()
Michael Niedermayer [Fri, 6 Dec 2013 12:23:17 +0000 (13:23 +0100)]
avcodec/mjpegenc: fix and use lossless flag in ff_mjpeg_encode_picture_header()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '24abd806ea0cfb0d988d2f0044eac79cff12918c'
Michael Niedermayer [Fri, 6 Dec 2013 11:21:31 +0000 (12:21 +0100)]
Merge commit '24abd806ea0cfb0d988d2f0044eac79cff12918c'

* commit '24abd806ea0cfb0d988d2f0044eac79cff12918c':
  ljpegenc: deMpegEncContextize

Conflicts:
libavcodec/ljpegenc.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
tests/ref/vsynth/vsynth1-ljpeg
tests/ref/vsynth/vsynth2-ljpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/ljpegenc: Dont use ff_mjpeg_encode_stuffing()
Michael Niedermayer [Fri, 6 Dec 2013 10:56:16 +0000 (11:56 +0100)]
avcodec/ljpegenc: Dont use ff_mjpeg_encode_stuffing()

This avoids a use of MpegEncContext

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mjpegenc: move end padding/alignment to ff_mjpeg_escape_FF()
Michael Niedermayer [Fri, 6 Dec 2013 10:55:23 +0000 (11:55 +0100)]
avcodec/mjpegenc: move end padding/alignment to ff_mjpeg_escape_FF()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mjpegenc: make escape_FF() non static
Michael Niedermayer [Fri, 6 Dec 2013 10:49:53 +0000 (11:49 +0100)]
avcodec/mjpegenc: make escape_FF() non static

This will be used by ljpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/ljpegenc: fix mem allocation failure return code encode_picture_lossless()
Michael Niedermayer [Fri, 6 Dec 2013 10:49:17 +0000 (11:49 +0100)]
avcodec/ljpegenc: fix mem allocation failure return code encode_picture_lossless()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d'
Michael Niedermayer [Fri, 6 Dec 2013 10:40:30 +0000 (11:40 +0100)]
Merge commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d'

* commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d':
  mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()

Conflicts:
libavcodec/mjpegenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed'
Michael Niedermayer [Fri, 6 Dec 2013 10:33:07 +0000 (11:33 +0100)]
Merge commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed'

* commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed':
  mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()

Conflicts:
libavcodec/ljpegenc.c
libavcodec/mjpegenc.c
libavcodec/mjpegenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '058d5f2feb730846f22c1812e433f92f670ad751'
Michael Niedermayer [Fri, 6 Dec 2013 10:04:27 +0000 (11:04 +0100)]
Merge commit '058d5f2feb730846f22c1812e433f92f670ad751'

* commit '058d5f2feb730846f22c1812e433f92f670ad751':
  mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()

Conflicts:
libavcodec/mjpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agolavfi: rename asrc_aevalsrc.c to aeval.c
Stefano Sabatini [Fri, 6 Dec 2013 09:33:55 +0000 (10:33 +0100)]
lavfi: rename asrc_aevalsrc.c to aeval.c

The file now contains both source and filter, the new name looks more
appropriate.

6 years agolavfi: add aeval filter
Stefano Sabatini [Thu, 5 Dec 2013 17:23:06 +0000 (18:23 +0100)]
lavfi: add aeval filter

6 years agolavfi/aevalsrc: duplicate last expression for the missing channels
Stefano Sabatini [Fri, 6 Dec 2013 09:26:11 +0000 (10:26 +0100)]
lavfi/aevalsrc: duplicate last expression for the missing channels

Use last expression for the missing channel expressions in case the
channel layout was specified. Enhance flexibility.

6 years agodoc: add script to compute texi files dependencies
Stefano Sabatini [Tue, 28 May 2013 19:52:33 +0000 (21:52 +0200)]
doc: add script to compute texi files dependencies

Replace the inline awk script with a Perl script which tracks the
dependencies recursively.

This allows to correctly track dependencies for files including files
with a second level include (for example: ffmpeg-devices.texi ->
devices.texi -> outdevs.texi).

This also adds a dependency on perl for computing the dependencies, which
should not be a problem since perl is already required all the way for
building documentation.

This is a variant of commit 628ceac6526724d35cb390cc1f88344f4ea22eb4
which was reverted due to out-of-tree build failure.

6 years agoMerge commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7'
Michael Niedermayer [Fri, 6 Dec 2013 09:14:15 +0000 (10:14 +0100)]
Merge commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7'

* commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7':
  mjpegenc: do not pass MpegEncContext to jpeg_table_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'e1eaaec765d2e726618633fcbd2e06fded7647a8'
Michael Niedermayer [Fri, 6 Dec 2013 09:06:43 +0000 (10:06 +0100)]
Merge commit 'e1eaaec765d2e726618633fcbd2e06fded7647a8'

* commit 'e1eaaec765d2e726618633fcbd2e06fded7647a8':
  mjpegenc: remove commented out never-to-be-finished WIP cruft

Conflicts:
libavcodec/mjpegenc.c

The unfinished 2-matrix code is left in place and not removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9'
Michael Niedermayer [Fri, 6 Dec 2013 03:31:10 +0000 (04:31 +0100)]
Merge commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9'

* commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9':
  mjpegenc: do not pass MpegEncContext to put_huffman_table()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'a1ba1f20b350cb89e645f17bdb237d027170db33'
Michael Niedermayer [Fri, 6 Dec 2013 03:25:56 +0000 (04:25 +0100)]
Merge commit 'a1ba1f20b350cb89e645f17bdb237d027170db33'

* commit 'a1ba1f20b350cb89e645f17bdb237d027170db33':
  mjpegenc: cosmetics, reformat jpeg_put_comments()

Conflicts:
libavcodec/mjpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '0812f5a40a0a190172b6de6e91755b882472ddc5'
Michael Niedermayer [Fri, 6 Dec 2013 03:18:02 +0000 (04:18 +0100)]
Merge commit '0812f5a40a0a190172b6de6e91755b882472ddc5'

* commit '0812f5a40a0a190172b6de6e91755b882472ddc5':
  mjpegenc: write the JFIF header if the sample aspect ratio is set

Conflicts:
libavcodec/mjpegenc.c

See: f3ce748d3453a490f32a5518f9cf6bef6892a30c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '66499f34b56fc6a9fdef25543bd9d576fc787895'
Michael Niedermayer [Fri, 6 Dec 2013 03:09:47 +0000 (04:09 +0100)]
Merge commit '66499f34b56fc6a9fdef25543bd9d576fc787895'

* commit '66499f34b56fc6a9fdef25543bd9d576fc787895':
  mpegvideo: do not set current_picture_ptr in decoders

Conflicts:
libavcodec/mss2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '58a868968df445068a143f327ced03b6a02baf0d'
Michael Niedermayer [Fri, 6 Dec 2013 03:03:05 +0000 (04:03 +0100)]
Merge commit '58a868968df445068a143f327ced03b6a02baf0d'

* commit '58a868968df445068a143f327ced03b6a02baf0d':
  FATE: drop the last partial frame in the wmv8-drm test

Conflicts:
tests/ref/fate/wmv8-drm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'ac1fc92ea410c396594fcd79f5d4491fe6a8cc90'
Michael Niedermayer [Fri, 6 Dec 2013 02:55:12 +0000 (03:55 +0100)]
Merge commit 'ac1fc92ea410c396594fcd79f5d4491fe6a8cc90'

* commit 'ac1fc92ea410c396594fcd79f5d4491fe6a8cc90':
  vc1dec: move setting repeat_pict after frame_start() has been called.

Conflicts:
libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '282c6a1a0ef3e8c8e180c15b39cfe5b89704d848'
Michael Niedermayer [Fri, 6 Dec 2013 02:46:42 +0000 (03:46 +0100)]
Merge commit '282c6a1a0ef3e8c8e180c15b39cfe5b89704d848'

* commit '282c6a1a0ef3e8c8e180c15b39cfe5b89704d848':
  mpegvideo: make ff_release_unused_pictures() static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'c99307caee01441cfde24f3b7b0db3037b7022dc'
Michael Niedermayer [Fri, 6 Dec 2013 02:19:37 +0000 (03:19 +0100)]
Merge commit 'c99307caee01441cfde24f3b7b0db3037b7022dc'

* commit 'c99307caee01441cfde24f3b7b0db3037b7022dc':
  mpegvideo: make frame_size_alloc() static.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '0b0a7a751de02464a33717e70352f696372ba1c4'
Michael Niedermayer [Fri, 6 Dec 2013 02:04:32 +0000 (03:04 +0100)]
Merge commit '0b0a7a751de02464a33717e70352f696372ba1c4'

* commit '0b0a7a751de02464a33717e70352f696372ba1c4':
  mpegvideo: move encode-only parts of common_end() to encode_end()

Conflicts:
libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'd0d111d0592bfd6b2b8bcd2321986c0fc493455d'
Michael Niedermayer [Fri, 6 Dec 2013 01:54:45 +0000 (02:54 +0100)]
Merge commit 'd0d111d0592bfd6b2b8bcd2321986c0fc493455d'

* commit 'd0d111d0592bfd6b2b8bcd2321986c0fc493455d':
  mpegvideo: remove commented out cruft from ff_MPV_frame_end()

Conflicts:
libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mpegvideo_enc: fix linesizes in frame_end()
Michael Niedermayer [Fri, 6 Dec 2013 01:38:30 +0000 (02:38 +0100)]
avcodec/mpegvideo_enc: fix linesizes in frame_end()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '381a722562bcc0b623acf6a00a583fe989bcb72a'
Michael Niedermayer [Fri, 6 Dec 2013 01:37:51 +0000 (02:37 +0100)]
Merge commit '381a722562bcc0b623acf6a00a583fe989bcb72a'

* commit '381a722562bcc0b623acf6a00a583fe989bcb72a':
  mpegvideo: split the encoding-only parts of ff_MPV_frame_end() into a separate function

Conflicts:
libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agowebp: add a special case for a huffman table with only 1 symbol
Justin Ruggles [Wed, 4 Dec 2013 21:53:18 +0000 (16:53 -0500)]
webp: add a special case for a huffman table with only 1 symbol

The vlc reader cannot handle 0-bit huffman codes. For most
situations WebP uses the "simple" huffman coding for this case,
but that will only handle symbols up to 255. For the LZ77 distance
codes, larger symbol values are needed, so it can happen in rare
cases that a normal huffman table is used that only has a single
symbol.

6 years agowebp: do not call av_frame_free() on the user-provided frame
Justin Ruggles [Wed, 4 Dec 2013 21:53:17 +0000 (16:53 -0500)]
webp: do not call av_frame_free() on the user-provided frame

Fixes double-free on error.

6 years agoMerge commit 'b7254288d222013e20539c530b1ec5d324ed5352'
Michael Niedermayer [Fri, 6 Dec 2013 01:18:44 +0000 (02:18 +0100)]
Merge commit 'b7254288d222013e20539c530b1ec5d324ed5352'

* commit 'b7254288d222013e20539c530b1ec5d324ed5352':
  mpegvideo: do not update last_non_b_pict_type in update_thread_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '1f8eb69079880ef1f394c498dfdf471f91222a06'
Michael Niedermayer [Fri, 6 Dec 2013 01:12:11 +0000 (02:12 +0100)]
Merge commit '1f8eb69079880ef1f394c498dfdf471f91222a06'

* commit '1f8eb69079880ef1f394c498dfdf471f91222a06':
  mpegvideo: move encoding-only initialization from common_init() to encode_init()

Conflicts:
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'bedf952bb80ae26427854dcde56c139ecb87d4a0'
Michael Niedermayer [Fri, 6 Dec 2013 00:58:28 +0000 (01:58 +0100)]
Merge commit 'bedf952bb80ae26427854dcde56c139ecb87d4a0'

* commit 'bedf952bb80ae26427854dcde56c139ecb87d4a0':
  mpegvideo: move setting encoding-only vars from common_defaults() to encode_defaults()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '2cab011f0f02fcff8a0629a611bcac2f0459f04a'
Michael Niedermayer [Fri, 6 Dec 2013 00:52:41 +0000 (01:52 +0100)]
Merge commit '2cab011f0f02fcff8a0629a611bcac2f0459f04a'

* commit '2cab011f0f02fcff8a0629a611bcac2f0459f04a':
  mpegvideo: don't copy input_picture_number in update_thread_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'ff7ffe48097f32417781fe8b2b417eff05a52c55'
Michael Niedermayer [Fri, 6 Dec 2013 00:45:25 +0000 (01:45 +0100)]
Merge commit 'ff7ffe48097f32417781fe8b2b417eff05a52c55'

* commit 'ff7ffe48097f32417781fe8b2b417eff05a52c55':
  mpeg4videodec: move showed_packed_warning from MpegEncContext to Mpeg4DecContext

Conflicts:
libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'f7d228676cb7669059889c4225c8a8dc56708c24'
Michael Niedermayer [Fri, 6 Dec 2013 00:38:55 +0000 (01:38 +0100)]
Merge commit 'f7d228676cb7669059889c4225c8a8dc56708c24'

* commit 'f7d228676cb7669059889c4225c8a8dc56708c24':
  mpeg4videodec: move intra_dc_threshold from MpegEncContext to Mpeg4DecContext

Conflicts:
libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'a097f0049b28dc3ed13625e4a42619292c92492f'
Michael Niedermayer [Fri, 6 Dec 2013 00:27:53 +0000 (01:27 +0100)]
Merge commit 'a097f0049b28dc3ed13625e4a42619292c92492f'

* commit 'a097f0049b28dc3ed13625e4a42619292c92492f':
  mpeg12dec: move first_slice from MpegEncContext to Mpeg1Context

Conflicts:
libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'ff300e435e5337b03dc7a8f1c0be6c9937059c1e'
Michael Niedermayer [Fri, 6 Dec 2013 00:21:28 +0000 (01:21 +0100)]
Merge commit 'ff300e435e5337b03dc7a8f1c0be6c9937059c1e'

* commit 'ff300e435e5337b03dc7a8f1c0be6c9937059c1e':
  mpegvideo: remove an unused variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'e41ff4210ac1192c62de3052b33a38c7bcf772f2'
Michael Niedermayer [Fri, 6 Dec 2013 00:14:46 +0000 (01:14 +0100)]
Merge commit 'e41ff4210ac1192c62de3052b33a38c7bcf772f2'

* commit 'e41ff4210ac1192c62de3052b33a38c7bcf772f2':
  mpeg4videodec: move use_intra_dc_vlc from MpegEncContext to Mpeg4DecContext

Conflicts:
libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoAdd Windows resource file support for shared libraries
James Almer [Thu, 5 Dec 2013 20:50:14 +0000 (17:50 -0300)]
Add Windows resource file support for shared libraries

Originally written by James Almer <jamrial@gmail.com>

With the following contributions by Timothy Gu <timothygu99@gmail.com>

* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
  file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.

[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoIgnore es_map_length when parsing mpeg program stream map.
Carl Eugen Hoyos [Thu, 5 Dec 2013 20:17:21 +0000 (21:17 +0100)]
Ignore es_map_length when parsing mpeg program stream map.

Fixes ticket #3195.

6 years agoavformat/mov: calculate rfps from the first 100 frames of the index
Michael Niedermayer [Thu, 5 Dec 2013 16:38:25 +0000 (17:38 +0100)]
avformat/mov: calculate rfps from the first 100 frames of the index

This reduces the amount of frames that need to be demuxed in av_find_stream_info()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/utils: factor rfps calculation out
Michael Niedermayer [Thu, 5 Dec 2013 15:56:17 +0000 (16:56 +0100)]
avformat/utils: factor rfps calculation out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/utils: provide more IO statistics in debug output at start and end of av_fin...
Michael Niedermayer [Thu, 5 Dec 2013 15:06:24 +0000 (16:06 +0100)]
avformat/utils: provide more IO statistics in debug output at start and end of av_find_streaminfo()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mjpegenc: use av_log2_16bit() in encode_block()
Michael Niedermayer [Thu, 5 Dec 2013 13:08:06 +0000 (14:08 +0100)]
avcodec/mjpegenc: use av_log2_16bit() in encode_block()

This reduces the number of operations done per non zero coefficient

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoljpegenc: split yuv encoding into a separate function
Anton Khirnov [Mon, 2 Dec 2013 22:56:51 +0000 (23:56 +0100)]
ljpegenc: split yuv encoding into a separate function

6 years agoljpegenc: split bgr encoding into a separate function
Anton Khirnov [Mon, 2 Dec 2013 22:56:51 +0000 (23:56 +0100)]
ljpegenc: split bgr encoding into a separate function

6 years agoljpegenc: accept bgr24 instead of bgra
Anton Khirnov [Mon, 2 Dec 2013 22:49:11 +0000 (23:49 +0100)]
ljpegenc: accept bgr24 instead of bgra

The alpha plane is not encoded.

6 years agoljpegenc: rename the encoding function.
Anton Khirnov [Mon, 2 Dec 2013 22:34:37 +0000 (23:34 +0100)]
ljpegenc: rename the encoding function.

The new name is more consistent with the rest of Libav.

6 years agoljpeg: remove a commented-out line
Anton Khirnov [Mon, 2 Dec 2013 22:33:56 +0000 (23:33 +0100)]
ljpeg: remove a commented-out line

6 years agoljpegenc: deMpegEncContextize
Anton Khirnov [Mon, 2 Dec 2013 18:22:54 +0000 (19:22 +0100)]
ljpegenc: deMpegEncContextize

The encoder uses almost none of the mpegvideo infrastructure, only some
fields from MpegEncContext.

The FATE results change because now an all-zero quant matrix is written
into the file. Since it is not used for anything for ljpeg, this should
not be a problem.

6 years agomjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()

This will allow deMpegEncContextizing the LJPEG encoder.

6 years agomjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()

This will allow deMpegEncContextizing the LJPEG encoder.

6 years agomjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()

This will allow deMpegEncContextizing the LJPEG encoder.

6 years agomjpegenc: do not pass MpegEncContext to jpeg_table_header()
Anton Khirnov [Sun, 1 Dec 2013 20:45:40 +0000 (21:45 +0100)]
mjpegenc: do not pass MpegEncContext to jpeg_table_header()

Pass the three needed fields from it directly.
This will allow to deMpegEncContextize the LJPEG encoder.

6 years agomjpegenc: remove commented out never-to-be-finished WIP cruft
Anton Khirnov [Sun, 1 Dec 2013 20:40:17 +0000 (21:40 +0100)]
mjpegenc: remove commented out never-to-be-finished WIP cruft

6 years agomjpegenc: do not pass MpegEncContext to put_huffman_table()
Anton Khirnov [Sun, 1 Dec 2013 20:35:02 +0000 (21:35 +0100)]
mjpegenc: do not pass MpegEncContext to put_huffman_table()

It only needs PutBitContext from it, so pass that directly.

6 years agomjpegenc: cosmetics, reformat jpeg_put_comments()
Anton Khirnov [Sun, 1 Dec 2013 20:33:47 +0000 (21:33 +0100)]
mjpegenc: cosmetics, reformat jpeg_put_comments()

6 years agomjpegenc: write the JFIF header if the sample aspect ratio is set
Anton Khirnov [Sun, 1 Dec 2013 20:31:25 +0000 (21:31 +0100)]
mjpegenc: write the JFIF header if the sample aspect ratio is set

MpegEncContext.aspect_ratio_info is never set for mjpeg, so this was
never written before.

6 years agompegvideo: do not set current_picture_ptr in decoders
Anton Khirnov [Sun, 1 Dec 2013 11:57:47 +0000 (12:57 +0100)]
mpegvideo: do not set current_picture_ptr in decoders

This code was originally added in
5f1948111a4920ff74e31b4284ab0200f7938539 to h263 to set decoded frame
pts to some random numbers (removed in
a1c5cc429d99216406170eac7e8352860076d3e8) and then cargo culted to other
decoders.

The code is left in h263dec for now, since some part of the decoder
(apparently OBMC) relies on the specific previous frame to be reused.

6 years agoFATE: drop the last partial frame in the wmv8-drm test
Anton Khirnov [Sun, 1 Dec 2013 08:42:37 +0000 (09:42 +0100)]
FATE: drop the last partial frame in the wmv8-drm test

This has already been done in eb066a4ce9e82cddb8f5af574804aa9889450b34,
but the number of frames produced from that file changed due to
timestamps changes since then.

6 years agovc1dec: move setting repeat_pict after frame_start() has been called.
Anton Khirnov [Sat, 30 Nov 2013 17:36:00 +0000 (18:36 +0100)]
vc1dec: move setting repeat_pict after frame_start() has been called.

This will allow removing the hacks where each decoder sets
current_picture_ptr on its own.

6 years agompegvideo: make ff_release_unused_pictures() static
Anton Khirnov [Sat, 30 Nov 2013 17:07:06 +0000 (18:07 +0100)]
mpegvideo: make ff_release_unused_pictures() static

It is only called from one place in mpegvideo.c now. Also remove the
remove_current parameter, which is always 1.

6 years agompegvideo: make frame_size_alloc() static.
Anton Khirnov [Sat, 30 Nov 2013 10:58:42 +0000 (11:58 +0100)]
mpegvideo: make frame_size_alloc() static.

It is not called from outside of mpegvideo.c anymore.

6 years agompegvideo: move encode-only parts of common_end() to encode_end()
Anton Khirnov [Sat, 30 Nov 2013 10:50:09 +0000 (11:50 +0100)]
mpegvideo: move encode-only parts of common_end() to encode_end()

6 years agompegvideo: remove commented out cruft from ff_MPV_frame_end()
Anton Khirnov [Sat, 30 Nov 2013 10:35:50 +0000 (11:35 +0100)]
mpegvideo: remove commented out cruft from ff_MPV_frame_end()