Anton Khirnov
0946c754d9
examples/decode_audio: use a parser for splitting the input
...
Do not rely on the decoder handling this, as it's not guaranteed to
work.
2016-11-23 13:09:41 +01:00
Anton Khirnov
f27e262dbd
examples/encode_audio: switch to the new audio encoding API
2016-11-23 13:08:50 +01:00
Anton Khirnov
44c9f374f1
examples/qsvdec: convert to the new decoding API
2016-11-23 13:08:43 +01:00
Anton Khirnov
1dd2b6c91c
examples/qsvdec: switch to the hwcontext API
...
The code now does not depend on VA and will work on windows as well.
2016-11-23 13:08:33 +01:00
Diego Biurrun
bdbb8c6866
doc: Add libxavs section
2016-11-21 15:08:50 +01:00
Luca Barbato
0a4b9d0ccd
hlsenc: Add encryption support
...
Partially based on Christian Suloway <csuloway@globaleagleent.com> work.
2016-11-17 19:19:55 +01:00
Diego Biurrun
bb265b764a
examples/transcode_aac: Drop pointless return value const qualifier
...
doc/examples/transcode_aac.c:52:20: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
2016-11-17 16:53:47 +01:00
Diego Biurrun
bfe92dfe60
Ignore all generated example binaries
2016-11-17 10:35:27 +01:00
Stephen Hutchinson
bf8646274b
doc: Add note about recent regression in AviSynth+
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-11-17 09:44:26 +01:00
Diego Biurrun
905cdcaa9d
examples/decode_audio: Add missing header for av_free()
2016-11-10 10:33:19 +01:00
Luca Barbato
7471352f19
pixfmt: Add GRAY12
2016-11-07 22:42:00 +01:00
Mark Thompson
d06aa24ba5
hwcontext: Hardware frame mapping
...
Adds the new av_hwframe_map() function, which allows mapping between
hardware frames and normal memory, along with internal support for
implementing it.
Also adds av_hwframe_ctx_create_derived(), for creating a hardware
frames context associated with one device using frames mapped from
another by some hardware-specific means.
2016-11-03 23:49:01 +00:00
Diego Biurrun
2025d37871
doc: Turn off noisy deprecation warnings in the option printer
2016-11-02 10:33:39 +01:00
Anton Khirnov
636515c324
examples/decode_video: remove a stray unrelated comment
2016-11-02 10:20:41 +01:00
Anton Khirnov
8191f960a6
examples/decode_video: constify the AVCodec instance
2016-11-02 10:20:25 +01:00
Anton Khirnov
5b4d7ac7ae
examples/encode_video: use the AVFrame API for allocating the frame
...
It is more efficient and so preferred over allocating the buffers
manually.
2016-11-02 10:20:01 +01:00
Anton Khirnov
d0a603a534
examples/encode_video: set the framerate
2016-11-02 10:19:37 +01:00
Anton Khirnov
e02524025b
examples/encode_video: constify the AVCodec instance
2016-11-02 10:18:34 +01:00
Anton Khirnov
7b1f03477f
examples/avcodec: split the remaining two examples into separate files
2016-11-02 10:16:04 +01:00
Anton Khirnov
90265814f9
examples/decode_audio: constify the AVCodec instance
2016-11-02 10:13:37 +01:00
Anton Khirnov
f5df897c4b
examples/avcodec: split audio decoding into a separate example
...
The four examples (audio/video encoding/decoding) are completely
independent so it makes little sense to have them all in one file.
2016-11-02 10:13:27 +01:00
Anton Khirnov
f76698e759
examples/encode_audio: use the AVFrame API for allocating the data
...
It is simpler and more efficient.
2016-11-02 10:12:39 +01:00
Anton Khirnov
c00a11ab38
examples/encode_audio: constify AVCodec instances
2016-11-02 10:11:48 +01:00
Anton Khirnov
40aaa8dadf
examples/avcodec: split audio encoding into a separate example
...
The four examples (audio/video encoding/decoding) are completely
independent so it makes little sense to have them all in one file.
2016-11-02 10:11:46 +01:00
Diego Biurrun
043b0b9fb1
Replace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|v
2016-10-22 16:50:41 +02:00
Anton Khirnov
89b35a139e
lavc: add a bitstream filter for extracting extradata from packets
...
This is intended as a replacement for the 'split' function exported by
some parsers.
2016-10-16 20:27:16 +02:00
Kieran Kunhya
81f1f6c3f6
Add GBRAP12 pixel format support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-10-12 21:33:34 +02:00
Michael Niedermayer
1e93aa69a6
Add GBRP12 pixel format support
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-10-12 17:39:30 +02:00
Vittorio Giovara
e7e5be8635
APIchanges: Expand the name of recently added pixel formats
...
This makes them easier to search for.
2016-10-12 11:13:02 -04:00
Anton Khirnov
2124711b95
hwcontext_vaapi: add a quirk for the missing MemoryType attribute
...
The Intel binary iHD driver does not support the
VASurfaceAttribMemoryType, so surface allocation will fail when using
it.
2016-10-02 11:41:45 +02:00
Anton Khirnov
8ea35af762
avio: add a new flag for marking streams seekable by timestamp
2016-09-30 16:55:45 +02:00
Diego Biurrun
2ec9fa5ec6
idct: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 14:48:03 +02:00
Anton Khirnov
67d28f4a0f
examples/output: switch to the new encoding API
2016-09-28 10:01:52 +02:00
Anton Khirnov
6c09af7e46
APIchanges: fix a typo in the version number
2016-09-28 10:01:51 +02:00
Luca Barbato
0e8d1fc1f0
lavu: Bump version for the 12bit Planar YUV support
2016-09-27 18:48:30 +02:00
Yogender Gupta
de64dd13cb
avcodec: Add the extended pixel format profile for HEVC
...
It is supported by the NVIDIA video SDK 7.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-09-19 10:02:43 +02:00
Diego Biurrun
8c201dde0a
build: doc: more fine-grained dependencies for generated texi files
2016-09-15 21:37:16 +02:00
Anton Khirnov
d7bc52bf45
imgutils: add a function for copying image data from GPU mapped memory
...
See https://software.intel.com/en-us/articles/copying-accelerated-video-decode-frame-buffers
2016-08-31 08:15:47 +02:00
Mark Thompson
851960f6f8
lavc: Remove old vaapi decode infrastructure
...
Deprecates struct vaapi_context and the installed header vaapi.h,
to be removed at the next version bump.
2016-08-30 22:16:01 +01:00
Burt P
728e80cd2e
High Definition Compatible Digital (HDCD) decoder filter, using libhdcd
...
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-08-29 19:09:59 +02:00
Luca Barbato
963b3ab11f
doc: Document FATE option HWACCEL
2016-08-26 09:21:59 +02:00
Diego Biurrun
7d7355aa92
x86: Add SSSE3_SLOW CPU flag and related convenience macros
2016-07-20 18:43:28 +02:00
Vittorio Giovara
9833a406d3
examples: Properly free AVCodecContext
2016-07-20 17:13:53 +02:00
Diego Biurrun
5ece691101
apichanges: Fill in missing hashes and dates
2016-07-16 17:38:37 +02:00
Janne Grunau
fc5cdc0d53
doc: escape left brace in texi2pod.pl regex
...
Unescaped literal left braces are deprecated and a warning was added in
Perl 5.22.
2016-07-10 13:34:57 +02:00
Mark Thompson
4926fa9a4a
hwcontext_vaapi: Add driver quirks to the hwdevice
...
The driver being used is detected inside av_hwdevice_ctx_init() and
the quirks field then set from a table of known device. If this
behaviour is unwanted, the user can also set the quirks field
manually.
Also adds the Intel i965 driver quirk (it does not destroy parameter
buffers used in a call to vaRenderPicture()) and detects that driver
to set it.
2016-07-02 14:09:54 +01:00
Hendrik Leppkes
b7c5f88523
pixfmt: add P010 pixel format
...
P010 is the 10-bit variant of NV12 (planar luma, packed chroma), using two
bytes per component to store 10-bit data plus 6-bit zeroes in the LSBs.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-07-02 09:35:23 +02:00
Martin Storsjö
82b7525173
Add an OpenH264 decoder wrapper
...
While it is less featureful (and slower) than the built-in H264
decoder, one could potentially want to use it to take advantage
of the cisco patent license offer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-06-28 14:17:43 +03:00
Anton Khirnov
398f015f07
avconv: buffer the packets written while the muxer is not initialized
2016-06-25 11:15:54 +02:00
Anton Khirnov
32c8359093
lavc: export the timestamps when decoding in AVFrame.pts
...
Currently it's exported as AVFrame.pkt_pts, which is also the only use
for that field. The reason it is done like this is that lavc used to
export various codec-specific "timing" information in AVFrame.pts, which
is not done anymore.
Since it is confusing to the callers to have a separate field which is
used only for decoder timestamps and nothing else, deprecate pkt_pts and
use just AVFrame.pts everywhere.
2016-06-21 19:54:42 +02:00
Anton Khirnov
59e7361cc7
hwcontext: add a QSV implementation
2016-06-21 19:53:37 +02:00
Anton Khirnov
e85f6f7f8d
lavc: allow using AVCodecContext.hw_frames_ctx for decoding
...
For now it will only be used by the default get_buffer2 callback for
allocating hw frames.
2016-06-21 19:52:17 +02:00
Paul B Mahol
470cd0c5fe
Add TrueMotion 2.0 Real Time decoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-20 15:48:12 -04:00
Paul B Mahol
d78fd2fa21
Add MagicYUV decoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-20 15:45:51 -04:00
Anton Khirnov
90f469aa2b
lavc: add H.264 MVC profiles
2016-06-12 20:27:53 +02:00
Anton Khirnov
1c9e8616c5
hwcontext: add a function for opening devices
2016-05-26 15:40:32 +02:00
Diego Biurrun
e47b8bbf0b
avcodec: Bump micro version after changing public JPEG 2000 defines
2016-05-24 15:47:15 +02:00
Anton Khirnov
65dc7ca4c8
Add release notes for 12.
2016-05-19 13:44:41 +02:00
Martin Storsjö
db7968bff4
avio: Allow custom IO users to get labels for the output bytestream
...
This allows callers with avio write callbacks to get the bytestream
positions that correspond to keyframes, suitable for live streaming.
In the simplest form, a caller could expect that a header is written
to the bytestream during the avformat_write_header, and the data
output to the avio context during e.g. av_write_frame corresponds
exactly to the current packet passed in.
When combined with av_interleaved_write_frame, and with muxers that
do buffering (most muxers that do some sort of fragmenting or
clustering), the mapping from input data to bytestream positions
is nontrivial.
This allows callers to get directly information about what part
of the bytestream is what, without having to resort to assumptions
about the muxer behaviour.
One keyframe/fragment/block can still be split into multiple (if
they are larger than the aviocontext buffer), which would call
the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by
AVIO_DATA_MARKER_UNKNOWN for the second time it is called with
the following data.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-05-18 10:36:45 +03:00
Vittorio Giovara
0c4468dc18
stereo3d: Add API to get name from value or value from name
...
Use it in av_dump_format() instead of a huge switch case.
2016-05-17 12:25:27 -04:00
Anton Khirnov
c46db38cde
hwcontext: add a dxva2 implementation
2016-05-17 09:11:25 +02:00
Diego Biurrun
257f00ec1a
Split global .gitignore file into per-directory files
2016-05-13 14:55:56 +02:00
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Michael Niedermayer
564b4591bb
opt: Add av_opt_copy()
...
This includes documentation and other modifications by
Lukasz Marek and Martin Storsjö.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-03-24 10:34:15 +02:00
Martin Storsjö
933dec0e29
file: Add an option for following a file that is being written
...
Using this requires setting the rw_timeout option to make it
terminate, alternatively using the interrupt callback (if used via
the API).
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-03-24 10:33:59 +02:00
Andrey Utkin
ccea588f83
avio: Add an option 'rw_timeout'
...
If set non-zero, this limits duration of the retry_transfer_wrapper()
loop, thus affecting ffurl_read*(), ffurl_write(). As soon as
one single byte is successfully received/transmitted, the timer
restarts.
This has further changes by Michael Niedermayer and Martin Storsjö.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-03-24 10:33:50 +02:00
Anton Khirnov
8a02a8031e
lavfi: add an NVIDIA NPP-based scaling filter
2016-03-23 19:55:34 +01:00
wm4
05f66706d1
lavc: introduce a new decoding/encoding API with decoupled input/output
...
Until now, the decoding API was restricted to outputting 0 or 1 frames
per input packet. It also enforces a somewhat rigid dataflow in general.
This new API seeks to relax these restrictions by decoupling input and
output. Instead of doing a single call on each decode step, which may
consume the packet and may produce output, the new API requires the user
to send input first, and then ask for output.
For now, there are no codecs supporting this API. The API can work with
codecs using the old API, and most code added here is to make them
interoperate. The reverse is not possible, although for audio it might.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-23 19:31:23 +01:00
Diego Biurrun
48362ceade
doc: Update paths to match new examples location
2016-03-23 09:35:40 +01:00
Anton Khirnov
33d18982fa
lavc: add a new bitstream filtering API
...
Deprecate the current bitstream filtering API.
2016-03-20 08:15:01 +01:00
Mark Thompson
07a844f32e
lavfi: generic hardware surface upload and download filters
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-19 15:41:04 +01:00
Mark Thompson
551c6775ab
lavu: VAAPI hwcontext implementation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-19 15:40:22 +01:00
Mark Thompson
d264c720f7
lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPI
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-19 15:40:22 +01:00
Mark Thompson
b1f01e85a9
lavu: add a way to query hwcontext frame constraints
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-19 15:38:00 +01:00
Anton Khirnov
dc4983d78a
APIchanges: add missing hashes and dates
...
Also, remove a stray line (apparently fallout from conflict resolution).
2016-02-26 09:14:13 +01:00
Anton Khirnov
3e8fd93b6a
lavf: add a missing bump and APIchanges for the codecpar switch
2016-02-26 09:14:13 +01:00
Anton Khirnov
ac6d53589f
examples/transcode_aac: convert to codecpar
2016-02-24 10:08:34 +01:00
Anton Khirnov
a9e1f2cc61
examples/qsvdec: convert to codecpar
2016-02-24 10:08:30 +01:00
Anton Khirnov
9897d9f4e0
examples/output: convert to codecpar
2016-02-24 10:08:24 +01:00
Anton Khirnov
a8068346e4
lavc: add a variant of av_get_audio_frame_duration working with AVCodecParameters
2016-02-23 17:01:58 +01:00
Anton Khirnov
998e1b8f52
lavc: add codec parameters API
...
This API is intended to allow passing around codec parameters without
using full AVCodecContext (which also contains codec options and
encoder/decoder state).
2016-02-23 17:01:58 +01:00
Anton Khirnov
ec4c483976
lavf: add a protocol whitelist/blacklist for file opened internally
...
Should make the default behaviour safer for careless callers that open
random untrusted files.
Bug-Id: CVE-2016-1897
Bug-Id: CVE-2016-1898
2016-02-22 11:48:30 +01:00
Anton Khirnov
7b3214d005
lavc: add a field for passing AVHWFramesContext to encoders
2016-02-14 22:29:52 +01:00
Anton Khirnov
21f7cd4acd
lavfi: add a filter for uploading normal frames to CUDA
2016-02-14 22:25:38 +01:00
Anton Khirnov
b3dd30db0b
lavfi: pass the hw frames context through the filter chain
2016-02-14 22:21:00 +01:00
Anton Khirnov
ad884d1002
hwcontext: add a CUDA implementation
2016-02-14 22:08:33 +01:00
Anton Khirnov
7bc780cd44
pixfmt: add a CUDA hwaccelled format
2016-02-14 22:08:22 +01:00
Anton Khirnov
a001ce31bc
hwcontext: add a VDPAU implementation
2016-02-14 22:06:04 +01:00
Anton Khirnov
89923e418b
lavu: add a framework for handling hwaccel frames
2016-02-14 21:36:59 +01:00
Anton Khirnov
721a4efc05
buffer: add support for pools using caller data in allocation
...
This should allow using more complex allocators than simple malloc
wrappers.
2016-02-14 21:24:39 +01:00
Vicente Jimenez Aguilar
f428893c17
doc: Improve the channelsplit example
...
Expand LFE acronym (lfe.wav -> low_frecuency_effects.wav) as with others filenames
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-06 13:19:25 +01:00
Anton Khirnov
9f61abc811
lavf: allow custom IO for all files
...
Some (de)muxers open additional files beyond the main IO context.
Currently, they call avio_open() directly, which prevents the caller
from using custom IO for such streams.
This commit adds callbacks to AVFormatContext that default to
avio_open2()/avio_close(), but can be overridden by the caller. All
muxers and demuxers using AVIO are switched to using those callbacks
instead of calling avio_open()/avio_close() directly.
(de)muxers that use the URLProtocol layer directly instead of AVIO
remain unconverted for now. This should be fixed in later commits.
2016-01-24 16:45:32 +01:00
Luca Barbato
40d43d25e7
APIchanges: Add missing av_pix_fmt_get_chroma_sub_sample entry
2016-01-11 20:53:12 +01:00
Anton Khirnov
2c6811397b
lavc: add profiles to AVCodecDescriptor
...
The profiles are a property of the codec, so it makes sense to export
them through AVCodecDescriptors, not just the codec implementations.
2015-12-12 21:22:49 +01:00
Anton Khirnov
e02de9df4b
lavc: export Dirac parsing API used by the ogg demuxer as public
...
Also, stop using AVCodecContext for storing the stream parameters.
2015-12-06 10:28:04 +01:00
Anton Khirnov
f0b769c16d
lavc: add a packet side data type for VBV-like parameters
2015-12-06 10:23:45 +01:00
Anton Khirnov
84adab333c
lavc: add stream-global packet side data
...
This is similar to what is done for AVStream.
2015-12-06 10:22:43 +01:00
Anton Khirnov
31c51f7441
avpacket: add a function for wrapping existing data as side data
2015-12-06 10:22:18 +01:00
Mohamed Naufal
f023d57d35
lavc: G.723.1 encoder
...
Additional improvements by Michael Niedermayer <michaelni@gmx.at>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-11-30 10:58:46 -05:00
Luca Barbato
b0e8651a2a
doc: Amend the MSYS2 Documentation
...
Explain better which environment is discouraged and mention the
shortcuts names.
2015-11-26 10:55:35 +01:00