This option is extremely codec specific and only a few codecs employ it.
Move it to codec private options instead: mpegenc family supports only 3
values, xavs and x264 use 5, and xvid has a different metric entirely.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* commit '6d3081e6c374ff7da12b07ed33d1662be1b32dbc':
doc: Remove the now unnecessary remark about PATH and link.exe
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
The stats are a superset of the quality factor, also allowing the picture type and encoder "PSNR" stats to be exported
This also replaces the native by fixed little endian order for the affected side data
AV_PKT_DATA_QUALITY_FACTOR is left as a synonym of AV_PKT_DATA_QUALITY_STATS
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '219b39a71a5694b1c14a07b86477f665a5b6849b':
parseutil: Use non ambiguous aliases for uhd
Conflicts:
doc/ffmpeg.texi
libavutil/parseutils.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '5d3addb937946eca5391e40b5e6308e74ac6f77b':
Add a quality factor packet side data
Conflicts:
doc/APIchanges
ffmpeg.c
libavcodec/avcodec.h
libavcodec/mpegvideo_enc.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Decays and attacks where by default set only for first channel
which caused poor defaults to be used which produced clipping
on any higher channel.
Reported-by: lachs0r
Signed-off-by: Paul B Mahol <onemda@gmail.com>
* commit 'a9a2f3613040c4f90bf15cbd76f8671252ecc043':
doc: add a section about building with libmfx
Conflicts:
doc/general.texi
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '8fcd121b823caeadbe7597c9ae9229f6f164f949':
doc: Use the succinct syntax for the channelmap example
Conflicts:
doc/filters.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '832129431fd5c693b12c32a1563944c631feaf36':
lavu: Add version information for av_version_info()
Conflicts:
doc/APIchanges
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1316df7aa98c4784f190d107206d0bb12c590b89':
lavu: add an API function to return the Libav version string
Conflicts:
.gitignore
Makefile
cmdutils.c
doc/APIchanges
libavutil/avutil.h
libavutil/utils.c
See: f91126643a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This returns something like "v12_dev0-1332-g333a27c". This is much more
useful than the individual library versions, of which there are too
many, and which are very hard to map back to releases or git commits.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
This returns something like "N-73264-gb54ac84". This is much more useful
than the individual library versions, of which there are too much and
which are very hard to map back to releases or git commits.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ELS and ePIC decoder courtesy of Maxim Poliakovski,
cleanup and integration by Diego Biurrun.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This was suggested in the discussion about these functions
With this change the functions are available internally but are not
part of the public API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
the vp9 bitstream supports 8 values:
unknown (default), bt601, bt709, smpte170, smpte240, bt2020, reserved
and sRGB.
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
Also fix typo found by Lou Logan:
Sacrifying -> Sacrificing
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Added HLS encryption with -hls_key_info_file <key_info_file> option. The
first line of key_info_file specifies the key URI written to the
playlist. The key URL is used to access the encryption key during
playback. The second line specifies the path to the key file used to
obtain the key during the encryption process. The key file is read as a
single packed array of 16 octets in binary format. The optional third
line specifies the initialization vector (IV) as a hexadecimal string to
be used instead of the segment sequence number (default) for encryption.
Changes to key_info_file will result in segment encryption with the new
key/IV and an entry in the playlist for the new key URI/IV.
Key info file format:
<key URI>
<key file path>
<IV> (optional)
Example key URIs:
http://server/file.key
/path/to/file.key
file.key
Example key file paths:
file.key
/path/to/file.key
Example IV:
0123456789ABCDEF0123456789ABCDEF
Example:
ffmpeg -f lavfi -i testsrc -c:v h264 -hls_key_info_file file.keyinfo
foo.m3u8
file.keyinfo:
http://server/file.key
/path/to/file.key
0123456789ABCDEF0123456789ABCDEF
Example shell script:
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file file.keyinfo out.m3u8
--
Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is more robust.
And only check if there is actually a frame returned.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Neccessary -> Necessary
formated -> formatted
thee -> the
eventhough -> even though
seperately -> separately
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This is what FFmpeg / FFplay do and it is more robust
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* cigaes/master:
lavf/http: Add simple autodetection for client HTTP method, based on AVIO_FLAG_READ.
lavf/http: Indent else-clause.
lavf/http: Properly process HTTP header on listen.
lavf/http: Rudimentary error handling for HTTP requests received from clients.
lavf/http: Process HTTP header before sending response.
lavf/http: Document method option.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The header is not installed currently so the changes should not be in APIChanges
Found-by: Ronald S. Bultje and others
This reverts part of commit 19ed3e35a5.
New functions are added to fixed_dsp, so the documentation is changed
accordingly.
Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Previous version reviewed-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Previous version reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The option was added in commit d9ae1031f5
but it was never documented. The text is based on the one written by the
commit author for the corresponding AVFormatContext.max_interleave_delta
field.
Users have no means to find out from a failure how to make it work
or is it preferred to check and print a warning for h264 concat without auto_convert ?
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This function allows writing AVRationals as IEEE floats without the need
of platform dependant float operations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is useful for client programs to ask for nv12 surfaces instead of the
current default (uyvy), since those are more efficient to decode to.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This partly undoes 7b35a01.
The intent of patch 7b35a01 was to no longer use build_date and
build_time as attributes of programVersion, but the patch also had the
effect of making all records generated with an earlier ffprobe build with
build_date and build_time as invalid.
This patch puts the two attributes back but without mandating their use,
thus older ffprobe records as backwards compatible with the current
schema and their use is no longer required.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2':
avconv: Add an option for automatically rotating video according to display matrix
Conflicts:
Changelog
ffmpeg_opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e2d50fc2f5f3600e13055acf1a10fec35e941f37':
avplay: Add support for rotated video
Conflicts:
configure
doc/ffplay.texi
ffplay.c
See: 08c51e12b1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The option is enabled by default, but can be disabled.
If this is enabled, such side data isn't copied into the output stream
(except when doing stream copy).
Signed-off-by: Martin Storsjö <martin@martin.st>
This is enabled by default, but can be disbled via the -noautorotate
option.
Based on a patch by Clément Bœsch.
Signed-off-by: Martin Storsjö <martin@martin.st>
replace 'Refer to and to sync...' with a reference to the section that
discusses updated the source tree.
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Zern <jzern@google.com>
Some players do not support setting minimumUpdatePeriod to zero.
This patch adds a new parameter that will let the users set any
value to this field. Also updates the test and the documentation.
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
With this patch http can be used to listen for POST data to be used as an input stream.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This patch adds support for WebM Live Muxing by adding a new WebM
Chunk muxer. It writes out live WebM Chunks which can be used for
playback using Live DASH Clients.
Please see muxers.texi for sample usage.
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This patch adds support for creating DASH manifests for WebM Live
Streams. It also updates the documentation and adds a fate test to
verify the behavior of the new muxer flag.
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Additionally, update some documentation with support for APNG
Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* cehoyos/master:
lavc/h264_refs: Fix compilation with -DTRACE.
Fix make checkheaders if libmfx is not available.
lavf/gif: Add an option max_gif_delay to limit the frame duration.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In particular, add support for t, pos, n, r parameters, and add an eval
mode option.
Also, partially reword option documentation.
With several major edit by Stefano Sabatini.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
This is a variant of showwaves. It is implemented as a different filter
so that the user is not allowed to use meaningless options which belong
to showwaves (such as rate).
Major edits done by Stefano Sabatini, from a patch by ubitux.
See thread:
From: Clément Bœsch <u@pkh.me>
To: ffmpeg-devel@ffmpeg.org
Date: Wed, 24 Dec 2014 15:03:26 +0100
Subject: [FFmpeg-devel] [PATCH] avfilter/showwaves: add single_pic option
* commit 'cecf45b2bfbb85e9e59f355428fbd4d8cbc652a8':
doc: Add -list_formats all example for video4linux2
Conflicts:
doc/indevs.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b31328d008985f87f0a7c83c700847cef1a4f08c':
xcbgrab: Provide better names for the y and x option
Conflicts:
doc/indevs.texi
libavdevice/x11grab.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Incidentally `-y` also collides with avconv global options.
Update x11grab to match and document the option.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Update the filter option documentation text to link to ffmpeg-utils
documentation for video size syntax description.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* commit 'a982c5d74fbc7ff5bd2f2f73af61ae48e9b1bcc6':
tests: drop bc dependency
Conflicts:
tests/fate-run.sh
See: d47eeff274
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '31d2039cb42668ebcf08248bc48bbad44aa05f49':
h264_parser: export video format and dimensions
Conflicts:
libavcodec/h264_parser.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a':
pixfmt: add a pixel format for QSV hwaccel
Conflicts:
doc/APIchanges
libavutil/pixfmt.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The macro hell sometimes make it difficult to trace the source of
an error, so it is easier to analyze the preprocessed output.
This patch makes this automatical by specifying DBG=1 on the
command line: a file ffmpeg/dir/file.asm gets preprocessed to
builddir/dir/file.dbg.asm, which is then compiled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'faa8ffda2c513573733624784f0a7d0a4959d33e':
doc/APIchanges: fill in missing dates and hashes
Conflicts:
doc/APIchanges
See: c651a1aaec
See: 8c8ee17e8d and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is necessary, because avcodec_decode_video2 can change
width, height and/or pixel format of the AVCodecContext. Since
video_dst_data and video_dst_linesize are not updated by calling
av_image_alloc again, av_image_copy[_plane] asserts, because the
destination buffer is too small.
In this case, creating a useable rawvideo is not possible anyway, since
it has fixed width/height/pix_fmt.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This adds an option to set the service type in mpegts as defined in ETSI 300 468.
I added what I believe are the most useful service types as pre defined values,
the others can be sent by using their hexdecimal form directly (e.g. -mpegts_service_type digital_radio, -mpegts_service_type 0x07).
I've been using this patch in order to pipe internet radio stream (originally as HLS/m3u8) from ffmpeg to tvheadend,
when the service type set right tvheadend recognize the mpegts stream as a radio channel.
The patch in its original form was written by linuxstb from freenode's hts channel which allowed me pushing it upstream.
This close issue 4118.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Theis makes the build binary reproducible.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16':
ogg: Provide an option to offset the serial number
Conflicts:
libavformat/oggenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '728685f37ab333ca35980bd01766c78d197f784a':
Add a side data type for audio service type.
Conflicts:
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.h
libavutil/frame.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3a70c0c95feacb3844d05eebd579fc8189a77eee':
examples/transcode_aac: generate proper PTS and set the muxer timebase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '749a89d1b8bb73b4d4f14c48f33259a1300c1761':
examples/transcode_aac: properly select the output sample format
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* rdp/dshow_tv_tuner:
dshow: tweak logging
dshow: crossbar dialog was frequently being displayed twice, split up option so it can be just once
dshow: alert as to ramifications of switching crossbar routing
dshow: add properties dialog for tv tuners
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* rdp/dshow_crossbar:
dshow: fix docu escapes
dshow: some devices only list themselves under "Video sources" but actually have both video and audio output pins, so make the audio pins accessible by video source name.
dshow: add options for allowing filter popup configuration dialogs to be presented to the user
dshow: introduce support for crossbar [multiple input selectable] devices
dshow: drop initial audio packets with weird timestamps
dshow: use non deprecated api
dshow: miscellaneous tweaks
dshow: allow selecting devices by an alternative name (workaround for devices with symbols in them), allow specifying capture pins by name and alternative (unique) name
Merged-by: Michael Niedermayer <michaelni@gmx.at>
It's better to steer users at these, since they are both better
and more alive than the mingw.org versions.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
It's better to steer users at these, since they are both better
and more alive than the mingw.org versions.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
also add deprecation note for avcodec_get_pix_fmt_loss(), avcodec_find_best_pix_fmt_of_2()
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Move the lavc/imgconvert functions and rename them as follows:
avpicture_get_size -> av_image_get_buffer_size()
avpicture_fill -> av_image_fill_arrays()
avpicture_layout -> av_image_copy_to_buffer()
The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).
The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).
A redundant check has been dropped from av_image_fill_arrays().
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
The only difference with mp=pp7 is that default mode is "medium", as stated
in the MPlayer docs, rather than "hard".
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>