| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
select d3d11va/DX11 device type
UPD: Rebase of last patch set over current master and use DX9 as default device type.
Makes selection of dxva2/DX9 device type by default as before with explicit d3d11va/DX11 usage to cover more HW configurations.
Added warning message to expect changing default device type in the future.
Fixes TGL / AV1 decode as requires DX11 with explicit DX11 type
selection.
Add headless/multi adapter support and fixes:
https://trac.ffmpeg.org/ticket/7511
https://trac.ffmpeg.org/ticket/6827
http://ffmpeg.org/pipermail/ffmpeg-trac/2017-November/041901.html
https://trac.ffmpeg.org/ticket/7933
https://github.com/InitialForce/FFmpeg/commit/338fbcd5bba1de0e1b3e3bad8985eee2fdfbeca1
https://github.com/jellyfin/jellyfin/issues/2626#issuecomment-602153952
Any other fixes are welcome including OpenCL interop patch since I don't have proper setup to validate this use case
Decoding, encoding, transcoding have been validated.
child_device_type option is responsible for d3d11va/dxva2 device selection
Usage examples:
DirectX 11:
-init_hw_device qsv:hw,child_device_type=d3d11va
-init_hw_device qsv:hw,child_device_type=d3d11va,child_device=0
OR
-init_hw_device d3d11va=dx -init_hw_device qsv@dx
DirectX 9 is still supported but requires explicit selection:
-init_hw_device qsv:hw,child_device_type=dxva2
OR
-init_hw_device dxva2=dx -init_hw_device qsv@dx
Signed-off-by: Artem Galin <artem.galin@intel.com>
|
|
|
|
|
|
|
| |
Allows to read inputs at arbitrary rates.
-re is equivalent to -readrate 1
Tested with -copyts {+ start_at_zero}, -ss, streamcopied & decoded streams.
|
|
|
|
| |
Suggested-By: ffmpeg@fb.com
|
|
|
|
|
| |
Allows forcing decoders of different media type.
Needed to decode media data muxed as data streams.
|
| |
|
|
|
|
| |
Fixes #8204
|
| |
|
|
|
|
| |
Useful when encoding in batch or with aberrant inputs.
|
| |
|
| |
|
|
|
|
|
| |
Added in 88fc1438c69, this passage was separated from its original
context over the years with unrelated entries sandwiched in between.
|
| |
|
|
|
|
|
|
|
|
|
| |
At present, progress stats are updated at a hardcoded interval of
half a second. For long processes, this can lead to bloated
logs and progress reports.
Users can now set a custom period using option -stats_period
Default is kept at 0.5 seconds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way the old max queue size limit based behavior for streams
where each individual packet is large is kept, while for smaller
streams more packets can be buffered (current default is at 50
megabytes per stream).
For some explanation, by default ffmpeg copies packets from before
the appointed seek point/start time and puts them into the local
muxing queue. Before, it getting utilized was much less likely
since as soon as the filter chain was initialized, the encoder
(and thus output stream) was also initialized.
Now, since we will be pushing the encoder initialization to when the
first AVFrame is decoded and filtered - which only happens after
the exact seek point is hit as packets are ignored until then -
this queue will be seeing much more usage.
In more layman's terms, this attempts to fix cases such as where:
- seek point ends up being 5 seconds before requested time.
- audio is set to copy, and thus immediately begins filling the
muxing queue.
- video is being encoded, and thus all received packets are skipped
until the requested time is hit.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Threaded input can increase smoothness of e.g. x11grab significantly. Before
this patch, in order to activate threaded input the user had to specify a
"dummy" additional input, with this change it is no longer required.
Signed-off-by: Marton Balint <cus@passwd.hu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, ffmpeg inserts scale filter by default in the filter graph
to force the whole decoded stream to scale into the same size with the
first frame. It's not quite make sense in resolution changing cases if
user wants the rawvideo without any scale.
Using autoscale/noautoscale as an output option to indicate whether auto
inserting the scale filter in the filter graph:
-noautoscale or -autoscale 0:
disable the default auto scale filter inserting.
ffmpeg -y -i input.mp4 out1.yuv -noautoscale out2.yuv -autoscale 0 out3.yuv
Update docs.
Suggested-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
|
|
|
|
|
|
|
|
|
| |
The "-deinterlace" was deprecated since d7edd35, over eight years
ago.
Refer to deinterlacing filters instead.
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
|
|
|
|
|
|
| |
which received no packets
Signed-off-by: Marton Balint <cus@passwd.hu>
|
|
|
|
|
|
| |
Also documents all options supported by the hwdevice.
This lets users enable all extensions they need without writing their own
instance initialization code.
|
| |
|
|
|
|
| |
Also clarify behaviour in case of specified timestamps
|
|
|
|
|
| |
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
|
|
| |
Document dts_error_threshold option.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
|
|
|
|
| |
Signed-off-by: Aman Gupta <aman@tmm1.net>
|
|
|
|
| |
Option doesn't exist .. hasn't for a few years now.
|
| |
|
|
|
|
|
| |
Discarding all frames is universally supported as it happens in fftools
whereas selective discarding relies on the demuxer.
|
|
|
|
| |
-vn/-an/-sn/-dn can now be used to block input streams from a file.
|
| |
|
|
|
|
| |
Flesh out with details and examples to show quirks and limitations.
|
| |
|
|
|
|
| |
Thumbnail example added. Avoid transcoding in older examples.
|
|
|
|
| |
-benchmark and -benchmark_all now show real, system and user time
|
|
|
|
|
|
|
|
| |
Also mention -map in the -vn, -an, and -sn options.
Fixes #7036.
Signed-off-by: Lou Logan <lou@lrcd.com>
|
|
|
|
| |
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two FAQs about running FFmpeg in the background.
The first explains the use of the -nostdin option in
a straightforward way. Text revised based on review.
The second FAQ starts from a confusing error message,
and leads to the solution, use of the -nostdin option.
The purpose of the second FAQ is to attract web searches
from people having the problem, and offer them a solution.
Add an anchor to the Main Options section of the ffmpeg
documentation, so that the FAQs can link directly there.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some strange reason "-t" option was only implemented
for input files while both "-t" and "-to" were available
for use for output files. This made extracting a range from
input file inconvenient.
This patch enables -to option for input so one can do
ffmpeg -ss 1:23:20 -to 1:27:22.3 -i myinput.mkv ...
Signed-off-by: Vitaly _Vi Shukela <vi0oss@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
|
|
| |
and (de/en)coder
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
|
| |
Deprecated (aka removed) in OSX 10.11, and we have a replacement for it
(VideoToolbox).
|
|
|
|
|
|
|
| |
"apix_fmts" found by Marc Péchaud.
"speedloss" found by Mikhail V.
Signed-off-by: Lou Logan <lou@lrcd.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The -map option allows for a trailing ? so that an error is not thrown if
the input stream does not exist.
This capability is extended to the map_channel option.
This allows a ffmpeg command not to break if an input channel does not
exist, which can be of use (for instance, scripts processing audio
channels with sources having unset number of audio channels).
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
|
|
|
|
| |
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 e669db76108de8d7a36c2274c99da82cc94d1dd1)
|
|
|
|
| |
(cherry picked from commit 303fadf5963e01b8edf4ba2701e45f7e9e586aeb)
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| |
| |
| |
| | |
This feature was added in 2375a85c36c4941042e6ee58a31d6560bde91d37.
Signed-off-by: Lou Logan <lou@lrcd.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Mulvya <mulvya@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|