1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00
FFmpeg/libavcodec
Andreas Rheinhardt 1e6307f46c avcodec/encode, frame_thread_encoder: Unify calling encode callback
The encode-callback (the callback used by the FF_CODEC_CB_TYPE_ENCODE
encoders) is currently called in two places: encode_simple_internal()
and by the worker threads of frame-threaded encoders.

After the call, some packet properties are set based upon
the corresponding AVFrame properties and the packet is made
refcounted if it isn't already. So there is some code duplication.

There was also non-duplicated code in encode_simple_internal()
which is executed even when using frame-threading. This included
an emms_c() (which is needed for frame-threading, too, if it is
needed for the single-threaded case, because there are allocations
(via av_packet_make_refcounted()) immediately after returning
from the encode-callback).

Furthermore, some further properties are only set in
encode_simple_internal(): For audio, pts and duration are derived
from the corresponding fields of the frame if the encoder does not
have the AV_CODEC_CAP_DELAY set. Yet this is wrong for frame-threaded
encoders, because frame-threading always introduces delay regardless
of whether the underlying codec has said cap. This only worked because
there are no frame-threaded audio encoders.

This commit fixes the code duplication and the above issue by factoring
this code out and reusing it in both places. It would work in case
of audio codecs with frame-threading, because now the values are
derived from the correct AVFrame.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-08-27 02:23:43 +02:00
..
aarch64 lavc/aarch64: hevc_add_res add 12bit variants 2022-08-18 15:04:43 +02:00
alpha
arm
avr32
bfin
loongarch avcodec/loongarch/cabac, vp9dsp_loongarch: Add missing headers 2022-08-24 03:43:52 +02:00
mips
neon
ppc
sh4
sparc
tests avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay 2022-08-27 02:23:43 +02:00
x86 avutil/mem_internal: Fix headers 2022-08-24 03:43:52 +02:00
.gitignore
4xm.c avcodec/4xm: Remove unnecessary and redundant emms_c() 2022-08-24 03:43:47 +02:00
8bps.c
8svx.c
012v.c
a64colors.h
a64multienc.c
a64tables.h
aac_ac3_parser.c
aac_ac3_parser.h
aac_adtstoasc_bsf.c
aac_defines.h
aac_parser.c
aac.h
aaccoder_trellis.h
aaccoder_twoloop.h
aaccoder.c
aacdec_fixed.c
aacdec_template.c
aacdec.c
aacdectab.h
aacenc_is.c
aacenc_is.h
aacenc_ltp.c
aacenc_ltp.h
aacenc_pred.c
aacenc_pred.h
aacenc_quantization_misc.h
aacenc_quantization.h
aacenc_tns.c
aacenc_tns.h
aacenc_utils.h
aacenc.c
aacenc.h
aacenctab.c
aacenctab.h
aacps_common.c
aacps_fixed_tablegen.c
aacps_fixed_tablegen.h
aacps_fixed.c
aacps_float.c
aacps_tablegen_template.c
aacps_tablegen.c
aacps_tablegen.h
aacps.c
aacps.h
aacpsdata.c
aacpsdsp_fixed.c
aacpsdsp_float.c
aacpsdsp_template.c
aacpsdsp.h
aacpsy.c
aacsbr_fixed.c
aacsbr_template.c
aacsbr.c
aacsbr.h
aacsbrdata.h
aactab.c
aactab.h
aandcttab.c
aandcttab.h
aasc.c
ac3_channel_layout_tab.c
ac3_channel_layout_tab.h
ac3_parser_internal.h
ac3_parser.c
ac3_parser.h
ac3.c
ac3.h
ac3dec_data.c
ac3dec_data.h
ac3dec_fixed.c
ac3dec_float.c
ac3dec.c
ac3dec.h
ac3defs.h
ac3dsp.c
ac3dsp.h
ac3enc_fixed.c
ac3enc_float.c
ac3enc_template.c
ac3enc.c
ac3enc.h
ac3tab.c
ac3tab.h
acelp_filters.c
acelp_filters.h
acelp_pitch_delay.c
acelp_pitch_delay.h
acelp_vectors.c
acelp_vectors.h
adpcm_data.c
adpcm_data.h
adpcm.c
adpcm.h
adpcmenc.c
adts_header.c
adts_header.h
adts_parser.c
adts_parser.h
adx_parser.c
adx.c
adx.h
adxdec.c
adxenc.c
agm.c
aic.c
alac_data.c
alac_data.h
alac.c
alacdsp.c
alacdsp.h
alacenc.c
aliaspixdec.c
aliaspixenc.c
allcodecs.c The vuya pixel format was recently added, so this lavc workaround is no longer 2022-08-19 22:48:42 -03:00
alsdec.c
amfenc_h264.c
amfenc_hevc.c
amfenc.c
amfenc.h
amr_parser.c
amr.h
amrnbdata.h
amrnbdec.c
amrwbdata.h
amrwbdec.c
anm.c
ansi.c
apedec.c avcodec/apedec: Remove unnecessary emms_c() 2022-08-24 03:42:38 +02:00
apng.h
aptx.c avcodec/aptx: Move AudioFrameQueue to aptxenc.c 2022-08-27 02:23:43 +02:00
aptx.h avcodec/aptx: Move AudioFrameQueue to aptxenc.c 2022-08-27 02:23:43 +02:00
aptxdec.c
aptxenc.c avcodec/aptx: Move AudioFrameQueue to aptxenc.c 2022-08-27 02:23:43 +02:00
arbc.c
argo.c
ass_split.c
ass_split.h
ass.c
ass.h
assdec.c
assenc.c
asv.c
asv.h
asvdec.c
asvenc.c
atrac1.c
atrac1data.h
atrac3.c
atrac3data.h
atrac3plus_data.h
atrac3plus.c
atrac3plus.h
atrac3plusdec.c
atrac3plusdsp.c
atrac9dec.c
atrac9tab.h
atrac.c
atrac.h
atsc_a53.c
atsc_a53.h
audio_frame_queue.c
audio_frame_queue.h
audiodsp.c
audiodsp.h
audiotoolboxdec.c
audiotoolboxenc.c avcodec/audiotoolboxenc: return AVERROR_EXTERNAL immediately when encode error 2022-08-22 10:58:13 +08:00
aura.c
av1_frame_merge_bsf.c
av1_frame_split_bsf.c
av1_metadata_bsf.c
av1_parse.c
av1_parse.h
av1_parser.c
av1.h
av1dec.c
av1dec.h
avcodec.c avcodec/avcodec: Remove redundant check 2022-08-15 18:10:31 +02:00
avcodec.h
avcodecres.rc
avdct.c
avdct.h
avfft.c
avfft.h
avpacket.c
avrndec.c
avs2_parser.c
avs2.c
avs2.h
avs3_parser.c
avs3.h
avs.c
avuidec.c
avuienc.c
bethsoftvideo.c
bethsoftvideo.h
bfi.c
bgmc.c
bgmc.h
bink.c
binkaudio.c
binkdata.h
binkdsp.c
binkdsp.h
bintext.c
bintext.h
bit_depth_template.c
bitpacked_dec.c
bitpacked_enc.c
bitstream_filters.c
bitstream.c
blockdsp.c
blockdsp.h
bmp_parser.c
bmp.c
bmp.h
bmpenc.c
bmvaudio.c
bmvvideo.c
brenderpix.c
bsf_internal.h
bsf.c
bsf.h
bswapdsp.c
bswapdsp.h
bytestream.h
c93.c
cabac_functions.h
cabac.c
cabac.h
canopus.c
canopus.h
cavs_parser.c
cavs.c
cavs.h
cavsdata.c
cavsdec.c
cavsdsp.c
cavsdsp.h
cbrt_data_fixed.c
cbrt_data.c
cbrt_data.h
cbrt_fixed_tablegen.c
cbrt_tablegen_template.c
cbrt_tablegen.c
cbrt_tablegen.h
cbs_av1_syntax_template.c
cbs_av1.c avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
cbs_av1.h
cbs_bsf.c
cbs_bsf.h
cbs_h264_syntax_template.c
cbs_h264.h
cbs_h265_syntax_template.c
cbs_h265.h
cbs_h2645.c avcodec/cbs_h2645: Remove always-false check 2022-08-08 11:29:34 +02:00
cbs_h2645.h
cbs_internal.h avcodec/cbs_jpeg: Use table-based alloc/free 2022-08-08 11:29:33 +02:00
cbs_jpeg_syntax_template.c
cbs_jpeg.c avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
cbs_jpeg.h
cbs_mpeg2_syntax_template.c
cbs_mpeg2.c avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
cbs_mpeg2.h
cbs_sei_syntax_template.c
cbs_sei.c avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
cbs_sei.h
cbs_vp9_syntax_template.c
cbs_vp9.c avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
cbs_vp9.h
cbs.c avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
cbs.h avcodec/cbs: Remove ff_cbs_alloc_unit_content 2022-08-08 11:29:33 +02:00
ccaption_dec.c
cdgraphics.c
cdtoons.c
cdxl.c
celp_filters.c
celp_filters.h
celp_math.c
celp_math.h
cfhd.c
cfhd.h
cfhddata.c
cfhddsp.c
cfhddsp.h
cfhdenc.c
cfhdencdsp.c
cfhdencdsp.h
cga_data.c
cga_data.h
chomp_bsf.c
cinepak.c
cinepakenc.c
clearvideo.c
clearvideodata.h
cljrdec.c
cljrenc.c
cllc.c
cngdec.c
cngenc.c
codec2utils.h
codec_desc.c The vuya pixel format was recently added, so this lavc workaround is no longer 2022-08-19 22:48:42 -03:00
codec_desc.h
codec_id.h The vuya pixel format was recently added, so this lavc workaround is no longer 2022-08-19 22:48:42 -03:00
codec_internal.h
codec_par.c
codec_par.h
codec.h
cook_parser.c
cook.c
cookdata.h
copy_block.h
cos_tablegen.c
cpia.c
cri_parser.c
cri.c
crystalhd.c
cscd.c
cuviddec.c
cyuv.c
d3d11va.c
d3d11va.h
dca_core_bsf.c
dca_core.c
dca_core.h
dca_exss.c
dca_exss.h
dca_lbr.c
dca_lbr.h
dca_parser.c
dca_sample_rate_tab.c
dca_sample_rate_tab.h
dca_syncwords.h
dca_xll.c
dca_xll.h
dca.c
dca.h
dcaadpcm.c
dcaadpcm.h
dcadata.c
dcadata.h
dcadct.c
dcadct.h
dcadec.c
dcadec.h
dcadsp.c
dcadsp.h
dcaenc.c
dcaenc.h
dcahuff.c
dcahuff.h
dcamath.h
dct32_fixed.c
dct32_float.c
dct32_template.c
dct32.h
dct.c
dct.h
dctref.c
dctref.h
dds.c
decode.c
decode.h
defs.h
dfa.c
dfpwmdec.c
dfpwmenc.c
dirac_arith.c
dirac_arith.h
dirac_dwt_template.c
dirac_dwt.c
dirac_dwt.h
dirac_parser.c
dirac_vlc.c
dirac_vlc.h
dirac.c
dirac.h
diracdec.c
diracdsp.c
diracdsp.h
diractab.c
diractab.h
dnxhd_parser.c
dnxhddata.c
dnxhddata.h
dnxhddec.c
dnxhdenc.c
dnxhdenc.h
dolby_e_parse.c
dolby_e_parser.c
dolby_e.c
dolby_e.h
dovi_rpu.c
dovi_rpu.h
dpcm.c
dpx_parser.c
dpx.c
dpxenc.c
dsd.c
dsd.h
dsddec.c
dsicinaudio.c
dsicinvideo.c
dss_sp.c
dstdec.c
dump_extradata_bsf.c
dv_error_marker_bsf.c
dv_profile_internal.h
dv_profile.c
dv_profile.h
dv_tablegen.c
dv_tablegen.h
dv.c
dv.h
dvaudio_parser.c
dvaudio.h
dvaudiodec.c
dvbsub_parser.c
dvbsubdec.c
dvbsubenc.c
dvbtxt.h
dvd_nav_parser.c
dvdata.c
dvdata.h
dvdec.c
dvdsub_parser.c
dvdsub.c
dvdsubdec.c
dvdsubenc.c
dvenc.c
dxa.c
dxtory.c
dxv.c
dxva2_av1.c
dxva2_h264.c
dxva2_hevc.c
dxva2_internal.h
dxva2_mpeg2.c
dxva2_vc1.c
dxva2_vp9.c
dxva2.c
dxva2.h
dynamic_hdr10_plus.c
dynamic_hdr10_plus.h
dynamic_hdr_vivid.c
dynamic_hdr_vivid.h
eac3_core_bsf.c
eac3_data.c
eac3_data.h
eac3dec.c
eac3enc.c
eac3enc.h
eacmv.c
eaidct.c
eaidct.h
eamad.c
eatgq.c
eatgv.c
eatqi.c
elbg.c
elbg.h
elsdec.c
elsdec.h
encode.c avcodec/encode, frame_thread_encoder: Unify calling encode callback 2022-08-27 02:23:43 +02:00
encode.h avcodec/encode, frame_thread_encoder: Unify calling encode callback 2022-08-27 02:23:43 +02:00
error_resilience.c avcodec/error_resilience: Avoid overhead of AVBuffer API 2022-08-08 11:29:33 +02:00
error_resilience.h avcodec/error_resilience: Avoid overhead of AVBuffer API 2022-08-08 11:29:33 +02:00
escape124.c
escape130.c
evrcdata.h
evrcdec.c
exif.c
exif.h
exr.c avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
exrdsp.c
exrdsp.h
exrenc.c avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
extract_extradata_bsf.c
faandct.c
faandct.h
faanidct.c
faanidct.h
fastaudio.c
faxcompr.c
faxcompr.h
fdctdsp.c
fdctdsp.h
ffjni.c
ffjni.h
fflcms2.c
fflcms2.h
fft_fixed_32.c
fft_float.c
fft_init_table.c
fft_table.h
fft_template.c
fft-internal.h
fft.h
ffv1_template.c
ffv1.c
ffv1.h avcodec/ffv1enc: Don't create and keep unnecessary reference 2022-08-18 16:57:47 +02:00
ffv1dec_template.c
ffv1dec.c avcodec/ffv1(dec|enc): Remove unnecessary emms_c() 2022-08-24 03:42:38 +02:00
ffv1enc_template.c
ffv1enc.c avcodec/ffv1(dec|enc): Remove unnecessary emms_c() 2022-08-24 03:42:38 +02:00
ffwavesynth.c
fic.c
file_open.c
filter_units_bsf.c
fits.c
fits.h
fitsdec.c
fitsenc.c
flac_parser.c
flac.c
flac.h
flacdata.c
flacdata.h
flacdec.c
flacdsp_lpc_template.c
flacdsp_template.c
flacdsp.c
flacdsp.h
flacenc.c
flacencdsp.c
flacencdsp.h
flashsv2enc.c
flashsv.c
flashsvenc.c
flicvideo.c
float2half.c avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
flvdec.c
flvdec.h
flvenc.c
flvenc.h
fmtconvert.c
fmtconvert.h
fmvc.c
frame_thread_encoder.c avcodec/encode, frame_thread_encoder: Unify calling encode callback 2022-08-27 02:23:43 +02:00
frame_thread_encoder.h
fraps.c
frwu.c
g2meet.c
g722.c
g722.h
g722dec.c
g722dsp.c
g722dsp.h
g722enc.c
g723_1_parser.c
g723_1.c
g723_1.h
g723_1dec.c
g723_1enc.c
g726.c
g729_parser.c
g729.h
g729data.h
g729dec.c
g729postfilter.c
g729postfilter.h
gdv.c
gemdec.c
get_bits.h
get_buffer.c avcodec/get_buffer: Don't get AVPixFmtDescriptor unnecessarily 2022-08-18 16:57:47 +02:00
gif_parser.c
gif.c avcodec/gif: Remove unnecessary headers 2022-08-24 03:43:52 +02:00
gif.h
gifdec.c
golomb.c
golomb.h
gsm_parser.c
gsm.h
gsmdec_data.c
gsmdec_data.h
gsmdec_template.c
gsmdec.c
h261_parser.c
h261.c
h261.h
h261data.c
h261dec.c
h261enc.c
h261enc.h
h263_parser.c
h263_parser.h
h263.c
h263.h
h263data.c
h263data.h
h263dec.c avcodec/h263dec: Sanity check against minimal I/P frame size 2022-08-23 20:03:03 +02:00
h263dec.h
h263dsp.c
h263dsp.h
h263enc.h
h264_cabac.c
h264_cavlc.c
h264_direct.c
h264_levels.c
h264_levels.h
h264_loopfilter.c
h264_mb_template.c
h264_mb.c
h264_mc_template.c
h264_metadata_bsf.c
h264_mp4toannexb_bsf.c
h264_mvpred.h
h264_parse.c
h264_parse.h
h264_parser.c
h264_picture.c
h264_ps.c
h264_ps.h
h264_redundant_pps_bsf.c
h264_refs.c
h264_sei.c
h264_sei.h
h264_slice.c
h264.h
h264addpx_template.c
h264chroma_template.c
h264chroma.c
h264chroma.h
h264data.c
h264data.h
h264dec.c
h264dec.h
h264dsp_template.c
h264dsp.c
h264dsp.h
h264idct_template.c
h264idct.c
h264idct.h
h264pred_template.c
h264pred.c
h264pred.h
h264qpel_template.c
h264qpel.c
h264qpel.h
h265_metadata_bsf.c
h265_profile_level.c
h265_profile_level.h
h274.c
h274.h
h2645_parse.c
h2645_parse.h
half2float.c avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
hap.c
hap.h
hapdec.c
hapenc.c
hapqa_extract_bsf.c
hca_data.h
hcadec.c
hcom.c
hdr_parser.c
hdrdec.c
hdrenc.c
hevc_cabac.c
hevc_data.c
hevc_data.h
hevc_filter.c
hevc_mp4toannexb_bsf.c
hevc_mvs.c
hevc_parse.c
hevc_parse.h
hevc_parser.c
hevc_ps_enc.c
hevc_ps.c
hevc_ps.h
hevc_refs.c
hevc_sei.c
hevc_sei.h
hevc.h
hevcdec.c avcodec/hevcdec: Check s->ref in the md5 path similar to hwaccel 2022-08-23 20:03:03 +02:00
hevcdec.h
hevcdsp_template.c
hevcdsp.c
hevcdsp.h
hevcpred_template.c
hevcpred.c
hevcpred.h
hnm4video.c
hpel_template.c
hpeldsp.c
hpeldsp.h
hq_hqa.c
hq_hqa.h
hq_hqadata.c
hq_hqadsp.c
hq_hqadsp.h
hqx.c
hqx.h
hqxdsp.c
hqxdsp.h
hqxvlc.c
htmlsubtitles.c
htmlsubtitles.h
huffman.c
huffman.h
huffyuv.c
huffyuv.h
huffyuvdec.c
huffyuvdsp.c
huffyuvdsp.h
huffyuvenc.c
huffyuvencdsp.c
huffyuvencdsp.h
hwaccels.h
hwconfig.h
idcinvideo.c
idctdsp.c
idctdsp.h
iff.c
iirfilter.c
iirfilter.h
ilbcdata.h
ilbcdec.c
imc.c
imcdata.h
imgconvert.c
imm4.c
imm5.c
imx_dump_header_bsf.c
imx.c
indeo2.c
indeo2data.h
indeo3.c
indeo3data.h
indeo4.c
indeo4data.h
indeo5.c
indeo5data.h
intelh263dec.c
internal.h
interplayacm.c
interplayvideo.c
intrax8.c
intrax8.h
intrax8dsp.c
intrax8dsp.h
intrax8huf.h
ipu_parser.c
ituh263dec.c
ituh263enc.c
ivi_dsp.c
ivi_dsp.h
ivi.c
ivi.h
j2kenc.c
jacosub.h
jacosubdec.c
jfdctfst.c
jfdctint_template.c
jfdctint.c
jni.c
jni.h
jpeg2000_parser.c
jpeg2000.c
jpeg2000.h avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present. 2022-08-07 22:01:21 +02:00
jpeg2000dec.c avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present. 2022-08-07 22:01:21 +02:00
jpeg2000dsp.c
jpeg2000dsp.h
jpeg2000dwt.c
jpeg2000dwt.h
jpegls.c
jpegls.h
jpeglsdec.c
jpeglsdec.h
jpeglsenc.c avcodec/jpeglsenc: Remove unnecessary emms_c() 2022-08-24 03:42:38 +02:00
jpegtables.c
jpegtables.h
jpegtabs.h
jrevdct.c
jvdec.c
kbdwin.c
kbdwin.h
kgv1dec.c
kmvc.c
lagarith.c
lagarithrac.c
lagarithrac.h
latm_parser.c
lcl.h
lcldec.c
lclenc.c
libaom.c
libaom.h
libaomdec.c
libaomenc.c avcodec/libaomenc: fix the check for presence of encoder interface 2022-08-25 16:25:55 -03:00
libaribb24.c
libavcodec.v
libcelt_dec.c
libcodec2.c
libdav1d.c
libdavs2.c
libfdk-aacdec.c
libfdk-aacenc.c
libgsmdec.c
libgsmenc.c
libilbc.c
libjxl.c
libjxl.h
libjxldec.c
libjxlenc.c
libkvazaar.c
libmp3lame.c
libopencore-amr.c
libopenh264.c
libopenh264.h
libopenh264dec.c
libopenh264enc.c
libopenjpegdec.c
libopenjpegenc.c
libopus.c
libopus.h
libopusdec.c
libopusenc.c
librav1e.c
librsvgdec.c
libshine.c
libspeexdec.c avcodec/libspeexdec: Fix use of uninitialized value 2022-08-08 11:37:14 +02:00
libspeexenc.c
libsvtav1.c avcodec/libsvtav1: properly initialize the flush EbBufferHeaderType struct 2022-08-23 13:03:55 -03:00
libtheoraenc.c
libtwolame.c
libuavs3d.c
libvo-amrwbenc.c
libvorbisdec.c
libvorbisenc.c
libvpx.c
libvpx.h
libvpxdec.c
libvpxenc.c avcodec/libvpxenc: use av_fast_realloc() to resize the stats buffer 2022-08-24 15:21:44 -03:00
libwebpenc_animencoder.c
libwebpenc_common.c
libwebpenc_common.h
libwebpenc.c
libx264.c
libx265.c
libxavs2.c
libxavs.c
libxvid.c
libzvbi-teletextdec.c
ljpegenc.c
loco.c
log2_tab.c
lossless_audiodsp.c
lossless_audiodsp.h
lossless_videodsp.c
lossless_videodsp.h
lossless_videoencdsp.c
lossless_videoencdsp.h
lpc.c
lpc.h
lscrdec.c
lsp.c
lsp.h
lzf.c
lzf.h
lzw.c
lzw.h
lzwenc.c
m101.c
mace.c
magicyuv.c
magicyuvenc.c
Makefile avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
mathops.h
mathtables.c
mdct15.c
mdct15.h
mdct_fixed_32.c
mdct_float.c
mdct_template.c
mdec.c
me_cmp.c avcodec/me_cmp: Remove now incorrect av_assert2() 2022-08-17 11:07:53 +02:00
me_cmp.h
mediacodec_surface.c
mediacodec_surface.h
mediacodec_sw_buffer.c
mediacodec_sw_buffer.h
mediacodec_wrapper.c
mediacodec_wrapper.h
mediacodec.c
mediacodec.h
mediacodecdec_common.c
mediacodecdec_common.h
mediacodecdec.c
metasound_data.c
metasound_data.h
metasound.c
mf_utils.c
mf_utils.h
mfenc.c
microdvddec.c
midivid.c
mimic.c avcodec/mimic: Fix undefined pointer arithmetic 2022-08-12 19:37:06 +02:00
mjpeg2jpeg_bsf.c
mjpeg_parser.c
mjpeg.h
mjpega_dump_header_bsf.c
mjpegbdec.c
mjpegdec_common.c
mjpegdec.c avcodec/mjpegdec: bayer and rct are incompatible 2022-08-23 20:03:03 +02:00
mjpegdec.h
mjpegenc_common.c
mjpegenc_common.h
mjpegenc_huffman.c
mjpegenc_huffman.h
mjpegenc.c
mjpegenc.h
mlp_parse.c
mlp_parse.h
mlp_parser.c
mlp.c
mlp.h
mlpdec.c
mlpdsp.c
mlpdsp.h
mlpenc.c
mlz.c
mlz.h
mmaldec.c
mmvideo.c
mobiclip.c
motion_est_template.c
motion_est.c avcodec/mpegpicture: Move mb_var, mc_mb_var and mb_mean to MpegEncCtx 2022-08-09 19:17:22 +02:00
motion_est.h
motionpixels_tablegen.c
motionpixels_tablegen.h
motionpixels.c
movsub_bsf.c
movtextdec.c
movtextenc.c
mp3_header_decompress_bsf.c
mpc7.c
mpc7data.h
mpc8.c
mpc8data.h
mpc8huff.h
mpc.c
mpc.h
mpcdata.h
mpeg2_metadata_bsf.c
mpeg4_unpack_bframes_bsf.c
mpeg4audio_sample_rates.c
mpeg4audio_sample_rates.h
mpeg4audio.c
mpeg4audio.h
mpeg4data.h
mpeg4video_parser.c
mpeg4video_parser.h
mpeg4video.c
mpeg4video.h
mpeg4videodata.h
mpeg4videodec.c avcodec/mpeg4videodec: Keep data_partitioning in sync between threads 2022-08-21 03:50:53 +02:00
mpeg4videodec.h
mpeg4videoenc.c
mpeg4videoenc.h
mpeg12.c
mpeg12.h
mpeg12data.c
mpeg12data.h
mpeg12dec.c
mpeg12dec.h
mpeg12enc.c
mpeg12enc.h
mpeg12framerate.c
mpeg12vlc.h
mpeg_er.c
mpeg_er.h
mpegaudio_parser.c
mpegaudio_tablegen.c
mpegaudio_tablegen.h
mpegaudio.c
mpegaudio.h
mpegaudiodata.c
mpegaudiodata.h
mpegaudiodec_common_tablegen.c
mpegaudiodec_common_tablegen.h
mpegaudiodec_common.c
mpegaudiodec_fixed.c
mpegaudiodec_float.c
mpegaudiodec_template.c avcodec/mpegaudiodec_template: use unsigned shift in handle_crc() 2022-08-23 20:03:03 +02:00
mpegaudiodecheader.c
mpegaudiodecheader.h
mpegaudiodsp_data.c
mpegaudiodsp_fixed.c
mpegaudiodsp_float.c
mpegaudiodsp_template.c
mpegaudiodsp.c
mpegaudiodsp.h
mpegaudioenc_fixed.c
mpegaudioenc_float.c
mpegaudioenc_template.c
mpegaudiotab.h
mpegaudiotabs.c
mpegaudiotabs.h
mpegpicture.c avcodec/mpegpicture: Reset fields explicitly instead of memsetting them 2022-08-18 16:57:47 +02:00
mpegpicture.h avcodec/mpegpicture: Move encoding_error and mb_var_sum to MpegEncCtx 2022-08-10 18:49:35 +02:00
mpegutils.c avcodec/mpegutils: Constify ff_print_debug_info2, ff_draw_horiz_band 2022-08-10 18:49:35 +02:00
mpegutils.h avcodec/mpegutils: Constify ff_print_debug_info2, ff_draw_horiz_band 2022-08-10 18:49:35 +02:00
mpegvideo_dec.c avcodec/mpegvideo_dec: Combine two loops 2022-08-21 03:50:53 +02:00
mpegvideo_enc.c avcodec/mpegvideo: Allocate encoder-only tables in mpegvideo_enc.c 2022-08-21 04:48:02 +02:00
mpegvideo_motion.c
mpegvideo_parser.c
mpegvideo.c avcodec/mpegvideo: Allocate encoder-only tables in mpegvideo_enc.c 2022-08-21 04:48:02 +02:00
mpegvideo.h avcodec/mpegpicture: Move encoding_error and mb_var_sum to MpegEncCtx 2022-08-10 18:49:35 +02:00
mpegvideodata.c
mpegvideodata.h
mpegvideodec.h avcodec/mpegvideodec: Constify some functions 2022-08-15 18:19:19 +02:00
mpegvideodsp.c
mpegvideodsp.h
mpegvideoenc.h
mpegvideoencdsp.c
mpegvideoencdsp.h
mpl2dec.c
mqc.c
mqc.h
mqcdec.c
mqcenc.c
mscc.c
msgsmdec.c
msgsmdec.h
msmpeg4.c
msmpeg4.h
msmpeg4data.c
msmpeg4data.h
msmpeg4dec.c
msmpeg4dec.h
msmpeg4enc.c
msmpeg4enc.h
msp2dec.c
msrle.c
msrledec.c
msrledec.h
mss1.c
mss2.c
mss2dsp.c
mss2dsp.h
mss3.c
mss4.c
mss12.c
mss12.h
mss34dsp.c
mss34dsp.h
msvideo1.c
msvideo1enc.c
mv30.c
mvcdec.c
mvha.c
mwsc.c
mxpegdec.c
nellymoser.c
nellymoser.h
nellymoserdec.c
nellymoserenc.c
noise_bsf.c
notchlc.c
null_bsf.c
nuv.c
nvdec_av1.c
nvdec_h264.c
nvdec_hevc.c avcodec/nvdec_hevc: Fix off-by-one error 2022-08-06 17:59:05 +02:00
nvdec_mjpeg.c
nvdec_mpeg4.c
nvdec_mpeg12.c
nvdec_vc1.c
nvdec_vp8.c
nvdec_vp9.c
nvdec.c avcodec/nvdec: Use av_buffer_replace() where appropriate 2022-08-08 11:42:28 +02:00
nvdec.h
nvenc_h264.c
nvenc_hevc.c
nvenc.c avcodec/nvenc: hardcode color characteristics for internal RGB2YUV conversion 2022-08-06 22:23:33 +02:00
nvenc.h
omx.c
on2avc.c
on2avcdata.c
on2avcdata.h
options_table.h
options.c
opus_celt.c
opus_celt.h
opus_metadata_bsf.c
opus_parser.c
opus_pvq.c
opus_pvq.h
opus_rc.c
opus_rc.h
opus_silk.c
opus.c
opus.h
opusdec.c
opusdsp.c
opusdsp.h
opusenc_psy.c
opusenc_psy.h
opusenc_utils.h
opusenc.c
opusenc.h
opustab.c
opustab.h
packet_internal.h
packet.h
paf.h
pafaudio.c
pafvideo.c
pamenc.c
parser.c
parser.h
parsers.c
pcm_rechunk_bsf.c
pcm_tablegen.c
pcm_tablegen.h
pcm-bluray.c
pcm-blurayenc.c
pcm-dvd.c
pcm-dvdenc.c
pcm.c
pcx.c
pcxenc.c
pel_template.c
pgs_frame_merge_bsf.c
pgssubdec.c
pgxdec.c
photocd.c
pictordec.c
pixblockdsp.c
pixblockdsp.h
pixels.h
pixlet.c
png_parser.c
png.c
png.h
pngdec.c avcodec/pngdec: Improve decoding text chunks 2022-08-23 12:21:00 +02:00
pngdsp.c
pngdsp.h
pngenc.c
pnm_parser.c
pnm.c
pnm.h avutil/half2float: move tables to header-internal structs 2022-08-19 22:09:36 +02:00
pnmdec.c avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
pnmenc.c avutil/half2float: move non-inline init code out of header 2022-08-19 22:09:36 +02:00
profiles.c
profiles.h
prores_metadata_bsf.c
proresdata.c
proresdata.h
proresdec2.c
proresdec.h
proresdsp.c
proresdsp.h
proresenc_anatoliy.c
proresenc_kostya.c
prosumer.c
psd.c
psymodel.c
psymodel.h
pthread_frame.c avcodec/pthread_frame: Fix compiling with thread-unsafe-callbacks disabled 2022-08-10 14:19:03 +02:00
pthread_internal.h
pthread_slice.c
pthread.c
ptx.c
put_bits.h
put_golomb.h
qcelpdata.h
qcelpdec.c
qdm2_tablegen.c
qdm2_tablegen.h
qdm2.c
qdm2data.h
qdmc.c
qdrw.c
qoi_parser.c
qoi.h
qoidec.c
qoienc.c
qpeg.c
qpel_template.c
qpeldsp.c
qpeldsp.h
qsv_api.c
qsv_internal.h lavc/qsv: create mfx session using oneVPL for decoding/encoding 2022-08-12 10:43:39 +08:00
qsv.c lavc/qsv: create mfx session using oneVPL for decoding/encoding 2022-08-12 10:43:39 +08:00
qsv.h qsv: restrict OPAQUE memory to MFX_VERSION < 2.0 2022-08-12 10:43:39 +08:00
qsvdec.c lavc/qsv: create mfx session using oneVPL for decoding/encoding 2022-08-12 10:43:39 +08:00
qsvenc_h264.c qsvenc_{hevc,h264}: add scenario option 2022-08-23 12:42:19 +08:00
qsvenc_hevc.c qsvenc_{hevc,h264}: add scenario option 2022-08-23 12:42:19 +08:00
qsvenc_jpeg.c lavc/qsv: create mfx session using oneVPL for decoding/encoding 2022-08-12 10:43:39 +08:00
qsvenc_mpeg2.c lavc/qsv: create mfx session using oneVPL for decoding/encoding 2022-08-12 10:43:39 +08:00
qsvenc_vp9.c lavc/qsv: create mfx session using oneVPL for decoding/encoding 2022-08-12 10:43:39 +08:00
qsvenc.c qsvenc_{hevc,h264}: add scenario option 2022-08-23 12:42:19 +08:00
qsvenc.h qsvenc_{hevc,h264}: add scenario option 2022-08-23 12:42:19 +08:00
qtrle.c
qtrleenc.c
r210dec.c
r210enc.c
ra144.c
ra144.h
ra144dec.c
ra144enc.c
ra288.c
ra288.h
ralf.c
ralfdata.h
rangecoder.c
rangecoder.h
rasc.c
ratecontrol.c avcodec/mpegpicture: Move encoding_error and mb_var_sum to MpegEncCtx 2022-08-10 18:49:35 +02:00
ratecontrol.h
raw.c avformat/riff: map AYUV fourcc to RAWVIDEO decoder 2022-08-07 09:33:16 -03:00
raw.h
rawdec.c
rawenc.c
rdft.c
rdft.h
realtextdec.c
rectangle.h
remove_extradata_bsf.c
reverse.c
rkmppdec.c
rl2.c
rl.c
rl.h
rle.c
rle.h
rnd_avg.h
roqaudioenc.c
roqvideo.c
roqvideo.h
roqvideodec.c
roqvideoenc.c
rpza.c
rpzaenc.c
rscc.c
rtjpeg.c
rtjpeg.h
rv10.c
rv10dec.h
rv10enc.c
rv10enc.h
rv20enc.c
rv30.c
rv30data.h
rv30dsp.c
rv34_parser.c
rv34.c
rv34.h
rv34data.h
rv34dsp.c
rv34dsp.h
rv34vlc.h
rv40.c
rv40data.h
rv40dsp.c
rv40vlc2.h
s302m.c
s302menc.c
samidec.c
sanm.c
sbc_parser.c
sbc.c
sbc.h
sbcdec_data.c
sbcdec_data.h
sbcdec.c
sbcdsp_data.c
sbcdsp_data.h
sbcdsp.c
sbcdsp.h
sbcenc.c
sbr.h
sbrdsp_fixed.c
sbrdsp_template.c
sbrdsp.c
sbrdsp.h
scpr3.c
scpr3.h
scpr.c
scpr.h
screenpresso.c
sei.h
setts_bsf.c
sga.c
sgi.h
sgidec.c
sgienc.c
sgirledec.c
sheervideo.c
sheervideodata.h
shorten.c
simple_idct_template.c
simple_idct.c
simple_idct.h
sinewin_fixed_tablegen.c
sinewin_fixed_tablegen.h
sinewin_tablegen.c
sinewin_tablegen.h
sinewin.c
sinewin.h
sipr16k.c
sipr16kdata.h
sipr_parser.c
sipr.c
sipr.h
siprdata.h
siren.c
smacker.c
smc.c
smcenc.c
snappy.c
snappy.h
snow_dwt.c
snow_dwt.h
snow.c
snow.h
snowdata.h
snowdec.c
snowenc.c avcodec/mpegpicture: Move encoding_error and mb_var_sum to MpegEncCtx 2022-08-10 18:49:35 +02:00
sonic.c
sp5x.h
sp5xdec.c
speedhq.c
speedhqenc.c
speedhqenc.h
speexdata.h
speexdec.c
srtdec.c
srtenc.c
startcode.c
startcode.h
subviewerdec.c
sunrast.c
sunrast.h
sunrastenc.c
svq1_cb.h
svq1_vlc.h
svq1.c
svq1.h
svq1dec.c
svq1enc_cb.h
svq1enc.c avcodec/mpegpicture: Move mb_var, mc_mb_var and mb_mean to MpegEncCtx 2022-08-09 19:17:22 +02:00
svq1enc.h
svq3.c
synth_filter.c
synth_filter.h
tableprint_vlc.h
tableprint.h
tak_parser.c
tak.c
tak.h
takdec.c avcodec/takdec: Remove unnecessary emms_c() 2022-08-24 03:42:38 +02:00
takdsp.c
takdsp.h
targa_y216dec.c
targa.c
targa.h
targaenc.c
tdsc.c
textdec.c
texturedsp_template.c
texturedsp.c
texturedsp.h
texturedspenc.c
thread.h
threadframe.h
tiertexseqv.c
tiff_common.c
tiff_common.h
tiff_data.h
tiff.c
tiff.h
tiffenc.c
tmv.c
to_upper4.c
to_upper4.h
tpeldsp.c
tpeldsp.h
trace_headers_bsf.c
truehd_core_bsf.c
truemotion1.c
truemotion1data.h
truemotion2.c
truemotion2rt.c
truespeech_data.h
truespeech.c
tscc2.c
tscc2data.h
tscc.c
tta.c
ttadata.c
ttadata.h
ttadsp.c
ttadsp.h
ttaenc.c
ttaencdsp.c
ttaencdsp.h
ttmlenc.c
ttmlenc.h
twinvq_data.h
twinvq.c
twinvq.h
twinvqdec.c
txd.c
ulti_cb.h
ulti.c
unary.h
utils.c
utvideo.h
utvideodec.c
utvideodsp.c
utvideodsp.h
utvideoenc.c
v4l2_buffers.c
v4l2_buffers.h
v4l2_context.c
v4l2_context.h
v4l2_fmt.c
v4l2_fmt.h
v4l2_m2m_dec.c
v4l2_m2m_enc.c
v4l2_m2m.c
v4l2_m2m.h
v210_template.c
v210dec_init.h
v210dec.c
v210dec.h
v210enc_init.h
v210enc.c
v210enc.h
v210x.c
v308dec.c
v308enc.c
v408dec.c The vuya pixel format was recently added, so this lavc workaround is no longer 2022-08-19 22:48:42 -03:00
v408enc.c The vuya pixel format was recently added, so this lavc workaround is no longer 2022-08-19 22:48:42 -03:00
v410dec.c
v410enc.c
vaapi_av1.c
vaapi_decode.c lavc/vaapi: Switch preferred 8bit 444 format to VUYX 2022-08-25 19:04:10 -07:00
vaapi_decode.h
vaapi_encode_h264.c
vaapi_encode_h265.c lavc/vaapi: Switch preferred 8bit 444 format to VUYX 2022-08-25 19:04:10 -07:00
vaapi_encode_mjpeg.c
vaapi_encode_mpeg2.c
vaapi_encode_vp8.c
vaapi_encode_vp9.c lavc/vaapi: Switch preferred 8bit 444 format to VUYX 2022-08-25 19:04:10 -07:00
vaapi_encode.c lavc/vaapi: Switch preferred 8bit 444 format to VUYX 2022-08-25 19:04:10 -07:00
vaapi_encode.h
vaapi_h264.c
vaapi_hevc.c
vaapi_hevc.h
vaapi_mjpeg.c
vaapi_mpeg2.c
vaapi_mpeg4.c
vaapi_vc1.c
vaapi_vp8.c
vaapi_vp9.c
vb.c
vble.c
vbn.h
vbndec.c
vbnenc.c
vc1_block.c
vc1_common.h
vc1_loopfilter.c
vc1_mc.c
vc1_parser.c
vc1_pred.c
vc1_pred.h
vc1.c
vc1.h
vc1acdata.h
vc1data.c
vc1data.h
vc1dec.c
vc1dsp.c
vc1dsp.h
vc2enc_dwt.c
vc2enc_dwt.h
vc2enc.c
vcr1.c
vdpau_av1.c
vdpau_h264.c
vdpau_hevc.c
vdpau_internal.h
vdpau_mpeg4.c
vdpau_mpeg12.c
vdpau_vc1.c
vdpau_vp9.c
vdpau.c
vdpau.h
version_major.h The vuya pixel format was recently added, so this lavc workaround is no longer 2022-08-19 22:48:42 -03:00
version.c
version.h lavc/vaapi: Switch preferred 8bit 444 format to VUYX 2022-08-25 19:04:10 -07:00
videodsp_template.c
videodsp.c
videodsp.h
videotoolbox_vp9.c videotoolbox_vp9: Add a missing include 2022-08-24 15:36:03 +03:00
videotoolbox.c
videotoolbox.h
videotoolboxenc.c
vima.c
vlc.c
vlc.h
vmdaudio.c
vmdvideo.c
vmnc.c
vorbis_data.c
vorbis_enc_data.h
vorbis_parser_internal.h
vorbis_parser.c
vorbis_parser.h
vorbis.c
vorbis.h
vorbisdec.c
vorbisdsp.c
vorbisdsp.h
vorbisenc.c
vp3_parser.c
vp3.c
vp3data.h
vp3dsp.c
vp3dsp.h
vp4data.h
vp5.c
vp5data.h
vp6.c
vp6data.h
vp6dsp.c
vp8_parser.c
vp8.c
vp8.h
vp8data.h
vp8dsp.c
vp8dsp.h
vp9_mc_template.c
vp9_metadata_bsf.c
vp9_parser.c
vp9_raw_reorder_bsf.c
vp9_superframe_bsf.c
vp9_superframe_split_bsf.c
vp9.c avcodec/vp9: Remove redundant reporting of progress on error 2022-08-10 14:58:37 +02:00
vp9.h
vp9block.c
vp9data.c
vp9data.h
vp9dec.h
vp9dsp_8bpp.c
vp9dsp_10bpp.c
vp9dsp_12bpp.c
vp9dsp_template.c
vp9dsp.c
vp9dsp.h
vp9lpf.c
vp9mvs.c
vp9prob.c
vp9recon.c
vp9shared.h
vp56.c
vp56.h
vp56data.c
vp56data.h
vp56dsp.c
vp56dsp.h
vp89_rac.h
vpx_rac.c
vpx_rac.h
vqavideo.c
vt_internal.h
wavpack.c avcodec/wavpack: fix regression in decoding 2022-08-25 09:12:17 +02:00
wavpack.h
wavpackdata.c
wavpackenc.c
wavpackenc.h
wbmpdec.c avcodec: WBMP (Wireless Application Protocol Bitmap) image format 2022-08-07 19:18:18 +10:00
wbmpenc.c avcodec: WBMP (Wireless Application Protocol Bitmap) image format 2022-08-07 19:18:18 +10:00
wcmv.c
webp_parser.c
webp.c
webvttdec.c
webvttenc.c
wma_common.c
wma_common.h
wma_freqs.c
wma_freqs.h
wma.c
wma.h
wmadata.h
wmadec.c
wmaenc.c
wmalosslessdec.c avcodec/wmalosslessdec: Remove unnecessary emms_c() 2022-08-24 03:42:38 +02:00
wmaprodata.h
wmaprodec.c
wmavoice_data.h
wmavoice.c
wmv2.c
wmv2.h
wmv2data.c
wmv2data.h
wmv2dec.c avcodec/wmv2dec: Zero mb_type array for I pictures 2022-08-10 18:49:35 +02:00
wmv2dec.h
wmv2dsp.c
wmv2dsp.h
wmv2enc.c
wmv2enc.h
wnv1.c
wrapped_avframe.c
ws-snd1.c
xan.c
xbm_parser.c
xbmdec.c
xbmenc.c
xface.c
xface.h
xfacedec.c
xfaceenc.c
xiph.c
xiph.h
xl.c
xma_parser.c
xpmdec.c
xsubdec.c
xsubenc.c
xvididct.c
xvididct.h
xvmc.h
xwd.h
xwddec.c
xwdenc.c
xxan.c
y41pdec.c
y41penc.c
ylc.c
yop.c
yuv4dec.c
yuv4enc.c
zerocodec.c
zlib_wrapper.c
zlib_wrapper.h
zmbv.c
zmbvenc.c