1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Commit Graph

6798 Commits

Author SHA1 Message Date
Tomas Härdin
89e632de9b Add Cinepak encoder
With permission of Tomas Härdin applied by Rl aetey.se

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-07-05 13:05:54 +02:00
Steven Liu
274bd1670b avfomat/hlsenc: support fmp4 format in hls
add the fmp4 format into hlsenc
because the fmp4 format add into hls from version 7.
the spec link is:
https://tools.ietf.org/html/draft-pantos-http-live-streaming-20
and the describe on WWDC
https://developer.apple.com/videos/play/wwdc2017/515/

Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-07-03 20:20:44 +08:00
wm4
70143a3954 dxva: add support for new dxva2 and d3d11 hwaccel APIs
This also adds support to avconv (which is trivial due to the new
hwaccel API being generic enough).

The new decoder setup code in dxva2.c is significantly based on work by
Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.

Merges Libav commit f9e7a2f95a.
Also adds untested VP9 support.
The check for DXVA2 COBJs is removed. Just update your MinGW to
something newer than a 5 year old release.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-27 18:05:02 +02:00
wm4
3303511f33 lavu: add new D3D11 pixfmt and hwcontext
To be used with the new d3d11 hwaccel decode API.

With the new hwaccel API, we don't want surfaces to depend on the
decoder (other than the required dimension and format). The old D3D11VA
pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the
decoder configuration, and thus is incompatible with the new hwaccel
API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D
and an index. It's simpler and compatible with the new hwaccel API.

The introduced hwcontext supports only the new pixfmt.

Frame upload code untested.

Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with
heavy changes/rewrites.

Merges Libav commit fff90422d1.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-27 18:05:02 +02:00
Paul B Mahol
bbaca6e867 avcodec/proresenc_kostya: add 4444XQ profile
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-27 13:53:51 +02:00
Paul B Mahol
22a03c2900 avfilter/vf_blend: add extremity blend mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-25 16:39:10 +02:00
Paul B Mahol
c1b43e8452 avfilter/vf_overlay: remove rgb option
Its been deprecated for over 3 years.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 19:20:46 +02:00
Marton Balint
eeeb595c7f avformat: make flush_packets a tri-state and set it to -1 (auto) by default
If flushing is not disabled, then mux.c will signal the end of the packets with
an AVIO_DATA_MARKER_FLUSH_POINT, and aviobuf will be able to decide to flush or
not based on the preferred minimum packet size set by the used protocol.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-06-24 18:51:29 +02:00
Marton Balint
09891c5391 avformat/aviobuf: add support for specifying minimum packet size and marking flush points
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-06-24 18:51:29 +02:00
Mark Thompson
dc81f1a2ce doc: Add VAAPI encoders
(cherry picked from commit 41dda86087)
2017-06-24 17:41:59 +01:00
Mark Thompson
49419925d3 vp9: Add bsf to fix reordering in raw streams
Takes a raw input stream containing frames with correct timestamps but
possibly out of order and inserts additional show-existing-frame
packets to correct the ordering.

(cherry picked from commit 34e051d168)
(cherry picked from commit b43b95f478)

Also converted from bitstream to get_bits.
2017-06-24 17:41:30 +01:00
Paul B Mahol
565dc0e283 avfilter/vf_overlay: add auto format mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 10:18:30 +02:00
Diego Biurrun
4f9297ac3b build: Prefer NASM assembler over YASM
NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.

(Cherry-picked from libav commit 57b753b445)

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:30 -03:00
Kevin Mark
5aea18cbd8 doc/filters: Correct scale doc regarding w/h <= 0
According to libavfilter/scale.c, if the width and height are both
less than or equal to 0 then the input size is used for both
dimensions. It does not need to be -1. -1:-1 is the same as 0:0 which
is the same as -10:-42, etc.

if (w < 0 && h < 0)
    eval_w = eval_h = 0;

The documentation for the zscale filter has also been updated since the
behavior is identical.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-06-19 14:24:55 -04:00
Paul B Mahol
c7a2a379fd doc/filters: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 19:28:43 +02:00
Paul B Mahol
ef178f630f avfilter/af_stereotools: add 2 more modes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 18:59:33 +02:00
Paul B Mahol
53624d62d9 avfilter/af_superequalizer: improve description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 18:19:16 +02:00
Paul B Mahol
b9d0a5fc21 avfilter: add roberts cross operator
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 14:04:44 +02:00
Paul B Mahol
ca5cf84655 avfilter: add superequalizer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 14:03:54 +02:00
Paul B Mahol
a23a56e77c libavfilter/af_biquads: add shorter option for width_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-18 17:31:03 +02:00
Mark Thompson
5de38188f8 doc: Document hwupload, hwdownload and hwmap filters
(cherry picked from commit 66aa9b94da)
2017-06-14 22:27:34 +01:00
Mark Thompson
d59c6a3aeb hwcontext: Improve allocation in derived contexts
Use the flags argument of av_hwframe_ctx_create_derived() to pass the
mapping flags which will be used on allocation.  Also, set the format
and hardware context on the allocated frame automatically - the user
should not be required to do this themselves.

(cherry picked from commit c5714b51aa)
2017-06-14 22:27:32 +01:00
Mark Thompson
7ce47090ce ffmpeg: Support setting the hardware device to use when filtering
This only supports one device globally, but more can be used by
passing them with input streams in hw_frames_ctx or by deriving new
devices inside a filter graph with hwmap.

(cherry picked from commit e669db7610)
2017-06-14 22:27:07 +01:00
Mark Thompson
49ae8a5e87 lavc: Add flag to allow profile mismatch with hardware decoding
(cherry picked from commit 64a5260c69)
2017-06-14 22:27:04 +01:00
Mark Thompson
527a1e2131 ffmpeg: Document the -init_hw_device option
(cherry picked from commit 303fadf596)
2017-06-14 22:26:32 +01:00
Mark Thompson
0b1794a43e hwcontext: Make it easier to work with device types
Adds functions to convert to/from strings and a function to iterate
over all supported device types.  Also adds a new invalid type
AV_HWDEVICE_TYPE_NONE, which acts as a sentinel value.

(cherry picked from commit b7487f4f3c)
2017-06-14 22:26:29 +01:00
Mark Thompson
b22172f6f3 hwcontext: Add device derivation
Creates a new device context from another of a different type which
refers to the same underlying hardware.

(cherry picked from commit b266ad56fe)
2017-06-14 22:25:57 +01:00
Paul B Mahol
d4d1fc823f avfilter: add native headphone spatialization filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-12 18:08:52 +02:00
Paul B Mahol
2336c76b22 avfilter/af_sofalizer: switch to libmysofa
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-08 22:02:26 +02:00
wm4
f9e7a2f95a dxva: add support for new dxva2 and d3d11 hwaccel APIs
This also adds support to avconv (which is trivial due to the new
hwaccel API being generic enough).

The new decoder setup code in dxva2.c is significantly based on work by
Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-08 21:20:18 +02:00
wm4
fff90422d1 lavu: add new D3D11 pixfmt and hwcontext
To be used with the new d3d11 hwaccel decode API.

With the new hwaccel API, we don't want surfaces to depend on the
decoder (other than the required dimension and format). The old D3D11VA
pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the
decoder configuration, and thus is incompatible with the new hwaccel
API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D
and an index. It's simpler and compatible with the new hwaccel API.

The introduced hwcontext supports only the new pixfmt.

Frame upload code untested.

Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with
heavy changes/rewrites.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-08 20:55:36 +02:00
Vittorio Giovara
f7f60749e0 vf_colorspace: Add support for jedec p22 primaries
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-06-07 23:39:31 -04:00
Kevin Mark
482566ccc3 libavutil/eval: Add round function to expression parser
We have floor, ceil, and trunc. Let's add round.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-06 18:31:47 +02:00
Paul B Mahol
fab1863917 avfilter/af_surround: add support for some upmixing of 3.0, 2.1 and 5.1 channel layout
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-04 16:37:47 +02:00
Kevin Mark
3385989b98 libavfilter/scale2ref: Add constants for the primary input
Variables pertaining to the main video are now available when
using the scale2ref filter. This allows, as an example, scaling a
video with another as a reference point while maintaining the
original aspect ratio of the primary/non-reference video.

Consider the following graph: scale2ref=iw/6:-1 [main][ref]
This will scale [main] to 1/6 the width of [ref] while maintaining
the aspect ratio. This works well when the AR of [ref] is equal to
the AR of [main] only. What the above filter really does is
maintain the AR of [ref] when scaling [main]. So in all non-same-AR
situations [main] will appear stretched or compressed to conform to
the same AR of the reference video. Without doing this calculation
externally there is no way to scale in reference to another input
while maintaining AR in libavfilter.

To make this possible, we introduce eight new constants to be used
in the w and h expressions only in the scale2ref filter:

 * main_w/main_h: width/height of the main input video
 * main_a: aspect ratio of the main input video
 * main_sar: sample aspect ratio of the main input video
 * main_dar: display aspect ratio of the main input video
 * main_hsub/main_vsub: horiz/vert chroma subsample vals of main
 * mdar: a shorthand alias of main_dar

Of course, not all of these constants are needed for maintaining the
AR, but adding additional constants in line of what is available for
in/out allows for other scaling possibilities I have not imagined.

So to now scale a video to 1/6 the size of another video using the
width and maintaining its own aspect ratio you can do this:

scale2ref=iw/6:ow/mdar [main][ref]

This is ideal for picture-in-picture configurations where you could
have a square or 4:3 video overlaid on a corner of a larger 16:9
feed all while keeping the scaled video in the corner at its correct
aspect ratio and always the same size relative to the larger video.

I've tried to re-use as much code as possible. I could not find a way
to avoid duplication of the var_names array. It must now be kept in
sync with the other (the normal one and the scale2ref one) for
everything to work which does not seem ideal. For every new variable
introduced/removed into/from the normal scale filter one must be
added/removed to/from the scale2ref version. Suggestions on how to
avoid var_names duplication are welcome.

var_values has been increased to always be large enough for the
additional scale2ref variables. I do not forsee this being a problem
as the names variable will always be the correct size. From my
understanding of av_expr_parse_and_eval it will stop processing
variables when it runs out of names even though there may be
additional (potentially uninitialized) entries in the values array.
The ideal solution here would be using a variable-length array but
that is unsupported in C90.

This patch does not remove any functionality and is strictly a
feature patch. There are no API changes. Behavior does not change for
any previously valid inputs.

The applicable documentation has also been updated.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-01 22:56:08 +02:00
Paul B Mahol
dc72d1dde9 avfilter: add audio surround upmixer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-01 21:25:36 +02:00
Stefano Sabatini
ddae679458 examples/encode_video: slightly improve error reporting 2017-05-31 15:46:19 +02:00
Stefano Sabatini
002dbc5a1f examples/encode_video: add log
This helps to visualize how the send/receive API works.
2017-05-31 15:46:14 +02:00
Rostislav Pehlivanov
220b24c7c9 lavc: remove libschroedinger encoding and decoding wrappers
The library has stopped being developed and Debian has removed it
from its repositories citing security issues.
The native Dirac decoder supports everything the library has and basic
encoding support is still provided via the native vc2 (Dirac Pro, intra
only version of Dirac) encoder. Hence, there's no reason to still support
linking to the library and potentially leading users into security issues.
2017-05-29 20:15:58 +01:00
Kevin Mark
114e871621 doc/filters: Clarify scale2ref example
Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-28 02:39:08 +02:00
James Almer
5213c6d175 doc/libav-merge: remove lines about AVFrame crop fields 2017-05-26 11:22:23 -03:00
James Almer
94ec89eb67 doc/libav-merge: remove line about aac_adtstoasc
Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-24 20:28:01 -03:00
Paul B Mahol
e8ae23db27 avfilter/af_sidechaincompress: change default makeup gain to 1
This avoids producing out of range or clipped samples.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-20 12:43:11 +02:00
Muhammad Faiz
162414cefe avfilter/graphparser: allow specifying filter@id as filter instance
See http://lists.ffmpeg.org/pipermail/ffmpeg-user/2017-April/035975.html
Parsed_filter_X could remain and user can override it with custom one.

Example:
ffplay -f lavfi "nullsrc=s=640x360,
sendcmd='1 drawtext@top reinit text=Hello; 2 drawtext@bottom reinit text=World',
drawtext@top=x=16:y=16:fontsize=20:fontcolor=Red:text='',
drawtext@bottom=x=16:y=340:fontsize=16:fontcolor=Blue:text=''"

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-05-19 20:21:47 +07:00
Paul B Mahol
f5e5c53117 avfilter/af_sofalizer: make lfe gain user configurable
Default settings have it too low.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-18 23:13:52 +02:00
Paul B Mahol
5c9e12bc6d doc/filters: add more ladspa examples
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-18 18:01:09 +02:00
Paul B Mahol
deaab31d61 avfilter: add audio crossfeed filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-17 20:18:39 +02:00
Mark Thompson
66aa9b94da doc: Document hwupload, hwdownload and hwmap filters 2017-05-16 22:23:09 +01:00
Leo Izen
f810c46922 doc/filters: Added line to the af_bs2b filter docs mentioning --enable-libbs2b
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-16 23:14:28 +02:00
Paul B Mahol
4c55144ee9 avfilter/vf_deflicker: add bypass option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-15 21:32:44 +02:00
Paul B Mahol
9bebad86c7 avfilter/af_stereotools: introduce different balance modes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-15 19:58:15 +02:00
wm4
532b23f079 videotoolbox: add hwcontext support
This adds tons of code for no other benefit than making VideoToolbox
support conform with the new hwaccel API (using hw_device_ctx and
hw_frames_ctx).

Since VideoToolbox decoding does not actually require the user to
allocate frames, the new code does mostly nothing.

One benefit is that ffmpeg_videotoolbox.c can be dropped once generic
hwaccel support for ffmpeg.c is merged from Libav.

Does not consider VDA or VideoToolbox encoding.

Fun fact: the frame transfer functions are copied from vaapi, as the
mapping makes copying generic boilerplate. Mapping itself is not
exported by the VT code, because I don't know how to test.
2017-05-15 11:30:36 +02:00
Paul B Mahol
69b83f5992 avfilter/af_compand: fix default companding to avoid clipping
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-14 11:59:04 +02:00
Paul B Mahol
e312ed0504 avfilter/af_astats: add RMS difference too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-12 18:14:45 +02:00
Paul B Mahol
eaf644e120 avfilter: add acopy filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-12 10:48:13 +02:00
James Almer
602ac48720 doc/libav-merge: mention the skipped AVFrame crop fields usage commits 2017-05-11 14:03:41 -03:00
erankor
2b06f2d2e2 ffmpeg: add enc_time_base option
add a per-stream option for setting the encoder timebase.
the following values are allowed:
0 - for video, use 1/frame_rate, for audio use 1/sample_rate (this is
  the default)
-1 - match the input timebase (when possible)
>0 - set the timebase to provided number

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-10 14:00:20 +02:00
Michael Niedermayer
014d47ed74 doc/codecs: Change common boolean parameters listed to "bool"
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-10 14:00:20 +02:00
Michael Niedermayer
ec1f869f0f doc/codecs: Add missing documentation for apply_cropping
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-10 14:00:20 +02:00
Paul B Mahol
49bbfb9d13 avfilter: add arbitrary audio FIR filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-09 20:47:52 +02:00
Paul B Mahol
66be242626 avfilter/vf_histogram: actually add parade display mode
Rename previous parade mode to stack, what it really was from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-09 16:17:49 +02:00
James Almer
f089e02fa2 Merge commit '019ab88a95cb31b698506d90e8ce56695a7f1cc5'
* commit '019ab88a95cb31b698506d90e8ce56695a7f1cc5':
  lavc: add an option for exporting cropping information to the caller

Merged-by: James Almer <jamrial@gmail.com>
2017-05-08 14:22:43 -03:00
James Almer
a47bd5d77e Merge commit '52627248e49e58eb4b78e4fcda90a64f4c476ea3'
* commit '52627248e49e58eb4b78e4fcda90a64f4c476ea3':
  frame: add a cropping rectangle to AVFrame

Merged-by: James Almer <jamrial@gmail.com>
2017-05-08 13:08:02 -03:00
Michael Niedermayer
8ef2c791c9 doc/build_system: Document how to build decoder fuzzer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-08 17:02:02 +02:00
Michael Niedermayer
3c3d4ce4fd doc: fix bistream typo
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-08 03:25:17 +02:00
James Almer
470ad23a55 doc/libav_merge: remove line about ADVANCED_PARSER
It's been addressed.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Aaron Levinson <alevinsn@aracnet.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-05 17:30:38 -03:00
Clément Bœsch
fcc4ed1efa lavu/sha512: update length argument following sha+md5 changes 2017-05-05 13:24:35 +02:00
Clément Bœsch
651ee93461 Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551'
* commit 'e435beb1ea5380a90774dbf51fdc8c941e486551':
  crypto: consistently use size_t as type for length parameters

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-05-05 13:04:38 +02:00
Clément Bœsch
f5218b27c4 Merge commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a'
* commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a':
  fate: Add --ignore-tests configure option for omitting specific FATE tests

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-05-05 09:27:18 +02:00
wm4
c0f17a905f cuvid: support AVCodecContext.hw_device_ctx API
This is a newer API that is intended for decoders like the cuvid
wrapper. Until now, the wrapper required to set an awkward
"incomplete" hw_frames_ctx to set the device. Now the device
can be set directly, and the user can get AV_PIX_FMT_CUDA output
for a specific device simply by setting hw_device_ctx.

This still does a dummy ff_get_format() call at init time, and should
be fully backward compatible.
2017-05-05 00:17:41 +02:00
Clément Bœsch
3f17751eeb Merge commit '11a9320de54759340531177c9f2b1e31e6112cc2'
* commit '11a9320de54759340531177c9f2b1e31e6112cc2':
  build: Move build-system-related helper files to a separate subdirectory

"ffbuild" directory name is used instead of "avbuild".

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-03 16:49:12 +02:00
Thomas Mundt
2da5bf4c2f avfilter/interlace: add complex vertical low-pass filter
This complex (-1 2 6 2 -1) filter slightly less reduces interlace 'twitter' but better retain detail and subjective sharpness impression compared to the linear (1 2 1) filter.

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-02 14:09:50 -03:00
Diego Biurrun
b5f19f7478 aac: Split function to parse ADTS header data into public and private part
This makes the currently semi-public avpriv_aac_parse_header() function
private to libavcodec and adds a proper public API function to return
the parts of the ADTS header required in libavformat.
2017-05-02 18:50:34 +02:00
Michael Niedermayer
b706ddbae3 doc/developer: Add terse documentation of assumed C implementation defined behavior
Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-01 17:59:10 +02:00
Mark Thompson
c5714b51aa hwcontext: Improve allocation in derived contexts
Use the flags argument of av_hwframe_ctx_create_derived() to pass the
mapping flags which will be used on allocation.  Also, set the format
and hardware context on the allocated frame automatically - the user
should not be required to do this themselves.
2017-04-30 17:33:18 +01:00
Mark Thompson
e669db7610 avconv: Support setting the hardware device to use when filtering
This only supports one device globally, but more can be used by
passing them with input streams in hw_frames_ctx or by deriving new
devices inside a filter graph with hwmap.
2017-04-30 16:13:50 +01:00
Paul B Mahol
399c7ab9c6 avfilter: add video oscilloscope filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-29 19:12:34 +02:00
Paul B Mahol
8341d0dd0e avfilter: add pixscope filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-29 18:47:41 +02:00
Paul B Mahol
b8b0cece79 doc/filters: add one lowpass filter example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-29 11:44:21 +02:00
James Zern
1bee78a019 libvpxenc: allow aq-mode 4 (equator360)
this was added in 1.6.0

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2017-04-28 17:56:09 -07:00
James Almer
ad52eef997 spherical: add functions to retrieve and request projection names
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-04-27 09:59:54 -04:00
Mark Thompson
64a5260c69 lavc: Add flag to allow profile mismatch with hardware decoding 2017-04-26 22:57:57 +01:00
Clément Bœsch
d417e95af7 Merge commit 'fa1749dd34c55fb997c97dfc4da9383c9976ab91'
* commit 'fa1749dd34c55fb997c97dfc4da9383c9976ab91':
  vp9: split superframes in the filtering stage before actual decoding

This commit is a noop.

2017-04-24 20:45:04     @ubitux BBB: btw, do you think you can get the bsf thing this week or we should skip it to give you more time and go on with the merges?
2017-04-24 20:45:20     @BBB    I’m not sure I’ll finish it that soon
2017-04-24 20:45:26     @BBB    I’d skip it and leave it for later
2017-04-24 20:45:35     @BBB    I’ll do it, I promise, but I Can’t guarantee it’ll be done by $date

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-25 19:02:47 +02:00
Paul B Mahol
9d08c7bd42 avfilter/af_biquads: allow filtering only selected channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-25 18:08:26 +02:00
Kostya Shishkov
189157c3fc Add ClearVideo decoder
Only I-frames are decoded for now.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-04-25 15:39:10 +02:00
Paul B Mahol
dfc4ce5f5d avfilter: add lumakey filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-24 20:37:30 +02:00
Diego Biurrun
ecc5c4db2d doc/examples/output: Cast pointer to the right (const) type
doc/examples/output.c:512:33: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type
2017-04-24 16:10:06 +02:00
Diego Biurrun
f25609ff06 doc/examples/filter_audio: const correctness
doc/examples/filter_audio.c:168:17: warning: assignment discards ‘const’ qualifier from pointer target type
2017-04-24 16:10:05 +02:00
Paul B Mahol
710c97d5f6 avfilter/vf_premultiply: add planes option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-23 18:21:51 +02:00
Muhammad Faiz
327a1c0dee examples: do not use AVFrame accessor
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-23 14:43:51 +07:00
James Almer
fdeab95a82 Merge commit '03a80925effc2698d21dc0b00290eecf42dd9e68'
* commit '03a80925effc2698d21dc0b00290eecf42dd9e68':
  lavc: add a bitstream filter for splitting VP9 superframes

Merged-by: James Almer <jamrial@gmail.com>
2017-04-22 23:27:05 -03:00
Paul B Mahol
01729f77dd avfilter: add doubleweave filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-22 13:18:59 +02:00
Lou Logan
0b8c159a93 doc/filters: deflicker size option value is in frames
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com> (in #ffmpeg-devel IRC)
2017-04-20 13:34:56 -08:00
Paul B Mahol
74acc1eec5 avfilter: add deflicker filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-20 22:53:00 +02:00
Paul B Mahol
61088051bd avcodec: add Screen Recorder Gold Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-18 15:04:12 +02:00
Paul B Mahol
a96db6be06 avcodec: add Mandsoft Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-18 15:03:12 +02:00
James Zern
fd1443b5dd doc/encoders.texi: document libvpxenc's -row-mt
added in:
734d760e2f lavc/libvpxenc: add -row-mt option

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Zern <jzern@google.com>
2017-04-17 23:28:09 -07:00
Mickael Maison
fdd4922dc4 doc/fftools-common-opts: Fixed a typo in the common arguments list
- Fixed a typo for the -sources argument

Signed-off-by: Mickael Maison <mickael.maison@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-18 02:50:06 +02:00
Clément Bœsch
e22d495538 Merge commit '47e547b321338c73c21fa623789f1efbd80a297a'
* commit '47e547b321338c73c21fa623789f1efbd80a297a':
  lavc: add a null bitstream filter

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 14:01:57 +02:00
Steven Liu
5caaa3a49e avformat/hlsenc: add hls encrypt options
refer to:
https://git.libav.org/?p=libav.git;a=commitdiff;h=0a4b9d0ccd10b3c39105f99bd320f696f69a75a2
add hls encrypt options looks like libav's libavformat/hlsenc.c

Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-04-14 23:30:29 +08:00
Paul B Mahol
95a8a03a19 Add FM Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-04-13 12:35:35 +02:00
Michael Niedermayer
5b441d2981 doc/APIchanges: Fill in missing fields
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-12 02:01:37 +02:00
Steven Liu
8378466507 doc/APIChages: Add av_strireplace()
Add av_strireplace() into APIChanges

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-04-11 12:46:28 +08:00
Andreas Unterweger
b200a2c8da examples: Fixed and extended Doxygen documentation
Added parameter descriptions for all functions
 and converted in-function comments into regular
 (non-Doxygen) comments.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-04-10 10:07:54 -04:00
Clément Bœsch
210678d3c5 Merge commit '3794062ab1a13442b06f6d76c54dce51ffa54697'
* commit '3794062ab1a13442b06f6d76c54dce51ffa54697':
  Remove Plan 9 support

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 14:52:00 +02:00
Muhammad Faiz
3408f46694 avfilter/avf_showcqt: add attack option
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-09 14:38:42 +07:00
Michael Niedermayer
23edd41a0d doc/examples/decode_video: Fix format string vulnerability
Fixes: CID1404843

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-09 03:51:19 +02:00
Ricardo Constantino
57c3670896 vf_pad: center image on padded area if negative x/y
or if x/y go beyond padded area.

This is mostly useful when paired with the aspect option.
Defaults aren't changed.

Idea for this was taken from mpv's soon-to-be-removed expand vf.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
2017-04-07 21:35:06 +01:00
James Almer
3f8d7342c3 doc/libav-merge: remove line about extract_extradata_bsf usage
It was addressed in b8f26779d6
2017-04-07 17:31:40 -03:00
Steve Lhomme
157e57a181 lavc: Add Content Light Level side metadata found in HEVC
These data are necessary when transmitting HDR over HDMI.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-06 11:38:15 -03:00
Steve Lhomme
b378f5bd64 lavu: add support for Content Light Level side metadata
As found in HEVC.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-06 11:26:25 -03:00
Clément Bœsch
d8eb40bd70 doc/general: fix project name after 2b1a6b1ae 2017-04-05 18:38:52 +02:00
James Almer
22164971b0 Merge commit '286ab878bd39b56008035638227b3ecb8ec5bbb7'
* commit '286ab878bd39b56008035638227b3ecb8ec5bbb7':
  fate.sh: Allow setting other make flags for running tests

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 15:03:34 -03:00
James Almer
81cc33adc6 Merge commit 'c7ab0eb3050acdd3b8cab2c55fc9c1b2e8610a65'
* commit 'c7ab0eb3050acdd3b8cab2c55fc9c1b2e8610a65':
  examples/decode_video: allocate the packet dynamically

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 14:47:09 -03:00
James Almer
52bce9a13d Merge commit '728ea23cce07467b732f538c87c13da13dd6dcf3'
* commit '728ea23cce07467b732f538c87c13da13dd6dcf3':
  examples/decode_video: switch to the new decoding API

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 14:41:23 -03:00
James Almer
fddd6af45c Merge commit 'f78d360bba6dcfb585847a49a84e89c25950fbdb'
* commit 'f78d360bba6dcfb585847a49a84e89c25950fbdb':
  examples/decode_video: use a parser for splitting the input

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 14:37:27 -03:00
Matthieu Bouron
400378b7b3 doc/examples/extract_mvs: re-indent after previous commit 2017-04-04 14:10:22 +02:00
Matthieu Bouron
1cf93196fc doc/examples/extract_mvs: make pkt local to the main function 2017-04-04 14:10:22 +02:00
Matthieu Bouron
82116bd8a4 doc/examples/extract_mvs: switch to new decoding API 2017-04-04 14:10:22 +02:00
Clément Bœsch
6db36a0227 Merge commit '59ab9e8ba1df7e3347a4cd2bd56c32e74aede802'
* commit '59ab9e8ba1df7e3347a4cd2bd56c32e74aede802':
  examples/encode_video: allocate the packet dynamically

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-04-04 11:48:23 +02:00
Clément Bœsch
4ea942f2ce Merge commit '5f102a9559099429826e84758b8b5182244c52db'
* commit '5f102a9559099429826e84758b8b5182244c52db':
  examples/encode_video: switch to the new encoding API

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-04-04 11:44:45 +02:00
Clément Bœsch
dd0113da3c Merge commit 'fee0f1de2c6a9924acb74013436dbea8f2bd1ecb'
* commit 'fee0f1de2c6a9924acb74013436dbea8f2bd1ecb':
  examples/decode_audio: flush the decoder

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-04-04 11:40:34 +02:00
Clément Bœsch
d1105e8f43 Merge commit '9a38184a143a1560814b084aebe628f8df46e666'
* commit '9a38184a143a1560814b084aebe628f8df46e666':
  examples/decode_audio: allocate the packet dynamically

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-04-04 11:38:56 +02:00
Clément Bœsch
3d12d10677 Merge commit '3d66717f7cb5555257244be8f5bce172ed3af7ac'
* commit '3d66717f7cb5555257244be8f5bce172ed3af7ac':
  examples/decode_audio: use the new audio decoding API

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-04-04 11:33:04 +02:00
Clément Bœsch
87e16e2b44 Merge commit '0946c754d99c05413e813ee515039adcf0f9232a'
* commit '0946c754d99c05413e813ee515039adcf0f9232a':
  examples/decode_audio: use a parser for splitting the input

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-04-04 11:27:37 +02:00
Clément Bœsch
34ec327f69 examples/decode_audio: reduce the scope of 2 variables 2017-04-04 11:17:35 +02:00
Nicolas George
0c20f9fcab doc/muxers: fix default value for image2 option start_number. 2017-04-04 09:15:01 +02:00
Paul B Mahol
7e59393d40 avfilter/vf_pad: add aspect option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-03 22:35:34 +02:00
Clément Bœsch
a434657de9 Merge commit 'f27e262dbdea1991b22e08b639ac03e642a3482c'
* commit 'f27e262dbdea1991b22e08b639ac03e642a3482c':
  examples/encode_audio: switch to the new audio encoding API

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 21:14:16 +02:00
Clément Bœsch
54e195cf52 Merge commit '44c9f374f188f92927b7a4aad2101289d446b814'
* commit '44c9f374f188f92927b7a4aad2101289d446b814':
  examples/qsvdec: convert to the new decoding API

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 21:10:07 +02:00
Clément Bœsch
4069394fd4 Merge commit '1dd2b6c91ca5f26207805720d4f5564de60b241b'
* commit '1dd2b6c91ca5f26207805720d4f5564de60b241b':
  examples/qsvdec: switch to the hwcontext API

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 21:07:59 +02:00
Clément Bœsch
3d34d5c1cf Merge commit 'bdbb8c68668b7610f5a310f5bbb246d2b950426d'
* commit 'bdbb8c68668b7610f5a310f5bbb246d2b950426d':
  doc: Add libxavs section

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 20:50:03 +02:00
Clément Bœsch
ee161dac9d Merge commit '0b5a26e8bcd219efe5da3a6d39b588fabf91f2b9'
* commit '0b5a26e8bcd219efe5da3a6d39b588fabf91f2b9': (35 commits)
  qdm2: Convert to the new bitstream reader
  qcelp: Convert to the new bitstream reader
  pcx: Convert to the new bitstream reader
  opus: Convert to the new bitstream reader
  nellymoser: Convert to the new bitstream reader
  jvdec: Convert to the new bitstream reader
  hqx: Convert to the new bitstream header
  hq_hqa: Convert to the new bitstream reader
  gsm: Convert to the new bitstream reader
  g72x: Convert to the new bitstream reader
  g2meet: Convert to the new bitstream reader
  fraps: Convert to the new bitstream reader
  flashsv: Convert to the new bitstream reader
  faxcompr: Convert to the new bitstream reader
  exr: Convert to the new bitstream reader
  escape130: Convert to the new bitstream reader
  escape124: Convert to the new bitstream reader
  dvdsubdec: Convert to the new bitstream reader
  dss_sp: Convert to the new bitstream reader
  cook: Convert to the new bitstream reader
  ...

This merge is a noop, see
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/209609.html

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 20:38:28 +02:00
Mark Thompson
41dda86087 doc: Add VAAPI encoders 2017-04-02 19:06:33 +01:00
Mark Thompson
34e051d168 vp9: Add bsf to fix reordering in raw streams
Takes a raw input stream containing frames with correct timestamps but
possibly out of order and inserts additional show-existing-frame
packets to correct the ordering.
2017-04-02 19:05:43 +01:00
Ronald S. Bultje
0cf949a011 vp9: Add bsf to merge superframes
From ffmpeg commit 2e6636aa87.
2017-04-02 17:54:05 +01:00
Clément Bœsch
a3fc5f535a doc/libav-merge: document hlsenc encryption state 2017-04-01 18:21:34 +02:00
Clément Bœsch
e181e2909b doc/examples/transcode_aac: replace local get_error_text with av_err2str 2017-04-01 12:45:33 +02:00
Clément Bœsch
2b1a6b1ae3 Merge commit 'bf8646274b3ea2d9a193edfdbd70a3bb5c6dd74f'
* commit 'bf8646274b3ea2d9a193edfdbd70a3bb5c6dd74f':
  doc: Add note about recent regression in AviSynth+

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01 12:41:42 +02:00
James Almer
6171f178e7 x86/hevc_add_res: merge last remaining changes from 3d65359832
See https://lists.libav.org/pipermail/libav-devel/2016-October/079829.html
2017-03-31 20:49:45 -03:00
James Almer
b62a87591e doc/libav-merge: link to the relevant ml thread in the extract_extradata line 2017-03-31 20:35:16 -03:00
James Almer
b27dd80255 doc/decode_audio: use <> to include libav* headers
Found-by: ubitux
2017-03-31 16:50:51 -03:00
James Almer
ebe9808aaa Merge commit '905cdcaa9d081d3d945ce555b27b43a75c3af57b'
* commit '905cdcaa9d081d3d945ce555b27b43a75c3af57b':
  examples/decode_audio: Add missing header for av_free()

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 15:46:13 -03:00
James Almer
183635b9e9 doc/libav-merge: mention aac_adtstoasc extradata update fix for matroska 2017-03-31 15:33:48 -03:00
James Almer
9033e8723c avutil/spherical: add av_spherical_projection_name()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Reviewed-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-31 13:26:56 -03:00
James Almer
0505a1d9c4 doc/libav-merge: remove line about AC3 fixed decoder speedup
It was addressed in commit 91ccd38c0b
2017-03-31 11:31:41 -03:00
Michael Niedermayer
1317a9f7aa doc/APIchanges: Update 2017-03-31 13:21:06 +02:00
Michael Niedermayer
59b8c2a4e6 doc/examples/encode_audio: Favor a sample rate close to 44khz instead of the maximum sample rate
This is an example, people will copy and use this. The maximum supported is quite
unreasonable as a default choice

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-30 16:34:06 +02:00
Matthieu Bouron
03372d0a90 doc/examples/filtering_audio: switch to new decoding API 2017-03-30 16:20:13 +02:00
Matthieu Bouron
afd257b43f doc/examples/filtering_video: switch to new decoding API 2017-03-30 16:20:07 +02:00
Clément Bœsch
b22c4d822b doc/codecs: add jedec-p22 2017-03-30 13:59:15 +02:00
Clément Bœsch
4cda23f1f1 Merge commit 'd06aa24ba583ad08025da9e1b29afcd8218ff9b0'
* commit 'd06aa24ba583ad08025da9e1b29afcd8218ff9b0':
  hwcontext: Hardware frame mapping

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-30 10:36:37 +02:00
Clément Bœsch
a1b3ded902 Merge commit '2025d3787158ba272a1b8fbc0493fa20dd7a8484'
* commit '2025d3787158ba272a1b8fbc0493fa20dd7a8484':
  doc: Turn off noisy deprecation warnings in the option printer

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 15:20:10 +02:00
Clément Bœsch
549045254c Fix all -Wformat warnings raised by DJGPP 2017-03-29 14:49:29 +02:00
Clément Bœsch
bfdcdd6d82 lavu: add av_fourcc_make_string() and av_fourcc2str() 2017-03-29 14:49:29 +02:00
Clément Bœsch
fdbc29ca70 Merge commit '8191f960a669819db4de33a2439ded1630b8a73e'
* commit '8191f960a669819db4de33a2439ded1630b8a73e':
  examples/decode_video: constify the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:22:32 +02:00
Clément Bœsch
58f24adc05 Merge commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c'
* commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c':
  examples/encode_video: use the AVFrame API for allocating the frame

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:21:52 +02:00
Clément Bœsch
944e5ce3ec doc/examples/{de,en}code_audio: fix includes
Consistent with other examples.
2017-03-29 14:18:10 +02:00
Clément Bœsch
4726bbb471 Merge commit 'd0a603a534a0ee4b255e5e72742428a7f7f42b83'
* commit 'd0a603a534a0ee4b255e5e72742428a7f7f42b83':
  examples/encode_video: set the framerate

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:16:33 +02:00
Clément Bœsch
e9bd457465 Merge commit 'e02524025bce2c8bf8b5bffd96479785c75a70d4'
* commit 'e02524025bce2c8bf8b5bffd96479785c75a70d4':
  examples/encode_video: constify the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:15:01 +02:00
Clément Bœsch
925ce244d8 Merge commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d'
* commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d':
  examples/avcodec: split the remaining two examples into separate files

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:09:09 +02:00
Clément Bœsch
dcdd52101f Merge commit '90265814f993098d79b0a0f40745ecdb403fbf56'
* commit '90265814f993098d79b0a0f40745ecdb403fbf56':
  examples/decode_audio: constify the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:45:51 +02:00
Clément Bœsch
9bed10afb8 doc/examples/encode_audio: add missing return 2017-03-29 13:45:09 +02:00
Clément Bœsch
878070cc56 Merge commit 'f5df897c4b61985e3afc89ba1290649712ff438e'
* commit 'f5df897c4b61985e3afc89ba1290649712ff438e':
  examples/avcodec: split audio decoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:43:47 +02:00
Clément Bœsch
780cc080d8 Merge commit 'f76698e759a08e8d3b629c06edb0439f474e7fee'
* commit 'f76698e759a08e8d3b629c06edb0439f474e7fee':
  examples/encode_audio: use the AVFrame API for allocating the data

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:31:44 +02:00
Clément Bœsch
f38e7566c6 Merge commit 'c00a11ab383ff276a2ab2fdba577945e48d465be'
* commit 'c00a11ab383ff276a2ab2fdba577945e48d465be':
  examples/encode_audio: constify AVCodec instances

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:30:16 +02:00
Clément Bœsch
b785af4868 Merge commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d'
* commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d':
  examples/avcodec: split audio encoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:29:22 +02:00
James Almer
3b80f73b18 doc/examples/transcoding: convert to codecpar
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-28 12:27:04 -03:00
Matthieu Bouron
64b5539985 doc/examples/extract_mvs: switch to codecpar 2017-03-28 17:46:29 +02:00
Matthieu Bouron
4a946aca7c doc/examples/remuxing: switch to codecpar
Also limits remuxing to audio, video and subtitle streams.
2017-03-28 17:46:23 +02:00
Matthieu Bouron
7e3e0f87e6 doc/examples/muxing: re-indent block 2017-03-28 12:41:46 +02:00
Clément Bœsch
c3706bc255 doc/examples/filtering_*: switch to codecpar 2017-03-28 11:40:57 +02:00
Dave Rice
3e0474ff39 doc/ffprobe: add -show_log option
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-28 00:13:47 +02:00
Dave Rice
52d9442a55 ffprobe.xsd: add frame log data
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-28 00:13:47 +02:00
Clément Bœsch
53dac6c23b Merge commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c'
* commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c':
  Use ISO C printf conversion specifiers where appropriate

This commit is a noop, an equivalent patch is currently under review on
the mailing-list: http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209239.html

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:04:56 +02:00
Rostislav Pehlivanov
a8fe8d6b4a lavfi: remove af_asynts filter
Long overdue for removal, af_aresample should be used instead.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-27 14:06:16 +01:00
wm4
ddef3d902f avformat, ffmpeg: deprecate old rotation API
The old "API" that signaled rotation as a metadata value has been
replaced by DISPLAYMATRIX side data quite a while ago.

There is no reason to make muxers/demuxers/API users support both. In
addition, the metadata API is dangerous, as user tags could "leak" into
it, creating unintended features or bugs.

ffmpeg CLI has to be updated to use the new API. In particular, we must
not allow to leak the "rotate" tag into the muxer. Some muxers will
catch this properly (like mov), but others (like mkv) can add it as
generic tag. Note applications, which use libavformat and assume the
old rotate API, will interpret such "rotate" user tags as rotate
metadata (which it is not), and incorrectly rotate the video.

The ffmpeg/ffplay tools drop the use of the old API for muxing and
demuxing, as all muxers/demuxers support the new API. This will mean
that the tools will not mistakenly interpret per-track "rotate" user
tags as rotate metadata. It will _not_ be treated as regression.

Unfortunately, hacks have been added, that allow the user to override
rotation by setting metadata explicitly, e.g. via

  -metadata:s:v:0 rotate=0

See references to trac #4560. fate-filter-meta-4560-rotate0 tests this.
It's easier to adjust the hack for supporting it than arguing for its
removal, so ffmpeg CLI now explicitly catches this case, and essentially
replaces the "rotate" value with a display matrix side data. (It would
be easier for both user and implementation to create an explicit option
for rotation.)

When the code under FF_API_OLD_ROTATE_API is disabled, one FATE
reference file has to be updated (because "rotate" is not exported
anymore).

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-27 13:20:27 +02:00
Michael Niedermayer
9dd1573423 doc/bitstream_filters: Fix project name after merge
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-26 19:17:30 +02:00
Clément Bœsch
3d65359832 Merge commit '6d5636ad9ab6bd9bedf902051d88b7044385f88b'
* commit '6d5636ad9ab6bd9bedf902051d88b7044385f88b':
  hevc: x86: Add add_residual() SIMD optimizations

See a6af4bf64d

This merge is only cosmetics (renames, space shuffling, etc).

The functionnal changes in the ASM are *not* merged:
- unrolling with %rep is kept
- ADD_RES_MMX_4_8 is left untouched: this needs investigation

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-24 12:33:25 +01:00
Clément Bœsch
71d541751e Merge commit '043b0b9fb1481053b712d06d2c5b772f1845b72b'
* commit '043b0b9fb1481053b712d06d2c5b772f1845b72b':
  Replace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|v

The merge also includes all our own occurences.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-24 11:40:35 +01:00
James Almer
0f4abbd4ee doc/libav-merge: add a line about the extract_extradata commits 2017-03-23 19:49:09 -03:00
James Almer
7ebc9f8df4 Merge commit '89b35a139e838deeb32ec20d8d034c81014401d0'
* commit '89b35a139e838deeb32ec20d8d034c81014401d0':
  lavc: add a bitstream filter for extracting extradata from packets

Merged-by: James Almer <jamrial@gmail.com>
2017-03-23 16:31:15 -03:00
Clément Bœsch
947230837c Merge commit '112cee0241f5799edff0e4682b9e8639b046dc78'
* commit '112cee0241f5799edff0e4682b9e8639b046dc78':
  hevc: Add SSE2 and AVX IDCT

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 15:58:46 +01:00
Vittorio Giovara
083ea87681 APIchanges: Update bump dates 2017-03-23 12:56:10 +01:00
Clément Bœsch
d521258b19 Merge commit '5cc0057f4910c8c72421b812c8f337ef6c43696c'
* commit '5cc0057f4910c8c72421b812c8f337ef6c43696c':
  lavu: remove the custom atomic API

This commit is a noop. The removal is postponed until all usages in
FFmpeg are dropped as well. A patchset is on discussion on the
mailing-list:
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209003.html

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:14:13 +01:00
wm4
7e4ba776a2 lavc: vdpau: Add support for new hw_frames_ctx and hw_device_ctx API
This supports retrieving the device from a provided hw_frames_ctx, and
automatically creating a hw_frames_ctx if hw_device_ctx is set.

The old API is not deprecated yet. The user can still use
av_vdpau_bind_context() (with or without setting hw_frames_ctx), or use
the API before that by allocating and setting hwaccel_context manually.

Cherry-picked from Libav commit 1a7ddba5.
(Adds missing APIchanges entry to the Libav version.)

Reviewed-by: Mark Thompson <sw@jkqxz.net>
2017-03-23 09:36:42 +01:00
wm4
156bd8278f lavc: Add hwaccel_flags field to AVCodecContext
This "reuses" the flags introduced for the av_vdpau_bind_context() API
function, and makes them available to all hwaccels. This does not affect
the current vdpau API, as av_vdpau_bind_context() should obviously
override the AVCodecContext.hwaccel_flags flags for the sake of
compatibility.

Cherry-picked from Libav commit 16a163b5.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
2017-03-23 09:34:21 +01:00
Clément Bœsch
9dc57688c8 lavc/mips: temporally disable ac3 downmix 2017-03-22 11:46:13 +01:00
Clément Bœsch
ce10e4cb1f doc/libav-merge: create a special "extra changes" section 2017-03-22 11:43:00 +01:00
Matthias Hunstock
b3a2adaac6 avdevice/decklink: new option 'format_code' to set video format by fourCC
Signed-off-by: Matthias Hunstock <atze@fem.tu-ilmenau.de>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-22 02:07:50 +01:00
James Almer
fc9f14c7de Merge commit '8ea35af7620e4f73f9e8c072e1c0fac9a04ec161'
* commit '8ea35af7620e4f73f9e8c072e1c0fac9a04ec161':
  avio: add a new flag for marking streams seekable by timestamp

Merged-by: James Almer <jamrial@gmail.com>
2017-03-21 17:07:44 -03:00
James Almer
5a49097b42 Merge commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428'
* commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428':
  idct: Change type of array stride parameters to ptrdiff_t

Merged-by: James Almer <jamrial@gmail.com>
2017-03-21 14:29:52 -03:00
Clément Bœsch
bb7cc5b5d9 Merge commit '67d28f4a0fbb52d0734ca3682b85035e96d294fb'
* commit '67d28f4a0fbb52d0734ca3682b85035e96d294fb':
  examples/output: switch to the new encoding API

This commit is a noop, our examples are different. Still, we need to
update them to the new API, so doc/libav-merge.txt is updated.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-21 14:54:07 +01:00
wm4
d682ae70b4 avcodec, avformat: deprecate anything related to side data merging
This patch deprecates anything that has to do with merging/splitting
side data. Automatic side data merging (and splitting), as well as all
API symbols involved in it, are removed completely.

Two FF_API_ defines are dedicated to deprecating API symbols related to
this: FF_API_MERGE_SD_API removes av_packet_split/merge_side_data in
libavcodec, and FF_API_LAVF_KEEPSIDE_FLAG deprecates
AVFMT_FLAG_KEEP_SIDE_DATA in libavformat.

Since it was claimed that changing the default from merging side data to
not doing it is an ABI change, there are two additional FF_API_ defines,
which stop using the side data merging/splitting by default (and remove
any code in avformat/avcodec doing this): FF_API_MERGE_SD in libavcodec,
and FF_API_LAVF_MERGE_SD in libavformat.

It is very much intended that FF_API_MERGE_SD and FF_API_LAVF_MERGE_SD
are quickly defined to 0 in the next ABI bump, while the API symbols are
retained for a longer time for the sake of compatibility.
AVFMT_FLAG_KEEP_SIDE_DATA will (very much intentionally) do nothing for
most of the time it will still be defined. Keep in mind that no code
exists that actually tries to unset this flag for any reason, nor does
such code need to exist. Code setting this flag explicitly will work as
before. Thus it's ok for AVFMT_FLAG_KEEP_SIDE_DATA to do nothing once
side data merging has been removed from libavformat.

In order to avoid that anyone in the future does this incorrectly, here
is a small guide how to update the internal code on bumps:

- next ABI bump (probably soon):
  - define FF_API_LAVF_MERGE_SD to 0, and remove all code covered by it
  - define FF_API_MERGE_SD to 0, and remove all code covered by it
- next API bump (typically two years in the future or so):
  - define FF_API_LAVF_KEEPSIDE_FLAG to 0, and remove all code covered
    by it
  - define FF_API_MERGE_SD_API to 0, and remove all code covered by it

This forces anyone who actually wants packet side data to temporarily
use deprecated API to get it all. If you ask me, this is batshit fucked
up crazy, but it's how we roll. Making AVFMT_FLAG_KEEP_SIDE_DATA to be
set by default was rejected as an ABI change, so I'm going all the way
to get rid of this once and for all.

Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-21 06:13:45 +01:00
Mark Thompson
303fadf596 avconv: Document the -init_hw_device option 2017-03-20 23:15:43 +00:00
wm4
16a163b55a lavc: Add hwaccel_flags field to AVCodecContext
This "reuses" the flags introduced for the av_vdpau_bind_context() API
function, and makes them available to all hwaccels. This does not affect
the current vdpau API, as av_vdpau_bind_context() should obviously
override the AVCodecContext.hwaccel_flags flags for the sake of
compatibility.
2017-03-20 23:15:43 +00:00
Mark Thompson
b7487f4f3c hwcontext: Make it easier to work with device types
Adds functions to convert to/from strings and a function to iterate
over all supported device types.  Also adds a new invalid type
AV_HWDEVICE_TYPE_NONE, which acts as a sentinel value.
2017-03-20 23:15:43 +00:00
Mark Thompson
b266ad56fe hwcontext: Add device derivation
Creates a new device context from another of a different type which
refers to the same underlying hardware.
2017-03-20 23:15:43 +00:00
Gerion Entrup
5e3a418b60 add signature filter for MPEG7 video signature
This filter does not implement all features of MPEG7. Missing features:
- compression of signature files
- work only on (cropped) parts of the video

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-21 00:11:08 +01:00
Clément Bœsch
9785b1e21b Merge commit '75d642a944d5579e4ef20ff3701422a64692afcf'
* commit '75d642a944d5579e4ef20ff3701422a64692afcf':
  vaapi_vp8: Explicitly include libva vp8 decode header
  vaapi_decode: Ignore the profile when not useful
  lavc/vaapi: Add VP8 decode hwaccel
  vp8: Add hwaccel hooks

This merge is a noop as these commits are already under review on the
mailing list. doc/libav-merge.txt is updated to track its progress.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 11:54:29 +01:00
Clément Bœsch
8200b16a9c Merge commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5'
* commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5':
  imgutils: add a function for copying image data from GPU mapped memory

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 08:34:10 +01:00
Clément Bœsch
5e5e793552 doc/APIchanges: fill date & hash for AV_PIX_FMT_FLAG_BAYER 2017-03-20 08:10:54 +01:00
Clément Bœsch
9c2436e1e7 lavu: add AV_PIX_FMT_FLAG_BAYER 2017-03-20 08:02:30 +01:00
Clément Bœsch
33dc6fcc4c Merge commit '963b3ab11f98fcc4a311f0dc7b268890c5675da2'
* commit '963b3ab11f98fcc4a311f0dc7b268890c5675da2':
  doc: Document FATE option HWACCEL

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 18:34:48 +01:00
Rostislav Pehlivanov
3796fb2692 lavfi: deprecate AVFilterGraph->resample_lavr_opts
Not used by anything at all since we don't auto insert lavr filters.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-18 07:37:35 +00:00
Lou Logan
396be0da59 doc/muxers: cleanup mpegts section
Add missing options.
List correct variable types.
Re-order options and markup flag options properly.
Add more texinfo markup.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-03-16 12:01:15 -08:00
Muhammad Faiz
1f7eb216b0 swresample/options: enable linear_interp and exact_rational by default
better quality without speedloss

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-03-17 00:08:03 +07:00
Clément Bœsch
2f6661c940 doc: remove remaining legacy x11grab references 2017-03-15 22:23:00 +01:00
Katherine Nagels
b2206475b4 doc/filters: Add colourspace values for colormatrix filter
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Kieran Kunhya <kierank@obe.tv>
2017-03-14 13:35:38 -08:00
Paras Chadha
5dab7b91ad avcodec: add XPM decoder and demuxer
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
2017-03-12 18:24:49 +01:00
Anton Khirnov
807a3b30d2 lavfi: add a QSV scaling filter
This merges libav commit ac7bfd6967,
which was previously skipped.

(cherry picked from commit ac7bfd6967)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-03-12 15:02:33 +00:00
Steven Liu
70a9407b50 doc/muxers: move hls_flags temp_file to after SECOND LEVEL hls example
the temp_file hls_flags describe text offset is wrong, now move it after example

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-03-11 21:11:38 +08:00
Moritz Barsnick
114bbb0b74 libavfilter/avf_showwaves: make sqrt and cbrt scale option values available to showwavespic by name
The 'sqrt' and 'cbrt' scalers were added in commit
80262d8c86, but their symbolic option values
only made available to the showwaves filter, not showwavespic, despite
the scalers working properly by their numerical option values.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
2017-03-11 11:55:57 +01:00
Kieran Kunhya
5f794aa165 Add Cineform HD Decoder
Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
Older files with more subbands, skips, Bayer, alpha not supported.

Further fixes and refactorings by Anton Khirnov <anton@khirnov.net>,
Diego Biurrun <diego@biurrun.de>, Vittorio Giovara <vittorio.giovara@gmail.com>

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-03-09 18:37:29 +01:00
Vittorio Giovara
1b7ffddb3a spherical: Add tiled equirectangular type and projection-specific properties
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-07 11:19:37 -05:00
Vittorio Giovara
6bce6aa17d spherical: Add tiled equirectangular type and projection-specific properties
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-07 11:07:02 -05:00
Diego Biurrun
57b753b445 build: Prefer NASM assembler over YASM
NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.
2017-03-07 08:32:37 +01:00
James Almer
68ee800a9d doc/encoders: mention valid values for compression_level when using FLAC encoder
Found-by: Miles
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-03 13:49:26 -03:00
Anton Khirnov
76e13bdeaa ffmpeg: restructure sending EOF to filters
Be more careful when an input stream encounters EOF when its filtergraph
has not been configured yet. The current code would immediately mark the
corresponding output streams as finished, while there may still be
buffered frames waiting for frames to appear on other filtergraph
inputs.

This should fix the random FATE failures for complex filtergraph tests
after a3a0230a98

This merges Libav commit 94ebf55. It was previously skipped.

This is the last filter init related Libav commit that was skipped, so
this also removes the commits from doc/libav-merge.txt.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
2017-03-03 08:45:43 +01:00
Carl Eugen Hoyos
d1bfd19ad1 doc: Link to "Resampler Options" in the aresample documentation. 2017-03-02 18:05:58 +01:00
Kostya Shishkov
a63496cc88 avcodec: add ClearVideo decoder
Only I-frames are decoded for now.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-03-02 11:39:54 +01:00
wm4
ade7c1a232 avcodec/videotoolbox: allow not setting the kCVPixelBufferPixelFormatTypeKey
If AVVideotoolboxContext.cv_pix_fmt_type is set to 0, don't set the
kCVPixelBufferPixelFormatTypeKey value on the VT decoder.

This makes VT output its native format, which can be much faster on
some hardware iterations (if the native format does not match with
the requested format, it will be converted, which is slow).

The default is still forcing nv12.
2017-03-02 10:32:21 +01:00
wm4
554bc4eea8 avcodec, avutil, avformat: remove AVOption requirement for some fields
Allow all struct fields to be accessed directly, as long as they're
public.

Before this change, many fields were "public", but could be accessed via
AVOption only. This meant they were effectively not public, but were
present for documentation purposes, which was incredibly confusing at
best.
2017-03-02 10:32:12 +01:00
Paul B Mahol
aba5b94859 Add Apple Pixlet decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-03-01 11:52:29 -05:00
Diego Biurrun
c483398bb7 build: Drop DOC_ prefix from EXAMPLES-related variables 2017-02-27 13:57:35 +01:00
Diego Biurrun
4141a5a240 Use modern avconv syntax for codec selection in documentation and tests 2017-02-27 10:36:45 +01:00
Marton Balint
48f8ad3290 avdevice/decklink_enc: add support to specify field order
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-26 22:47:33 +01:00
Lou Logan
f5fa12d6ee doc/filters: mention 'ffmpeg -filters' in timeline section
So users can see which filters support the 'enable' option.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-02-23 10:44:11 -09:00
Paul B Mahol
039011b6b0 avcodec: add ScreenPressor decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-22 22:57:59 +01:00
Mulvya
8b768f68b0 doc: drawtext options update
Remove nonexistant "draw" option.
Add undocumented "tc24hmax" timecode wrap option.

Signed-off-by: Mulvya <mulvya@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2017-02-22 10:38:53 -09:00
Diego Biurrun
ab566cc96b build: Separate logic for building examples from that for building avtools 2017-02-21 16:10:51 +01:00
Diego Biurrun
acb0dea27e build: Split logic for building examples off into a separate Makefile 2017-02-21 16:10:51 +01:00
Diego Biurrun
db4903eb48 build: Avoid duplication in examples lists 2017-02-21 16:10:51 +01:00
Diego Biurrun
533339bdcc build: Drop leftover reference to old EXAMPLES logic 2017-02-21 16:10:51 +01:00
Mulvya
64b79535d7 doc: correct order of options for channelmap filter
Signed-off-by: Mulvya <mulvya@gmail.com>
2017-02-16 13:34:14 -09:00
Mulvya
449ce456a6 doc: correct table end for metadata filter
Signed-off-by: Mulvya <mulvya@gmail.com>
2017-02-15 20:16:27 +01:00
Rostislav Pehlivanov
3a7f0055b4 doc/encoders: add documentation for the Opus encoder
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-14 06:15:36 +00:00
Lou Logan
1c049d5ffe doc/ffmpeg: document trailing "?" in map option
This feature was added in 2375a85c36.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-02-13 15:26:43 -09:00
Mark Thompson
c1a5fca06f lavc: Add device context field to AVCodecContext
For use by codec implementations which can allocate frames internally.
2017-02-13 22:06:43 +00:00
Lou Logan
fb32c561c3 doc/protocols: add option usage description
Fixes ticket #6148.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-02-13 12:23:03 -09:00
Mark Thompson
44f2eda39f lavc: Add device context field to AVCodecContext
For use by codec implementations which can allocate frames internally.
2017-02-13 20:14:27 +00:00
wm4
e3af49b14b AVFrame: add an opaque_ref field
This is an extended version of the AVFrame.opaque field, which can be
used to attach arbitrary user information to an AVFrame.

The usefulness of the opaque field is rather limited, because it can
store only up to 32 bits of information (or 64 bit on 64 bit systems).
It's not possible to set this field to a memory allocation, because
there is no way to deallocate it correctly.

The opaque_ref field circumvents this by letting the user set an
AVBuffer, which makes the user data refcounted.

Signed-off-by: Anton Khirnov <anton@khirnov.net>

Merges Libav commit 04f3bd3496.
2017-02-13 08:01:20 +01:00
Michael Niedermayer
68b8be0811 doc/muxers: Fix typo, causing warnings during build
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-12 20:40:47 +01:00
Paul B Mahol
8192e05cd2 doc/general: mention Newtek SpeedHQ decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-12 10:43:45 +01:00
Paul B Mahol
8259f8a720 avcodec: add FM Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-12 10:43:45 +01:00
Anton Khirnov
4de220d2e3 frame: allow align=0 (meaning automatic) for av_frame_get_buffer()
This will avoid every caller from hardcoding some specific alignment,
which may break in the future with new instruction sets.
2017-02-11 11:37:45 +01:00
Anton Khirnov
e6bff23f1e cpu: add a function for querying maximum required data alignment 2017-02-11 11:37:45 +01:00
wm4
04f3bd3496 AVFrame: add an opaque_ref field
This is an extended version of the AVFrame.opaque field, which can be
used to attach arbitrary user information to an AVFrame.

The usefulness of the opaque field is rather limited, because it can
store only up to 32 bits of information (or 64 bit on 64 bit systems).
It's not possible to set this field to a memory allocation, because
there is no way to deallocate it correctly.

The opaque_ref field circumvents this by letting the user set an
AVBuffer, which makes the user data refcounted.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-02-11 11:37:45 +01:00
Anton Khirnov
99684f3ae7 avio: add a destructor for AVIOContext
Before this commit, AVIOContext is to be freed with a plain av_free(),
which prevents us from adding any deeper structure to it.
2017-02-11 11:37:44 +01:00
Steven Liu
d96ebc5ef8 avformat/hlsenc: deprecate hls_wrap option
When user use the hls_wrap, there have many problem:
1. some platform refersh the old but usefull segment
2. CDN(Content Delivery Network) Deliver HLS not friendly

The hls_wrap is used to wrap segments for use little space,
now user can use hls_list_size and hls_flags delete_segments
instead it.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-02-11 12:32:31 +08:00