ffmpeg.git
5 years agoavcodec/pthread_frame: remove unused variable
Michael Niedermayer [Mon, 19 May 2014 17:36:29 +0000 (19:36 +0200)]
avcodec/pthread_frame: remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '82fc9f4b38244236a6ca7f946662ca653044a04c'
Michael Niedermayer [Mon, 19 May 2014 17:28:25 +0000 (19:28 +0200)]
Merge commit '82fc9f4b38244236a6ca7f946662ca653044a04c'

* commit '82fc9f4b38244236a6ca7f946662ca653044a04c':
  display: Include mathematics.h for fallback definition of NAN

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '853cc025d63ee2539fc0460dab62c5b9a3fd2043'
Michael Niedermayer [Mon, 19 May 2014 17:21:53 +0000 (19:21 +0200)]
Merge commit '853cc025d63ee2539fc0460dab62c5b9a3fd2043'

* commit '853cc025d63ee2539fc0460dab62c5b9a3fd2043':
  mov: store display matrix in a stream side data

Conflicts:
libavformat/isom.h
libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'
Michael Niedermayer [Mon, 19 May 2014 17:12:30 +0000 (19:12 +0200)]
Merge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'

* commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834':
  Add transformation matrix API.

Conflicts:
libavcodec/avcodec.h
libavcodec/utils.c
libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83'
Michael Niedermayer [Mon, 19 May 2014 17:02:36 +0000 (19:02 +0200)]
Merge commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83'

* commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83':
  pthread_frame: simplify the code by using new AVPacket API

Conflicts:
libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b'
Michael Niedermayer [Mon, 19 May 2014 16:50:40 +0000 (18:50 +0200)]
Merge commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b'

* commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b':
  avpacket: fix copying side data in av_packet_copy_props()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c'
Michael Niedermayer [Mon, 19 May 2014 16:38:10 +0000 (18:38 +0200)]
Merge commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c'

* commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c':
  lavf: deprecate now unused AVStream.pts

Conflicts:
libavformat/mux.c
libavformat/version.h

mostly not merged as the code is needed for a/vsync drop handling
and what the code does is what is needed, it could maybe be moved
elsewhere or factored somehow but simply removing it would be droping
these features.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011'
Michael Niedermayer [Mon, 19 May 2014 16:27:56 +0000 (18:27 +0200)]
Merge commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011'

* commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011':
  mux: drop one of the hacks comprising compute_pkt_fields2()

Conflicts:
libavformat/mux.c

Not merged as -async drop / -vsync drop depends on this code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/libvorbisenc: do not attempt to flush if no data was input
Michael Niedermayer [Mon, 19 May 2014 14:56:55 +0000 (16:56 +0200)]
avcodec/libvorbisenc: do not attempt to flush if no data was input

this prevents the creation of a packet even though no single sample has ever
been input, which some confusion in the timestamp generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/libmp3lame: do not attempt to flush lame if no data was input
Michael Niedermayer [Mon, 19 May 2014 14:56:55 +0000 (16:56 +0200)]
avcodec/libmp3lame: do not attempt to flush lame if no data was input

this prevents the creation of a packet even though no single sample has ever
been input, which some confusion in the timestamp generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agodisplay: Include mathematics.h for fallback definition of NAN
Martin Storsjö [Mon, 19 May 2014 14:41:05 +0000 (17:41 +0300)]
display: Include mathematics.h for fallback definition of NAN

This fixes compilation with MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoavformat/mpegtsenc: fix dts for chained muxing aac in mpegts
Michael Niedermayer [Mon, 19 May 2014 14:30:01 +0000 (16:30 +0200)]
avformat/mpegtsenc: fix dts for chained muxing aac in mpegts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffmpeg: set dts for subtitles
Michael Niedermayer [Mon, 19 May 2014 14:07:50 +0000 (16:07 +0200)]
ffmpeg: set dts for subtitles

dts is not optional, its required for muxing,
previously it was set from AVStream.pts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffmpeg: add last_mux_dts_plus_duration
Michael Niedermayer [Mon, 19 May 2014 13:28:19 +0000 (15:28 +0200)]
ffmpeg: add last_mux_dts_plus_duration

Fixes 1 frame error in the duration and derived values,
introduced by not using AVStream.pts in the previous commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'dc40d88625d7e402d58ac3f3df69fbf27aa31ea0'
Michael Niedermayer [Mon, 19 May 2014 13:13:16 +0000 (15:13 +0200)]
Merge commit 'dc40d88625d7e402d58ac3f3df69fbf27aa31ea0'

* commit 'dc40d88625d7e402d58ac3f3df69fbf27aa31ea0':
  avconv: do not use poorly defined and undocumented AVStream.pts

Conflicts:
ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'c9f8809ee4c576d5833865039bc1c85754448f67'
Michael Niedermayer [Mon, 19 May 2014 13:03:42 +0000 (15:03 +0200)]
Merge commit 'c9f8809ee4c576d5833865039bc1c85754448f67'

* commit 'c9f8809ee4c576d5833865039bc1c85754448f67':
  hevc/intra_pred: simplify neighboring sample derivation

Conflicts:
libavcodec/hevcpred_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '25bb7eaf9eb14e6e00264bf584aa4d380d3bc29f'
Michael Niedermayer [Mon, 19 May 2014 12:47:29 +0000 (14:47 +0200)]
Merge commit '25bb7eaf9eb14e6e00264bf584aa4d380d3bc29f'

* commit '25bb7eaf9eb14e6e00264bf584aa4d380d3bc29f':
  hevc/intra_pred: drop unnecessary conditions in loops

Conflicts:
libavcodec/hevcpred_template.c

See: 053fdacde76a38186dc9db658572e38686efe0c4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '4c390b1ba98e6aec787aa0e7ea57ed7cb38283b7'
Michael Niedermayer [Mon, 19 May 2014 12:28:02 +0000 (14:28 +0200)]
Merge commit '4c390b1ba98e6aec787aa0e7ea57ed7cb38283b7'

* commit '4c390b1ba98e6aec787aa0e7ea57ed7cb38283b7':
  hevc/intra_pred: optimize EXTEND_()*

Conflicts:
libavcodec/hevcpred_template.c

See: 053fdacde76a38186dc9db658572e38686efe0c4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00'
Michael Niedermayer [Mon, 19 May 2014 12:10:13 +0000 (14:10 +0200)]
Merge commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00'

* commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00':
  hevc: templatize intra_pred

Conflicts:
libavcodec/hevc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '04db5794cd97e4b33ec2f963ef7f967722a456eb'
Michael Niedermayer [Mon, 19 May 2014 11:56:56 +0000 (13:56 +0200)]
Merge commit '04db5794cd97e4b33ec2f963ef7f967722a456eb'

* commit '04db5794cd97e4b33ec2f963ef7f967722a456eb':
  hevc: templatize pred_planar

Conflicts:
libavcodec/hevcpred_template.c

See: 053fdacde76a38186dc9db658572e38686efe0c4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agomov: store display matrix in a stream side data
Vittorio Giovara [Fri, 16 May 2014 02:06:50 +0000 (22:06 -0400)]
mov: store display matrix in a stream side data

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoAdd transformation matrix API.
Vittorio Giovara [Fri, 16 May 2014 02:06:49 +0000 (22:06 -0400)]
Add transformation matrix API.

Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.

Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agopthread_frame: simplify the code by using new AVPacket API
Anton Khirnov [Sun, 18 May 2014 19:20:25 +0000 (21:20 +0200)]
pthread_frame: simplify the code by using new AVPacket API

This also handles side data properly.

5 years agoavpacket: fix copying side data in av_packet_copy_props()
Anton Khirnov [Sun, 18 May 2014 19:16:47 +0000 (21:16 +0200)]
avpacket: fix copying side data in av_packet_copy_props()

Side data count is incremented by by calling av_packet_new_side_data()
in the following loop, setting it explicitly results in the resulting
value being twice what it should be.

CC: libav-stable@libav.org
5 years agolavf: deprecate now unused AVStream.pts
Anton Khirnov [Sun, 18 May 2014 10:36:00 +0000 (12:36 +0200)]
lavf: deprecate now unused AVStream.pts

5 years agomux: drop one of the hacks comprising compute_pkt_fields2()
Anton Khirnov [Sun, 18 May 2014 10:25:29 +0000 (12:25 +0200)]
mux: drop one of the hacks comprising compute_pkt_fields2()

All encoders should output proper timestamps now.

5 years agoavconv: do not use poorly defined and undocumented AVStream.pts
Anton Khirnov [Sun, 18 May 2014 10:21:32 +0000 (12:21 +0200)]
avconv: do not use poorly defined and undocumented AVStream.pts

Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.

5 years agohevc/intra_pred: simplify neighboring sample derivation
Anton Khirnov [Sat, 17 May 2014 20:30:42 +0000 (22:30 +0200)]
hevc/intra_pred: simplify neighboring sample derivation

5 years agohevc/intra_pred: drop unnecessary conditions in loops
Mickaël Raulet [Sat, 17 May 2014 19:59:08 +0000 (21:59 +0200)]
hevc/intra_pred: drop unnecessary conditions in loops

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agohevc/intra_pred: optimize EXTEND_()*
Mickaël Raulet [Sat, 17 May 2014 19:59:08 +0000 (21:59 +0200)]
hevc/intra_pred: optimize EXTEND_()*

Process 4 pixels at once.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agohevc: templatize intra_pred
Anton Khirnov [Sat, 17 May 2014 18:41:22 +0000 (20:41 +0200)]
hevc: templatize intra_pred

5 years agohevc: templatize pred_planar
Mickaël Raulet [Sat, 17 May 2014 18:32:05 +0000 (20:32 +0200)]
hevc: templatize pred_planar

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoavcodec/diracdec: move mc buffer allocation to per frame
Michael Niedermayer [Mon, 19 May 2014 04:19:23 +0000 (06:19 +0200)]
avcodec/diracdec: move mc buffer allocation to per frame

Fixes out of array accesses for non default buffers with large strides

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffmpeg: Use av_gettime_relative()
Olivier Langlois [Tue, 6 May 2014 21:16:47 +0000 (17:16 -0400)]
ffmpeg: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoSet dwSuggestBufferSize to largest chunk size for every stream in avi.
Carl Eugen Hoyos [Sun, 18 May 2014 22:05:40 +0000 (00:05 +0200)]
Set dwSuggestBufferSize to largest chunk size for every stream in avi.

Fixes playback with WMP 9 for files with large (rawvideo) frames
as explained in ticket #2145.

Fixes ticket #2818.

5 years agox86/hevc_deblock: remove some duplicated instructions
James Almer [Sun, 18 May 2014 21:19:49 +0000 (18:19 -0300)]
x86/hevc_deblock: remove some duplicated instructions

Also remove a couple unnecessary cmps

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffmpeg: prefix encoder with "Lavc " in bitexact mode
Michael Niedermayer [Sun, 18 May 2014 20:51:27 +0000 (22:51 +0200)]
ffmpeg: prefix encoder with "Lavc " in bitexact mode

This avoids misleading encoder names like "encoder = prores"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1'
Michael Niedermayer [Sun, 18 May 2014 20:27:27 +0000 (22:27 +0200)]
Merge commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1'

* commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1':
  movenc: use the "encoder" metadata tag to write stsd Compressorname

Conflicts:
libavformat/movenc.c
libavformat/movenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffmpeg: Skip writing the version when -flags bitexact is used
Michael Niedermayer [Sun, 18 May 2014 20:00:00 +0000 (22:00 +0200)]
ffmpeg: Skip writing the version when -flags bitexact is used

Alternatively every fate test could be changed to pass both fflags and flags +bitexact

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '6656370b858329ca07a60a2de954d5e90daa0206'
Michael Niedermayer [Sun, 18 May 2014 19:26:29 +0000 (21:26 +0200)]
Merge commit '6656370b858329ca07a60a2de954d5e90daa0206'

* commit '6656370b858329ca07a60a2de954d5e90daa0206':
  avconv: set the "encoder" tag when transcoding

Conflicts:
ffmpeg.c
tests/ref/lavf/mkv
tests/ref/seek/lavf-mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'd246231e4714119faac6c7acd881d3b687bb8b11'
Michael Niedermayer [Sun, 18 May 2014 19:05:46 +0000 (21:05 +0200)]
Merge commit 'd246231e4714119faac6c7acd881d3b687bb8b11'

* commit 'd246231e4714119faac6c7acd881d3b687bb8b11':
  wavenc: use codec descriptors to get the codec name

Conflicts:
libavformat/wavenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '968a62a9d9e3a785ce1f79b80facfe09c6c14544'
Michael Niedermayer [Sun, 18 May 2014 19:03:54 +0000 (21:03 +0200)]
Merge commit '968a62a9d9e3a785ce1f79b80facfe09c6c14544'

* commit '968a62a9d9e3a785ce1f79b80facfe09c6c14544':
  doc/APIchanges: mark the release 10 branch point

Conflicts:
doc/APIchanges

Not merged, as there was no such branch in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '33082af7560a18179b52734665ef66f812902d33'
Michael Niedermayer [Sun, 18 May 2014 18:57:41 +0000 (20:57 +0200)]
Merge commit '33082af7560a18179b52734665ef66f812902d33'

* commit '33082af7560a18179b52734665ef66f812902d33':
  doc/APIchanges: fill in missing hashes and dates

Conflicts:
doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agomovenc: use the "encoder" metadata tag to write stsd Compressorname
Anton Khirnov [Tue, 29 Apr 2014 15:40:57 +0000 (17:40 +0200)]
movenc: use the "encoder" metadata tag to write stsd Compressorname

This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.

5 years agoavconv: set the "encoder" tag when transcoding
Anton Khirnov [Tue, 29 Apr 2014 15:23:49 +0000 (17:23 +0200)]
avconv: set the "encoder" tag when transcoding

5 years agowavenc: use codec descriptors to get the codec name
Anton Khirnov [Tue, 29 Apr 2014 15:01:17 +0000 (17:01 +0200)]
wavenc: use codec descriptors to get the codec name

Also, return a proper error code.

5 years agoffprobe: fix crash happening because of new streams occuring
Anshul [Wed, 14 May 2014 16:51:58 +0000 (22:21 +0530)]
ffprobe: fix crash happening because of new streams occuring

Fix trac ticket #3603.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
5 years agox86: hevc_mc: specify coefficients registers
Christophe Gisquet [Sun, 18 May 2014 10:02:37 +0000 (12:02 +0200)]
x86: hevc_mc: specify coefficients registers

By default, macro EPEL_FILTER loads the coefficients inconditionally
into m14/m15. This forces an unneeded higher register count.

Reduce that count by making them parameters of EPEL_FILTER.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavd: Use av_gettime_relative()
Olivier Langlois [Mon, 12 May 2014 20:26:36 +0000 (16:26 -0400)]
lavd: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Since v4l2 is compiled only on Linux where av_gettime_relative()
is monotonic, a small wrapper function av_gettime_monotonic() is used
(should be inlined the compiler) to put emphasis on that fact.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/wmv2enc: allocate padding for extradata and check malloc failure
Michael Niedermayer [Sun, 18 May 2014 13:58:03 +0000 (15:58 +0200)]
avcodec/wmv2enc: allocate padding for extradata and check malloc failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/movtextenc: allocate padding for extradata
Michael Niedermayer [Sun, 18 May 2014 13:58:03 +0000 (15:58 +0200)]
avcodec/movtextenc: allocate padding for extradata

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/ffv1enc: allocate padding for extradata
Michael Niedermayer [Sun, 18 May 2014 13:58:03 +0000 (15:58 +0200)]
avcodec/ffv1enc: allocate padding for extradata

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/crystalhd: allocate padding for extradata
Michael Niedermayer [Sun, 18 May 2014 13:58:03 +0000 (15:58 +0200)]
avcodec/crystalhd: allocate padding for extradata

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '79f2c426fde6e71c40b29504112d0528b85be623'
Michael Niedermayer [Sun, 18 May 2014 12:53:41 +0000 (14:53 +0200)]
Merge commit '79f2c426fde6e71c40b29504112d0528b85be623'

* commit '79f2c426fde6e71c40b29504112d0528b85be623':
  dv: do not set codec timebase

Conflicts:
libavformat/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '93afb6c98df876b15e3d911a9450ad55f92080ce'
Michael Niedermayer [Sun, 18 May 2014 12:30:43 +0000 (14:30 +0200)]
Merge commit '93afb6c98df876b15e3d911a9450ad55f92080ce'

* commit '93afb6c98df876b15e3d911a9450ad55f92080ce':
  avconv: set output avg_frame_rate when known

Conflicts:
ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f'
Michael Niedermayer [Sun, 18 May 2014 12:20:09 +0000 (14:20 +0200)]
Merge commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f'

* commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f':
  lavf: extend avg_frame_rate documentation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'c3311d472a7528c67f76d0d061704ae70a99b32e'
Michael Niedermayer [Sun, 18 May 2014 12:14:33 +0000 (14:14 +0200)]
Merge commit 'c3311d472a7528c67f76d0d061704ae70a99b32e'

* commit 'c3311d472a7528c67f76d0d061704ae70a99b32e':
  avienc: sanitize variable naming in write_header()

Conflicts:
libavformat/avienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'ab3fdaa7131e2fd8e33006daea25a282724c01f0'
Michael Niedermayer [Sun, 18 May 2014 12:09:41 +0000 (14:09 +0200)]
Merge commit 'ab3fdaa7131e2fd8e33006daea25a282724c01f0'

* commit 'ab3fdaa7131e2fd8e33006daea25a282724c01f0':
  yop: only set extradata size after it has been successfully allocated

Conflicts:
libavformat/yop.c

See: a807c68253b02cce8b9fbc87d7857c31d531a1ee
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'b513bf6f69e26e724de6d5dca642c3582dcd0517'
Michael Niedermayer [Sun, 18 May 2014 12:02:31 +0000 (14:02 +0200)]
Merge commit 'b513bf6f69e26e724de6d5dca642c3582dcd0517'

* commit 'b513bf6f69e26e724de6d5dca642c3582dcd0517':
  yuv4mpegdec: do not set coded_frame properties

Conflicts:
libavformat/yuv4mpegdec.c

See: b45a3e167f497d82effbf8ada453ea47b0ee21da
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'e4dc1000d7bbbcb5b45cf9849fc5315f19578e37'
Michael Niedermayer [Sun, 18 May 2014 11:36:32 +0000 (13:36 +0200)]
Merge commit 'e4dc1000d7bbbcb5b45cf9849fc5315f19578e37'

* commit 'e4dc1000d7bbbcb5b45cf9849fc5315f19578e37':
  yuv4mpeg: split the demuxer and muxer into separate files

Conflicts:
libavformat/yuv4mpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '3ef6c5264b2590781b4ed556443ff49709dd45fb'
Michael Niedermayer [Sun, 18 May 2014 11:24:55 +0000 (13:24 +0200)]
Merge commit '3ef6c5264b2590781b4ed556443ff49709dd45fb'

* commit '3ef6c5264b2590781b4ed556443ff49709dd45fb':
  a64: check that extradata exists before reading from it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'b136564909adec2043be4c94ade08b67ad443124'
Michael Niedermayer [Sun, 18 May 2014 11:16:58 +0000 (13:16 +0200)]
Merge commit 'b136564909adec2043be4c94ade08b67ad443124'

* commit 'b136564909adec2043be4c94ade08b67ad443124':
  a64: remove unneeded struct qualifier

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'd256ed78ffe202a4dcc8d625becffc716bfa3977'
Michael Niedermayer [Sun, 18 May 2014 11:09:42 +0000 (13:09 +0200)]
Merge commit 'd256ed78ffe202a4dcc8d625becffc716bfa3977'

* commit 'd256ed78ffe202a4dcc8d625becffc716bfa3977':
  4xm: allocate extradata properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'fd056029f45a9f6d213d9fce8165632042511d4f'
Michael Niedermayer [Sun, 18 May 2014 11:00:50 +0000 (13:00 +0200)]
Merge commit 'fd056029f45a9f6d213d9fce8165632042511d4f'

* commit 'fd056029f45a9f6d213d9fce8165632042511d4f':
  lavc: add avcodec_free_context().

Conflicts:
doc/APIchanges
libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'e1b66778b6ee82a192b5895e23c4e135f7269326'
Michael Niedermayer [Sun, 18 May 2014 10:46:28 +0000 (12:46 +0200)]
Merge commit 'e1b66778b6ee82a192b5895e23c4e135f7269326'

* commit 'e1b66778b6ee82a192b5895e23c4e135f7269326':
  lavc: remove the locking code in avcodec_close()

Conflicts:
libavcodec/utils.c

Note, if someone knows of a external codec lib/API, hwaccel or other that requires
locking on its close/free side, please contact ffmpeg-devel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agodoc/APIchanges: mark the release 10 branch point
Anton Khirnov [Sun, 18 May 2014 08:53:00 +0000 (10:53 +0200)]
doc/APIchanges: mark the release 10 branch point

5 years agodoc/APIchanges: fill in missing hashes and dates
Anton Khirnov [Sun, 18 May 2014 08:52:41 +0000 (10:52 +0200)]
doc/APIchanges: fill in missing hashes and dates

5 years agodv: do not set codec timebase
Anton Khirnov [Sun, 17 Nov 2013 17:42:02 +0000 (18:42 +0100)]
dv: do not set codec timebase

It is not supposed to be set from outside of libavcodec.
Set average framerate instead.

5 years agoavconv: set output avg_frame_rate when known
Anton Khirnov [Sun, 11 May 2014 16:00:48 +0000 (18:00 +0200)]
avconv: set output avg_frame_rate when known

5 years agolavf: extend avg_frame_rate documentation.
Anton Khirnov [Sun, 11 May 2014 15:58:05 +0000 (17:58 +0200)]
lavf: extend avg_frame_rate documentation.

5 years agoavienc: sanitize variable naming in write_header()
Anton Khirnov [Sun, 11 May 2014 08:07:35 +0000 (10:07 +0200)]
avienc: sanitize variable naming in write_header()

Do not call an AVCodecContext 'stream', that is highly confusing.
Also, add a local variable for the current AVStream in the loop over all
streams.

5 years agoyop: only set extradata size after it has been successfully allocated
Anton Khirnov [Sat, 3 May 2014 08:48:03 +0000 (10:48 +0200)]
yop: only set extradata size after it has been successfully allocated

Do not leave a non-zero extradata_size set on failure

5 years agoyuv4mpegdec: do not set coded_frame properties
Anton Khirnov [Sat, 3 May 2014 09:08:25 +0000 (11:08 +0200)]
yuv4mpegdec: do not set coded_frame properties

coded_frame is not meant to be changed from outside of lavc, and is not
used for decoding.
Set AVCodecContext.field_order instead.

5 years agoyuv4mpeg: split the demuxer and muxer into separate files
Anton Khirnov [Sat, 3 May 2014 09:04:50 +0000 (11:04 +0200)]
yuv4mpeg: split the demuxer and muxer into separate files

5 years agoa64: check that extradata exists before reading from it
Anton Khirnov [Sat, 3 May 2014 08:44:17 +0000 (10:44 +0200)]
a64: check that extradata exists before reading from it

5 years agoa64: remove unneeded struct qualifier
Anton Khirnov [Sat, 3 May 2014 08:43:27 +0000 (10:43 +0200)]
a64: remove unneeded struct qualifier

5 years ago4xm: allocate extradata properly.
Anton Khirnov [Sat, 3 May 2014 06:50:41 +0000 (08:50 +0200)]
4xm: allocate extradata properly.

Pad it with the required amount of zeros, check for malloc failure.

5 years agolavc: add avcodec_free_context().
Anton Khirnov [Sat, 5 Apr 2014 06:36:00 +0000 (08:36 +0200)]
lavc: add avcodec_free_context().

Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.

The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.

5 years agolavc: remove the locking code in avcodec_close()
Anton Khirnov [Sat, 5 Apr 2014 05:09:44 +0000 (07:09 +0200)]
lavc: remove the locking code in avcodec_close()

This function should not modify any global state, so there should be no
reason for any locking.

5 years agoavformat/framehash: switch to AVFMT_FLAG_BITEXACT
Michael Niedermayer [Sun, 18 May 2014 02:02:44 +0000 (04:02 +0200)]
avformat/framehash: switch to AVFMT_FLAG_BITEXACT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/mmf: switch to AVFMT_FLAG_BITEXACT
Michael Niedermayer [Sun, 18 May 2014 02:02:44 +0000 (04:02 +0200)]
avformat/mmf: switch to AVFMT_FLAG_BITEXACT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/matroskaenc: switch to AVFMT_FLAG_BITEXACT
Michael Niedermayer [Sun, 18 May 2014 02:02:44 +0000 (04:02 +0200)]
avformat/matroskaenc: switch to AVFMT_FLAG_BITEXACT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/mp3enc: switch to AVFMT_FLAG_BITEXACT
Michael Niedermayer [Sun, 18 May 2014 02:02:44 +0000 (04:02 +0200)]
avformat/mp3enc: switch to AVFMT_FLAG_BITEXACT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/nutenc: switch to AVFMT_FLAG_BITEXACT
Michael Niedermayer [Sun, 18 May 2014 02:02:44 +0000 (04:02 +0200)]
avformat/nutenc: switch to AVFMT_FLAG_BITEXACT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/rtpenc: switch to AVFMT_FLAG_BITEXACT
Michael Niedermayer [Sun, 18 May 2014 02:02:44 +0000 (04:02 +0200)]
avformat/rtpenc: switch to AVFMT_FLAG_BITEXACT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/aviobuf/ff_get_line: also accept \r as end of line character
Michael Niedermayer [Mon, 12 May 2014 22:03:30 +0000 (00:03 +0200)]
avformat/aviobuf/ff_get_line: also accept \r as end of line character

Fixes Ticket3108

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffplay: Use av_gettime_relative()
Olivier Langlois [Tue, 6 May 2014 21:16:48 +0000 (17:16 -0400)]
ffplay: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '584f88409062f7a134e7391887899e8e723ab6ff'
Michael Niedermayer [Sat, 17 May 2014 18:22:53 +0000 (20:22 +0200)]
Merge commit '584f88409062f7a134e7391887899e8e723ab6ff'

* commit '584f88409062f7a134e7391887899e8e723ab6ff':
  riff: Pass block_align to estimate frame duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavf: Use av_gettime_relative()
Olivier Langlois [Tue, 6 May 2014 21:16:51 +0000 (17:16 -0400)]
lavf: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoconfigure: make vp9 decoder select the parser.
Clément Bœsch [Sat, 17 May 2014 14:13:05 +0000 (16:13 +0200)]
configure: make vp9 decoder select the parser.

The parser is needed. FATE breaks if not present.

5 years agoconfigure: make sure pkg-config flags are populated in FT test.
Clément Bœsch [Sat, 17 May 2014 14:10:45 +0000 (16:10 +0200)]
configure: make sure pkg-config flags are populated in FT test.

5 years agotools: Use av_gettime_relative()
Olivier Langlois [Tue, 6 May 2014 21:16:50 +0000 (17:16 -0400)]
tools: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavc: Use av_gettime_relative()
Olivier Langlois [Tue, 6 May 2014 21:16:49 +0000 (17:16 -0400)]
lavc: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavu: add av_gettime_relative()
Olivier Langlois [Mon, 12 May 2014 20:26:37 +0000 (16:26 -0400)]
lavu: add av_gettime_relative()

These functions are using the POSIX clock_gettime() function with the
CLOCK_MONOTONIC clock id. If these are not present on the targeted
platform, the new functions will fallback on using the original realtime functions
av_gettime() and av_usleep().

Monotonic support can be added on other platforms with their
equivalent native system API eventually if possible.

Whenever time is requested to measure relative time, the monotonic clock,
when available, is superior to the system realtime clock because it is
not affected by discontinuous jumps in the system time

In a future step, offering the flexibility to let the user choose between
rt and monotonic clock for avdevices packets will be investigated.

It is very easy to experience the issues that this patch attempt to address
by rewinding back in the past the system time while ffmpeg is running.

this is breaking the ffmpeg report printing (ffmepg.c:print_report()) and
the the rate emulator functionality (-re) without the patch.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoriff: Pass block_align to estimate frame duration
nu774 [Fri, 16 May 2014 11:25:46 +0000 (20:25 +0900)]
riff: Pass block_align to estimate frame duration

Fix incorrect wSamplesPerBlock(=0) written for ADPCM_IMA_WAV

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agoMerge remote-tracking branch 'cehoyos/master'
Michael Niedermayer [Sat, 17 May 2014 12:55:57 +0000 (14:55 +0200)]
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  Fix compilation of libavcodec/x86/hevc_deblock.asm with nasm.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge remote-tracking branch 'cus/stable'
Michael Niedermayer [Sat, 17 May 2014 12:26:23 +0000 (14:26 +0200)]
Merge remote-tracking branch 'cus/stable'

* cus/stable:
  ffplay: add support for toggling between multiple video filters with the w key
  ffplay: fix typo in docs
  ffplay: try multiple sample rates if audio open fails
  cmdutils: replace usages of "#ifdef __MINGW32__" with "#ifdef _WIN32" because MSVC only defines _WIN32
  ffplay: fix compilation with Visual Studio
  ffplay: increase AV_SYNC_THRESHOLD_MIN to 0.04

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavfilter/edgedetect: reuse already defined ctx.
Clément Bœsch [Sat, 17 May 2014 09:47:28 +0000 (11:47 +0200)]
avfilter/edgedetect: reuse already defined ctx.

5 years agoffplay: add support for toggling between multiple video filters with the w key
Marton Balint [Mon, 6 Jan 2014 20:14:23 +0000 (21:14 +0100)]
ffplay: add support for toggling between multiple video filters with the w key

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoffplay: fix typo in docs
Marton Balint [Sat, 10 May 2014 12:59:28 +0000 (14:59 +0200)]
ffplay: fix typo in docs

Signed-off-by: Marton Balint <cus@passwd.hu>