summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/hevc_ps: add proper bound checks around cm_ref_layer_id in ↵HEADmasterClement Lecigne2023-05-172-7/+17
| | | | | | | colour_mapping_table. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* av1_parse: Don't reject zero-size padding OBUsMark Thompson2023-05-171-1/+3
| | | | Padding OBUs are not required to be nonempty.
* av1_parse: Remove unused getbits instanceMark Thompson2023-05-172-8/+1
|
* cbs_av1: Don't reject unknown metadataMark Thompson2023-05-173-2/+38
| | | | | | | Accept it and pass it through unchanged. The standard requires that decoders ignore unknown metadata, and indeed this is tested by some of the Argon coverage streams.
* cbs_av1: Add tracing headers for metadata typesMark Thompson2023-05-171-0/+10
| | | | Make it a little easier to interpret metadata in trace output.
* doc/ffmpeg: Extend documentation for sws_flags optionTobias Rapp2023-05-171-1/+6
| | | | | | Clarify that -sws_flags are only applied to simple filtergraphs as a default, not complex filtergraphs. Add a reference to the scaler options.
* fate/jpg: add RGB mjpeg fate testsLeo Izen2023-05-176-0/+41
| | | | | Adds FATE tests for RGB jpegs to test commit 0b352e350e773673f11ea380f3507923c70e1175.
* avcodec/mediacodec: Add VP8 encoderSamuel Mira2023-05-175-1/+35
| | | | | | | Connected FFmpeg to Mediacodec VP8 encoder. Signed-off-by: Samuel Mira <samuel.mira@qt.io> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avcodec/mediacodec: Add AV1 encoderSamuel Mira2023-05-176-1/+114
| | | | | | | Connected FFmpeg to Mediacodec AV1 encoder Signed-off-by: Samuel Mira <samuel.mira@qt.io> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avcodec/vdpau_mpeg4: fix order of quant matrix coefficientsHendrik Leppkes2023-05-151-2/+3
| | | | | | The matrix coefficients are stored permutated for the IDCT, rather then in plain raster order, and need to be un-permutated for the hardware.
* avcodec/vdpau_mpeg12: fix order of quant matrix coefficientsHendrik Leppkes2023-05-151-2/+3
| | | | | | The matrix coefficients are stored permutated for the IDCT, rather then in plain raster order, and need to be un-permutated for the hardware.
* avcodec/nvdec_mpeg4: fix order of quant matrix coefficientsHendrik Leppkes2023-05-151-2/+3
| | | | | | The matrix coefficients are stored permutated for the IDCT, rather then in plain raster order, and need to be un-permutated for the hardware.
* avcodec/nvdec_mpeg2: fix order of quant matrix coefficientsHendrik Leppkes2023-05-151-2/+3
| | | | | | The matrix coefficients are stored permutated for the IDCT, rather then in plain raster order, and need to be un-permutated for the hardware.
* lavc/libdav1d: fix exporting framerateAnton Khirnov2023-05-152-7/+5
| | | | Same issues as in the previous commit.
* lavc/av1*: fix exporting framerateAnton Khirnov2023-05-155-15/+29
| | | | | | | | | * take num_ticks_per_picture_minus_1 into account, since that is a part of the framerate computation * stop exporting num_ticks_per_picture_minus_1 into AVCodecContext.ticks_per_frame, as that field is used for other purposes (in conjunction with repeat_pict, which is not used at all by av1)
* fftools/ffmpeg: rename transcode_init()Anton Khirnov2023-05-151-14/+4
| | | | | | | It does no initialization anymore, except for setting transcode_init_done - the bulk of the function is printing the input/output maps. It also cannot fail anymore, so remove the useless return value.
* fftools/ffmpeg_demux: stop logging to demuxer contextAnton Khirnov2023-05-151-2/+2
| | | | Only the demuxer itself should do that.
* fftools/ffmpeg_demux: move InputFile.ts_offset_discont,last_ts to private dataAnton Khirnov2023-05-152-17/+19
| | | | They are no longer used outside of ffmpeg_demux.
* fftools/ffmpeg: stop accessing input format from decoding codeAnton Khirnov2023-05-153-3/+7
| | | | | | Export the corresponding flag in InputFile instead. This will allow making the demuxer AVFormatContext private in future commits, similarly to what was previously done for muxers.
* fftools/ffmpeg: log corrupt-frame errors to the appropriate contextAnton Khirnov2023-05-151-2/+2
|
* fftools/ffmpeg: replace print_error() by more meaningful messagesAnton Khirnov2023-05-153-5/+7
|
* fftools/ffmpeg_demux: reindent after previous commitAnton Khirnov2023-05-151-10/+10
|
* fftools/ffmpeg: move discarding unused programs to ffmpeg_demuxAnton Khirnov2023-05-152-16/+17
| | | | This is a more appropriate place for this code.
* fftools/ffmpeg: simplify tracking -readrate start timeAnton Khirnov2023-05-153-11/+5
| | | | | | There is no point in having a per-stream wallclock start time, since they are all computed at the same instant. Keep a per-file start time instead, initialized when the demuxer thread starts.
* fftools/ffmpeg_demux: move InputStream.streamcopy_needed to private dataAnton Khirnov2023-05-152-3/+6
| | | | It is no longer used outside of ffmpeg_demux.
* fftools/ffmpeg_demux: move InputStream.wrap_correction_done to private dataAnton Khirnov2023-05-152-6/+5
| | | | It is no longer used outside of ffmpeg_demux.
* fftools/ffmpeg_demux: move InputStream.[next_]dts to private dataAnton Khirnov2023-05-152-28/+35
| | | | They are no longer used outside of ffmpeg_demux.
* fftools/ffmpeg_demux: move InputStream.[saw_]first_d?ts to private dataAnton Khirnov2023-05-152-10/+14
| | | | They are no longer used outside of ffmpeg_demux.
* fftools/ffmpeg_demux: move InputStream.{nb_packets,data_size} to private dataAnton Khirnov2023-05-152-10/+13
| | | | They are no longer used outside of ffmpeg_demux.
* fftools/ffmpeg: drop unused decode_video() parameterAnton Khirnov2023-05-151-4/+2
|
* fftools/ffmpeg_demux: reindent after previous commitAnton Khirnov2023-05-151-14/+14
|
* fftools/ffmpeg: move post-demux packet processing to ffmpeg_demuxAnton Khirnov2023-05-153-228/+234
| | | | | | | | | | | | That is a more appropriate place for this code and will allow hiding more of InputStream. The value of repeat_pict extracted from libavformat internal parser no longer needs to be trasmitted outside of the demuxing thread. Move readrate handling to the demuxer thread. This has to be done in the same commit, since it reads InputStream.dts,nb_packets, which are now set in the demuxer thread.
* fftools/ffmpeg: attach InputStream.dts to demuxed packets when neededAnton Khirnov2023-05-153-2/+28
| | | | | | This way computing it and using it for streamcopy does not need to happen in sync. Will be useful in following commits, where updating InputStream.dts will be moved to the demuxing thread.
* fftools/ffmpeg_demux: move preparing DemuxMsg to separate functionAnton Khirnov2023-05-151-8/+23
| | | | | Will be useful in following commits, which will move more code into this function.
* fftools/ffmpeg: stop using decoder properties in ist_dts_update()Anton Khirnov2023-05-151-3/+3
| | | | | | This code runs post-demuxing and is not synchronized with the decoder output (which may be delayed with respect to its input by arbitrary and unknowable amounts), so accessing any decoder properties is incorrect.
* fftools/ffmpeg: reindent after previous commitAnton Khirnov2023-05-151-29/+29
|
* fftools/ffmpeg: consolidate InputStream.[next_]dts updatesAnton Khirnov2023-05-151-50/+55
| | | | | | Move them to a separate function called right after timestamp discontinuity processing. This is now possible, since these values have no interaction with decoding anymore.
* fftools/ffmpeg: stop using deprecated ticks_per_frameAnton Khirnov2023-05-153-6/+10
|
* lavc: deprecate AVCodecContext.ticks_per_frameAnton Khirnov2023-05-1530-26/+176
| | | | | | | | For encoding, this field is entirely redundant with AVCodecContext.framerate. For decoding, this field is entirely redundant with AV_CODEC_PROP_FIELDS.
* tests/fate: add a simple test for libx264Anton Khirnov2023-05-154-0/+108
| | | | | | | | Since this is an external encoder not under our control, we cannot test the encoded output exactly as is done for internal encoders. We can still test however that the output is decodable and produces the expected number of frames with expected dimensions, pixel formats, and timestamps.
* lavc/libvpxenc: send frame durations to the encoderAnton Khirnov2023-05-151-2/+13
| | | | | Adapt similar code from libaomenc - stop using ticks_per_frame except as a last resort.
* lavc/libkvazaar,libopenh264enc: drop redundant checksAnton Khirnov2023-05-152-10/+0
| | | | The same check is present in encode_preinit_video().
* libaomenc: use AVCodecContext.framerate when availableAnton Khirnov2023-05-151-2/+6
|
* lavc/msmpeg4enc: use AVCodecContext.framerate when availableAnton Khirnov2023-05-151-1/+7
|
* lavc/ratecontrol: use AVCodecContext.framerate when availableAnton Khirnov2023-05-151-0/+3
|
* lavf: use AV_CODEC_PROP_FIELDS where appropriateAnton Khirnov2023-05-155-21/+32
| | | | | | | | | | H.264 and mpeg12 parsers need to be adjusted at the same time to stop using the value of AVCodecContext.ticks_per_frame, because it is not set correctly unless the codec has been opened. Previously this would result in both the parser and lavf seeing the same incorrect value, which would cancel out. Updating lavf and not the parsers would result in correct value in lavf, but the wrong one in parsers, which would break some tests.
* lavc/codec_desc: add a property for codecs that support field codingAnton Khirnov2023-05-154-5/+22
| | | | | | | Multiple places currently use AVCodecContext.ticks_per_frame > 1 to identify such codecs, which * requires a codec context * requires it to be open
* fftools/ffmpeg: fix computing video frame duration from repeat_pictAnton Khirnov2023-05-151-4/+4
| | | | | This field contains the number of _field_ durations by which the standard frame duration should be extended.
* lavu/frame: extend AVFrame.repeat_pict documentationAnton Khirnov2023-05-151-2/+16
|
* fftools/opt_common: stop printing deprecated AV_CODEC_CAP_SUBFRAMESAnton Khirnov2023-05-151-2/+0
|