1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

110177 Commits

Author SHA1 Message Date
Devin Heitmueller
25d09ac0eb avdevice/decklink_enc: fix setting of last_pts to only be set for video
The ff_decklink_write_packet() was always caching the last pts
received, to be used when calling StopScheduledPlayback(). However
because audio and video are on different timebases and the call to
StopScheduledPlayback() expects the video timebase, we'll end up
sending a weird value to the stop routine if the last packet
received contained audio.

Move the setting of last_pts to just be for the video stream.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-08 23:53:19 +01:00
Devin Heitmueller
8fd345f018 avdevice/decklink_enc: don't take for granted that first frame to decklink output will be PTS 0
The existing code assumed that the first frame received by the decklink
output would always be PTS zero.  However if running in other timing
modes than the default of CBR, items such as frame dropping at the
beginning may result in starting at a non-zero PTS.

For example, in our setup because we discard probing data and run
with "-vsync 2" the first video frame scheduled to the decklink
output will have a PTS around 170.  Scheduling frames too far into
the future will either fail or cause a backlog of frames scheduled
far enough into the future that the entire pipeline will stall.

Issue can be reproduced with the following command-line:

./ffmpeg -copyts -i foo.ts -f decklink -vcodec v210 -ac 2  'DeckLink Duo (4)'

Keep track of the PTS of the first frame received, so that when
we enable start playback we can provide that value to the decklink
driver.

Thanks to Marton Balint for review and suggestion to use
AV_NOPTS_VALUE rather than zero for the initial value.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-08 23:53:15 +01:00
Michael J. Walsh
6f1c006959 avformat/http: cookie path attribute should be optional not compulsory
The path attribute in the Set-Cookie header is optional but treated by ffmpeg as being compulsory.

Signed-off-by: Michael J. Walsh <mjfwalsh@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-08 23:40:58 +01:00
jackarain
4e3916dbce avformat/tls: check for memory allocation failure when setting options
Signed-off-by: jackarain <jack.wgm@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-08 23:19:15 +01:00
jackarain
05ea0457fc avformat/udp: check for memory allocation failure when setting localaddr
Signed-off-by: jackarain <jack.wgm@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-08 23:14:09 +01:00
rcombs
f758d4fcb9 lavf/matroska: add support for ARIB captions 2023-03-08 14:57:54 -06:00
James Almer
7dc0944ce2 avcodec/libdav1d: reindent after previous commit
Signed-off-by: James Almer <jamrial@gmail.com>
2023-03-08 12:44:37 -03:00
James Almer
b465e6fed0 avcodec/libdav1d: export Dynamic HDR10+ frame metadata
As defined in https://aomediacodec.github.io/av1-hdr10plus/

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2023-03-08 12:44:27 -03:00
Kacper Michajłow
cc76e8340d lavu/vulkan: fix handle type for 32-bit targets
Fixes compilation with clang which errors out on Wint-conversion.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-03-07 22:55:07 +02:00
Martin Storsjö
f9620d74cd vulkan: Fix win/i386 calling convention
This fixes the following error when compiling with a modern
version of Clang for Windows/i386:

src/libavutil/hwcontext_vulkan.c:738:32: error: incompatible function pointer types initializing 'PFN_vkDebugUtilsMessengerCallbackEXT' (aka 'unsigned int (*)(enum VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned int, const struct VkDebugUtilsMessengerCallbackDataEXT *, void *) __attribute__((stdcall))') with an expression of type 'VkBool32 (VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT *, void *)' (aka 'unsigned int (enum VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned int, const struct VkDebugUtilsMessengerCallbackDataEXT *, void *)') [-Wincompatible-function-pointer-types]
            .pfnUserCallback = vk_dbg_callback,
                               ^~~~~~~~~~~~~~~

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-03-07 18:16:02 +02:00
xufuji456
b10eabdab3 codec/arm/hevcdsp_idct_neon: remove duplicate mov
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-03-07 14:31:08 +02:00
James Darnley
e50a02b0f6 tests: actually test yadif's 10 and 16-bit functions 2023-03-06 21:41:24 +01:00
James Almer
2fd86d9afa avfilter/graphparser: fix filter instance name when an id is provided
Restores the behavior of naming the instance filter@id, which was accidentally changed
to simpy id in commit f17051eaae.

Fixes ticket #10226.

Signed-off-by: James Almer <jamrial@gmail.com>
2023-03-06 08:42:18 -03:00
Jan Ekström
912ac82a3c avformat/mov: base pcmC endianness on just the LSB
As per 23003-5:2020, the rest of the bits are reserved, and thus
in the future they may be utilized for something else.

Quote:
format_flags is a field of flags that modify the default PCM sample format.
Undefined flags are reserved and shall be zero. The following flag is defined:
  0x01 indicates little-endian format. If not present, big-endian format is used.
2023-03-05 23:58:04 +02:00
Jan Ekström
adca877acb avformat/mov: check that pcmC box is of the expected type
As per 23003-5:2020 this box is defined as
PCMConfig extends FullBox(‘pcmC’, version = 0, 0), which means
that version is 0 and flags should be zero.
2023-03-05 23:48:32 +02:00
Stefano Sabatini
ad17e29224 lavfi/buffersrc: issue more specific error in case of invalid parameters 2023-03-05 12:21:45 +01:00
Nicolas Gaullier
3153c441e1 avcodec/ac3: Remove unused fields
Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2023-03-02 21:32:00 +01:00
Anton Khirnov
432adca5fe lavc: disable an obsolete hack for real video
AVCodecContext.slice_{count,offset} are unneeded since 2007, commit
383b123ed3 and following. Deprecate those
fields.
2023-03-02 21:32:00 +01:00
Werner Robitza
79b40ff58c doc/filters: update SITI description
The filter implements the 'legacy' version from a superseded recommendation.
2023-03-02 18:59:37 +01:00
Marth64
373ef1c4fa
avcodec/version: bump minor version to accommodate spatial audio detection
Signed-off-by: Marth64 <marth64@proxyid.net>
2023-03-02 13:49:04 +01:00
Marth64
98a4699216
avcodec/dca_xll: add detection of DTS:X and DTS:X IMAX
Signed-off-by: Marth64 <marth64@proxyid.net>
2023-03-02 13:46:04 +01:00
Marth64
96ed043afa
avcodec/mlpdec: add detection of Atmos spatial extension profile in TrueHD
Signed-off-by: Marth64 <marth64@proxyid.net>
2023-03-02 13:45:59 +01:00
Marth64
a4e5b94633
avcodec/eac3dec: add detection of Atmos spatial extension profile
Signed-off-by: Marth64 <marth64@proxyid.net>
2023-03-02 13:45:51 +01:00
Zhao Zhili
814178f926 avcodec/aacps_tablegen: fix build error after avutil bump
Fix tickets #10225

DECLARE_ALIGNED has been moved to mem_internal.h.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Reviewed-by: Anton Khirnov <anton@khirnov.net>
2023-03-02 15:13:38 +08:00
James Almer
52a0852ae6 libavcodec/libvpxenc: move libvpx-vp9 init_static_data function to the only place it's used
Signed-off-by: James Almer <jamrial@gmail.com>
2023-03-01 19:07:08 -03:00
James Almer
8d226fb978 avcodec/libvpxdec: remove unnecessary init_static_data function
It's used only by the encoder.

Reviewed-by: James Zern <jzern@google.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2023-03-01 19:06:25 -03:00
James Almer
de133eaaba avcodec/pthread_frame: remove forgotten deprecation warning wrappers
Missed in e0786a8e.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2023-03-01 19:05:39 -03:00
Michael Niedermayer
011f30fc82
Use https for repository links
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-03-01 21:59:10 +01:00
JonHGee
e026e29460 libavcodec/libfdk-aacenc: send encoder delay/padding in packet side data
Signed-off-by: JonHGee <JonHGee@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-03-01 10:13:26 +02:00
Martin Storsjö
083dde57e2 doc: Fix building community.html from the new community.texi
In texi source, @ characters need to be escaped.

This fixes the following build errors:

community.texi:59: unknown command `ffmpeg'
community.texi:143: unknown command `ffmpeg'

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-03-01 09:42:09 +02:00
Thilo Borgmann
6709e468f6 doc: Merge doc/dev_community/* and Code of Conduct into a seperate file
Remove doc/dev_communit markup files completely as they are at the wrong place.
Create a new community page, merging all of doc/dev_community and subsection Code of Conduct into a common place.
The corresponding patch to ffmpeg-web puts the Organisation & Code of Conduct into a seperate community chapter on the FFmpeg website.
2023-03-01 00:30:59 +01:00
Nicolas George
9a0d202118 doc/dev_community: add the addresses of the committees
Omitting the .org from the address should be protection enough
against spam spiders.

Signed-off-by: Nicolas George <george@nsup.org>
2023-03-01 00:30:59 +01:00
Jun Zhao
a0a0a80499 fftools/ffmpeg_filter: initialize the 'o' to silence the warning
silence the warning: variable 'o' is used uninitialized whenever
'&&' condition is false

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2023-03-01 06:49:13 +08:00
JonHGee
3ff4a3d2ec libavcodec/libfdk-aacenc: Enable writing DRC metadata
Signed-off-by: JonHGee <JonHGee@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-03-01 00:15:33 +02:00
Stefano Sabatini
f88a4cb5e0 doc/ffmpeg: extend documentation for -dts_delta_threshold and -dts_error_threshold
PR: https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=8252
2023-02-28 22:26:28 +01:00
Stefano Sabatini
9998c31044 ffmpeg_demux: show fixed timestamps in ts_fixup
Help debugging.
2023-02-28 22:24:56 +01:00
Leo Izen
fadfa147f8
avcodec/pngdec: read colorspace info when decoding with AVDISCARD_ALL
These chunks are lightweight and it's useful information to have when
running ffmpeg -i or ffprobe, for example.
2023-02-28 14:45:01 -05:00
Zhao Zhili
21101d9eb1 avcodec/nvenc: fix potential NULL pointer dereference
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2023-02-28 19:16:52 +01:00
xufuji456
67fd1b79e7 libavcodec/hevc: remove duplicate semicolon in hevcdsp_init_neon
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-02-28 15:24:41 +02:00
xufuji456
05438db024 libavcodec/hevc: reuse scale_store on idct32x32_neon
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-02-28 13:29:25 +02:00
xufuji456
4b4de07721 libavcodec/hevc: add hevc idct4x4 neon of aarch64
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-02-28 13:12:52 +02:00
Martin Storsjö
ec7fa13eb0 aarch64: hevcdsp_idct: Reuse preexisting macros for transposes
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-02-28 11:48:54 +02:00
Steven Liu
891ed24f77 avformat/hlsenc: hls_init_time should used in living stream mode
When hls_init_time should available when hls_list_size > 0.
Because the list will not refresh new top line segment when hls_list_size is 0

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2023-02-27 14:00:30 +08:00
Fei Wang
15992a040d lavu/hwcontext_vaapi: sync surface before export its DRM handle
According to description of vaExportSurfaceHandle in libva, vaSyncSurface
must be called if the contents of the surface will be read.

Fixes ticket #9967.

Reviewed-by: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2023-02-27 13:42:06 +08:00
Wenbin Chen
0825b461e6 libavcodec/qsvenc: Enable 444 encoding for RGB input
MSDK/VPL uses 420 chroma format as default to encode RGB, and this is
not a proper usage. Now enable 444 encoding for RGB input by default.
When main profile is used, RGB input is still encoded in 420 format.

Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
2023-02-27 13:42:06 +08:00
Linjie Fu
6489e0679d lavc/vaapi_hevc: Loose the restricts for SCC decoding
Allow current picture as the reference picture.

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2023-02-27 13:42:06 +08:00
Linjie Fu
b7104243ff lavc/vaapi_hevc: Set correct rps type for scc
According to 8.1.3 and 8.3.2.

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2023-02-27 13:42:06 +08:00
Linjie Fu
fb1998f508 lavc/vaapi_hevc: Add vaapi profile parse support for SCC
Note that Screen-Extended Main 4:4:4 and 4:4:4 10 supports
chroma_format_idc from 0, 1 or 3, hence both 420 and 444 are
supported.

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2023-02-27 13:42:06 +08:00
Linjie Fu
7373bb24f7 lavc/vaapi_hevc: Pass SCC parameters Through VA-API
Including sps/pps/slice parameters.

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2023-02-27 13:42:06 +08:00
Linjie Fu
09c656d9c4 lavc/hevc: Update reference list for SCC
Screen Content Coding allows non-intra slice in an IRAP frame which can
reference the frame itself, and would mark the current decoded picture
as "used for long-term reference", no matter TwoVersionsOfCurrDecPicFlag(8.1.3),
hence some previous restricts are not suitable any more.

Constructe RefPicListTemp and RefPicList according to 8-8/9/10. Disable
slice decoding for SCC profile to avoid unexpected error in hevc native
decoder and patch welcome.

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2023-02-27 13:42:06 +08:00