1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00
Commit Graph

43396 Commits

Author SHA1 Message Date
Jan Ekström
d6f293353c avcodec/aacdec_template: add more checks to make sure only 22.2 gets to 22.2
Validates the set channel layout as well as verifies that the received
layout to the function matches the reference layout, so that it matches
the implemented re-ordering logic.

Fixes #8845
2020-08-25 00:07:07 +03:00
Jan Ekström
de1d6aa0a3 avcodec/aacdec_template: keep tabs on layout in sniff_channel_order
This way the layout set at various points can be checked instead
of only having the layout at the end.
2020-08-25 00:06:53 +03:00
James Almer
c8716b5029 avcodec/av1_parser: read frame properties directly from AV1RawFrameHeader
Simplifies code

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-23 20:54:15 -03:00
James Almer
6c20207dce avcodec/cbs_av1: infer frame_type when parsing a show_existing_frame frame
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-23 20:53:58 -03:00
James Almer
f1e92ee36b avcodec/cbs_av1: infer frame sizes when not coded in the bitstream
This makes them available for all frames within a Temporal Unit.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-23 20:37:12 -03:00
Mark Thompson
b567cb8d0b cbs_av1: Fix test for presence of buffer_removal_time element
The frame must be in both the spatial and temporal layers for the
operating point, not just one of them.
2020-08-23 18:43:58 +01:00
Andriy Gelman
58b8541330 avcodec/v4l2_m2m_enc: reindent after previous commit
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2020-08-23 13:42:07 -04:00
Andriy Gelman
8bc7f69cef avcodec/v4l2_m2m_enc: buffer frame if it cannot be enqueued
Currently if the frame buffers are full, the frame is unrefed and
dropped.  Instead buffer the frame so that it is enqueued in the
next v4l2_receive_packet() call.  The behavior was observed on
DragonBoard 410c.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2020-08-23 13:42:07 -04:00
James Almer
994d2567f1 avcodec/cbs_av1: always store temporal_id and spatial_id in CodedBitstreamAV1Context
Also infer them when not coded in the bitstream.

Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-23 14:34:32 -03:00
James Almer
751f2a27f7 avcodec/cbs_av1: fix storage size for render_{width,height}_minus_1
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-23 12:20:44 -03:00
Paul B Mahol
568b7b2777 avcodec/gif: fix disposal method for first frame and transparent gifs
Fixes #7902
2020-08-23 16:21:56 +02:00
Paul B Mahol
1c3a3a4ec6 avcodec/notchlc: add initial alpha support 2020-08-23 16:21:56 +02:00
Clément Bœsch
a469d29c08 avcodec/dvbsubdec: error out on unsupported coding methods 2020-08-22 19:02:01 +02:00
Clément Bœsch
b0f96f663c avcodec/dvbsubdec: request samples for missing coding methods 2020-08-22 19:02:01 +02:00
Clément Bœsch
eb4d220ae1 avcodec/dvbsubenc: fix onject/object typo 2020-08-22 19:02:01 +02:00
Clément Bœsch
80d2a33d83 avcodec/dvbsubenc: reindent after previous commit 2020-08-22 19:02:01 +02:00
Clément Bœsch
5fc075d53e avcodec/dvbsubenc: merge rectangle encode code blocks 2020-08-22 19:02:01 +02:00
Clément Bœsch
4dbd055d5a avcodec/dvbsub: add "enc" suffix to encoder 2020-08-22 19:02:01 +02:00
Clément Bœsch
346309a795 avcodec/dvbsub: remove useless indirection in dvbsub_encode. 2020-08-22 19:02:01 +02:00
Andreas Rheinhardt
01a580f141 avcodec/rzpaenc: Remove set-but-unused variable
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-22 09:23:30 +02:00
Derek Buitenhuis
3fc3d712a9 avcodec/libaomdec: Set SAR based on RenderWidth and RenderHeight
This is the same thing we do in libdav1d.c

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2020-08-21 23:58:10 +01:00
Michael Bradshaw
b97eb35308 avcodec/proresenc: infer array lengths
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
2020-08-21 15:43:52 -07:00
Paul B Mahol
6158029dfc avcodec: add RPZA encoder 2020-08-21 22:46:07 +02:00
Michael Bradshaw
b30f737f7a avcodec/proresenc: add support for PQ and HLG
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
2020-08-21 11:09:11 -07:00
Paul B Mahol
d2206f0c5b avcodec/qdmc: reduce insanely huge tables 2020-08-21 13:55:50 +02:00
James Almer
23bbb01077 avcodec/h2645_parse: reset the H2645NAL type value before parsing a NAL header
This will prevent reporting a bogus value in the log message when
the header parsing fails.

Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-20 13:50:11 -03:00
James Almer
1e41a9be34 avcodec/h2645_parse: skip empty NAL units earlier
No point in trying to parse nonexistent header bits.

Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-20 13:50:01 -03:00
James Almer
a4d28ea030 avcodec/h2645_parse: always return 0 on successful h{264,evc}_parse_nal_header() calls
HEVC NALs are no longer being skipped based on their nuh_layer_id
value since ad326379c6.

Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-20 13:17:50 -03:00
James Almer
c56d787fe3 avcodec/decode: move the ff_decode_frame_props() prototype to the proper header
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-20 13:17:50 -03:00
Harry Mallon
a606e3b339 libavcodec/proresdec2: Setup qmat_chroma according to RDD36
Signed-off-by: Harry Mallon <harry.mallon@codex.online>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-08-20 13:21:20 +02:00
Jun Zhao
d5abb11738 lavc/libkvazaar: export encoded frame stats
Export choosen pict_type and qp.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-08-20 15:06:14 +08:00
Andriy Gelman
5df9724e42 avcodec/v4l2_context: return EAGAIN to signal full buffers
Return proper error when frame buffers are full. This path is triggered
on the DragonBoard 410c since the encoding API change in commit
827d6fe73d.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
Reviewed-by: Mark Thompson <sw@jkqxz.net>
2020-08-16 17:39:13 -04:00
Limin Wang
d7af6d1469 avcodec/utils: calculate frame number of HEVC if the framerate > 30FPS
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-08-16 22:51:11 +08:00
James Almer
161d7f3fee avcodec/bsf: improve the doxy for av_bsf_flush()
Mention an example scenario where the function should be used.

Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 15:55:22 -03:00
James Almer
34a385b340 avcodec/qsvenc_h264: add missing atsc_a53.h include
Regression since 0de01da1d2

Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 14:43:11 -03:00
James Almer
0de01da1d2 avcodec: move ff_alloc_a53_sei() to atsc_53
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 13:01:25 -03:00
James Almer
1ab3ae6fd5 avcodec/hevc_sei: use ff_parse_a53_cc() to parse A53 Closed Captions
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 13:01:19 -03:00
James Almer
c93ba51ef3 avcodec/h264_sei: use ff_parse_a53_cc() to parse A53 Closed Captions
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 13:01:13 -03:00
James Almer
6c1bf7c02e avcodec/libdav1d: add support for A53 Closed Captions
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 13:01:08 -03:00
James Almer
1841921277 avcodec: split off A53 Closed Caption parsing code into its own file
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-15 13:01:00 -03:00
Limin Wang
392a2d0790 avcodec/libsvtav1: remove unneeded svt_av1_enc_deinit_handle()
It's for FF_CODEC_CAP_INIT_CLEANUP flag.

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-08-14 22:54:01 +08:00
Limin Wang
ad49dd7694 avcodec/mpeg12enc: support mpeg2 encoder const level
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-08-14 22:48:05 +08:00
Paul B Mahol
9f702fc8f4 avcodec: extend CFHD description 2020-08-14 10:52:28 +02:00
Xu Guangxin
6a941b5691 avcodec/av1_parse: use macro for MAX_OBU_HEADER_SIZE
Signed-off-by: James Almer <jamrial@gmail.com>
2020-08-13 23:48:40 -03:00
Mark Thompson
bb59bdbcd1 cbs: Mention all codecs in unit type comment 2020-08-12 22:02:03 +01:00
Alexander Strasser
b40dd2fdab lavc/snowenc: Expose an option to set the rc_eq expression
Snow uses the ratecontrol module, but does not expose a way to set
the rc_eq expression. The default expression, set in the ratecontrol
module, will always be used.

Make it possible to set rc_eq by adding an AVOption to snowenc.

The option definition is mostly a copy from the mpegvideo common
options definition of rc_eq (libavcodec/mpegvideo.h), with some
minor style adjustments to be closer to the other snowenc option
initializer expressions.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2020-08-12 17:35:38 +02:00
Alexander Strasser
ecd71916d1 lavc/aac_ac3_parser: fix potential overflow when averaging bitrate
The new code is analog to how it's done in our mpegaudio parser.

Acked-by: Jun Zhao <barryjzhao@tencent.com>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2020-08-12 17:35:38 +02:00
Paul B Mahol
f95dac666c avcodec/sheervideo: reduce size of vlc tables to normal values 2020-08-12 10:17:01 +02:00
Limin Wang
ed39d28ce7 avcodec/libsvtav1: fix copy and paste error
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-08-12 08:12:59 +08:00
Michael Niedermayer
6d7e522103 avcodec/agm: Mark fill_pixels() as av_always_inline
Speedup from 275sec to 142sec
Testcase: 24426/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5639724379930624

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-08-11 14:21:56 +02:00