- 14 Jun, 2017 4 commits
-
-
Mark Thompson authored
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 e669db76)
-
Mark Thompson authored
(cherry picked from commit aa6b2e08)
-
Mark Thompson authored
(cherry picked from commit 62a1ef9f)
-
Mark Thompson authored
Not yet enabled for any hwaccels. (cherry picked from commit d2e6dd32) (cherry picked from commit 9203aac2)
-
- 24 May, 2017 1 commit
-
-
James Almer authored
The offending bitstream filter was fixed, so this is no longer needed. Signed-off-by:
James Almer <jamrial@gmail.com>
-
- 10 May, 2017 1 commit
-
-
erankor authored
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>
-
- 04 May, 2017 1 commit
-
-
wm4 authored
Fixes e.g.: ffmpeg -f lavfi -i testsrc -f lavfi -i testsrc -filter_complex "[0:v][1:v]psnr[out]" -f null none
-
- 27 Mar, 2017 1 commit
-
-
wm4 authored
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>
-
- 03 Mar, 2017 5 commits
-
-
wm4 authored
If a subtitle packet came before the first video frame could be fully decoded, the subtitle packet would get discarded. This puts the subtitle into a queue instead, and processes it once the attached filter graph is initialized.
-
Timo Rothenpieler authored
-
Anton Khirnov authored
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 a3a0230a This merges Libav commit 94ebf556. 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>
-
Anton Khirnov authored
This makes sure the actual stream parameters are used, which is important mainly for hardware decoding+filtering cases, which would previously require various weird workarounds to handle the fact that a fake software graph has to be constructed, but never used. This should also improve behaviour in rare cases where avformat_find_stream_info() does not provide accurate information. This merges Libav commit a3a0230a. It was previously skipped. The code in flush_encoders() which sets up a "fake" format wasn't in Libav. I'm not sure if it's a good idea, but it tends to give behavior closer to the old one in certain corner cases. The vp8-size-change gives different result, because now the size of the first frame is used. libavformat reported the size of the largest frame for some reason. The exr tests now use the sample aspect ratio of the first frame. For some reason libavformat determines 0/1 as aspect ratio, while the decoder returns the correct one. The ffm and mxf tests change the field_order values. I'm assuming another libavformat/decoding mismatch. Signed-off-by:
wm4 <nfxjfg@googlemail.com>
-
Anton Khirnov authored
This will be useful in the following commit, after which the muxer timebase is not always available when encoding. This merges Libav commit 3e265ca5. It was previously skipped. There are some changes with how/when the mux_timebase field is set, because the Libav approach often causes a too imprecise time base to be set. This is hard, because the muxer's write_header function can readjust the timebase, at which point we might already have encoded packets buffered. (It might be better to buffer them after the encoder, instead of after all the timestamp handling logic before muxing.) The two FATE tests change because the output time base is raised for subtitles. (Needed to avoid certain rounding issues in other cases.) Includes a minor merge fix by Mark Thompson, and avconv: Move rescale to stream timebase before monotonisation also by Mark Thompson <sw@jkqxz.net>. Signed-off-by:
wm4 <nfxjfg@googlemail.com>
-
- 25 Jan, 2017 1 commit
-
-
Sasi Inguva authored
Signed-off-by:
Sasi Inguva <isasi@google.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 14 Jan, 2017 1 commit
-
-
Michael Bradshaw authored
Signed-off-by:
Michael Bradshaw <mjbshaw@google.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 11 Jan, 2017 1 commit
-
-
Zhengxu authored
Reason: For some cases, such as 2 or more graphics cards existing, the default command line may fail because ffmpeg does not open the correct device node: ffmpeg -hwaccel qsv -c:v h264_qsv -i test.264 -c:v h264_qsv out.264 Let user choose the proper one by running like below: ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv \ -i test.264 -c:v h264_qsv out.264 Signed-off-by:
ChaoX A Liu <chaox.a.liu@gmail.com> Signed-off-by:
Huang, Zhengxu <zhengxu.maxwell@gmail.com> Signed-off-by:
Andrew, Zhang <huazh407@gmail.com> Signed-off-by:
Mark Thompson <sw@jkqxz.net>
-
- 06 Nov, 2016 1 commit
-
-
DeHackEd authored
Enables specifying how many threads are available to each filtergraph. Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 07 Oct, 2016 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 01 Oct, 2016 2 commits
-
-
wm4 authored
This is a bit messy, mainly due to timestamp handling. decode_video() relied on the fact that it could set dts on a flush/drain packet. This is not possible with the old API, and won't be. (I think doing this was very questionable with the old API. Flush packets should not contain any information; they just cause a FIFO to be emptied.) This is replaced with checking the best_effort_timestamp for AV_NOPTS_VALUE, and using the suggested DTS in the drain case. The modified tests (fate-cavs and others) still fails due to dropping the last frame. This happens because the timestamp of the last frame goes backwards (ffprobe -show_frames shows the same thing). I suspect that this "worked" due to the best effort timestamp logic picking the DTS over the decreasing PTS. Since this logic is in libavcodec (where it probably shouldn't be), this can't be easily fixed. The timestamps of the cavs samples are weird anyway, so I chose not to fix it. Another strange thing is the timestamp handling in the video path of process_input_packet (after the decode_video() call). It looks like the code to increase next_dts and next_pts should be run every time a frame is decoded - but it's needed even if output is skipped.
-
wm4 authored
With the new decode API, doing this in ffmpeg.c is impractical. There was resistance against removing the warning, so put it into libavcodec. Not bothering with reducing the warning to verbose log level for subsequent wanrings. The warning should be rare, and only happen when developing new codecs for the old API. Includes a change suggested by Michael Niedermayer.
-
- 27 Sep, 2016 1 commit
-
-
James Almer authored
This commit is based on commit 35c85806 from Anton Khirnov <anton@khirnov.net> which was skipped in b8945c4e. The avcodec_copy_context() call in the encode path is left in place for now as AVStream.codec is apparently still required even after porting ffmpeg to the new bsf API. Tested-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
James Almer <jamrial@gmail.com>
-
- 24 Sep, 2016 1 commit
-
-
Clément Bœsch authored
This commit is initially largely based on commit 4426540f from Anton Khirnov <anton@khirnov.net> and two following fixes (80fb19bc and fe7b21c8) which were previously skipped respectively in 98e3153f, c9ee36e6, and 7fe7cdca. mpeg4-bsf-unpack-bframes FATE reference is updated because the bsf filter now actually fixes the extradata (mpeg4_unpack_bframes_init() changing one byte is now honored on the output extradata). The FATE references for remove_extra change because the packet flags were wrong and the keyframes weren't marked, causing the bsf relying on these proprieties to not actually work as intended. The following was fixed by James Almer: The filter option arguments are now also parsed correctly. A hack to propagate extradata changed by bitstream filters after the first av_bsf_receive_packet() call is added to maintain the current behavior. This was previously done by av_bitstream_filter_filter() and is needed for the aac_adtstoasc bsf. The exit_on_error was not being checked anymore, and led to an exit error in the last frame of h264_mp4toannexb test. Restoring this behaviour prevents erroring out. The test is still changed as a result due to the badly filtered frame now not being written after the failure. Signed-off-by:
Clément Bœsch <u@pkh.me> Signed-off-by:
James Almer <jamrial@gmail.com>
-
- 21 Sep, 2016 1 commit
-
-
Clément Bœsch authored
This commit is largely based on commit 15e84ed3 from Anton Khirnov <anton@khirnov.net> which was previously skipped in bbf5ef9d. There are still a bunch of things raising codecpar related warnings that need fixing, such as: - the use of codec->debug in the interactive debug mode - read_ffserver_streams(): it's probably broken now but there is no test - lowres stuff - codec copy apparently required by bitstream filters The matroska references are updated because they now properly forward the field_order (previously unknown, now progressive). Thanks to James Almer for fixing a bunch of FATE issues in this commit. Signed-off-by:
Clément Bœsch <clement@stupeflix.com> Signed-off-by:
James Almer <jamrial@gmail.com>
-
- 10 Jun, 2016 1 commit
-
-
Timo Rothenpieler authored
-
- 28 Dec, 2015 1 commit
-
-
Rodger Combs authored
-
- 11 Dec, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 16 Nov, 2015 1 commit
-
-
Bryan Huh authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 11 Nov, 2015 1 commit
-
-
Michael Niedermayer authored
a set ost->frame_rate does not imply CFR in ffmpeg The changed fate tests had all wrong packet durations (like 1/1000 or 1/90000) There might be more cases in which is_cfr could be set Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 22 Oct, 2015 2 commits
-
-
Marton Balint authored
Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Marton Balint <cus@passwd.hu>
-
Marton Balint authored
How this passed through the commit hook? Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Marton Balint <cus@passwd.hu>
-
- 08 Aug, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 03 Aug, 2015 1 commit
-
-
Sebastien Zwickert authored
-
- 29 Jul, 2015 1 commit
-
-
Michael Niedermayer authored
Fixes Ticket227 Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 28 Jul, 2015 2 commits
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 17 May, 2015 1 commit
-
-
Michael Niedermayer authored
Fixes Ticket4560 Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
- 20 Apr, 2015 1 commit
-
-
wm4 authored
Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
- 03 Apr, 2015 1 commit
-
-
Michael Niedermayer authored
This improves the last frames duration with CFR and when the input durations are inaccurate or missing Fixes Ticket4119 Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-
- 26 Feb, 2015 1 commit
-
-
Nicolas George authored
-
- 04 Feb, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michaelni@gmx.at>
-