summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* lavc: deprecate AV_CODEC_CAP_SUBFRAMESAnton Khirnov2023-05-1520-24/+101
| | | | There is nothing meaningful the caller can do with it.
* lavc/decode: drop a useless warningAnton Khirnov2023-05-152-9/+0
| | | | | | | | | | Decoders will currently warn if an audio decoder not marked with AV_CODEC_CAP_SUBFRAMES consumes less than the whole packet, but * this happens for regular files * this has no negative consequences * there is no meeaningful action that can or should be taken in response The warning is thus useless noise.
* avformat/hls: Try to implement RFC8216 playlist refusalMichael Niedermayer2023-05-151-1/+10
| | | | | | | | This should fix the regression since 6b1f68ccb04d791f0250e05687c346a99ff47ea1 Should fix Ticket10353 (please test and report cases that still fail) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat: add ff_match_url_ext()Michael Niedermayer2023-05-152-0/+34
| | | | | | Match url against a list of extensions similar to av_match_ext() Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/*xfade: reduce memory consumptionPaul B Mahol2023-05-142-0/+24
| | | | There is no always need for new buffers.
* avcodec/cbs_av1: add valid range of values for num_units_in_decoding_tickJames Almer2023-05-141-1/+1
| | | | | | The spec states "num_units_in_decoding_tick shall be greater than 0". Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/f_graphmonitor: set output frame durationPaul B Mahol2023-05-141-0/+1
|
* avfilter/f_loop: free video frames once not neededPaul B Mahol2023-05-141-4/+17
|
* avfilter/f_graphmonitor: add nozero display modePaul B Mahol2023-05-142-20/+28
|