summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAge
* avfilter/window_func: add kaiser windowPaul B Mahol2022-10-20
|
* ffmpeg: Add display_{rotation, hflip, vflip} optionsJan Ekström2022-10-19
| | | | | | | | | This enables overriding the rotation as well as horizontal/vertical flip state of a specific video stream on the input side. Additionally, switch the singular test that was utilizing the rotation metadata to instead override the input display rotation, thus leading to the same result.
* avcodec: ViewQuest VQC decoderPeter Ross2022-10-18
| | | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Reviewed-by: Tomas Härdin <git@haerdin.se> Signed-off-by: Peter Ross <pross@xvid.org>
* doc/Doxyfile: Add FF_PAD_STRUCTURE to PREDEFINEDMarvin Scholz2022-10-17
| | | | | | | The FF_PAD_STRUCTURE is too complex for doxygen to be able to properly handle, resulting in completely broken AVBPrint documentation. To fix that, tell Doxygen what to expand that macro to.
* doc/filters: add another afftfilt examplePaul B Mahol2022-10-16
|
* doc/decoders: document the max_frame_delay libdav1d optionJames Almer2022-10-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/pixfmt.h: add native-endian RGB32F and RGBA32F formatsLeo Izen2022-10-11
| | | | | | | | | Add an AV_PIX_FMT_NE macro for RGB32FBE/RGB32FLE and also one for RGBA32FBE/RGBA32FLE for packed 32-bit float RGB samples, and also packed 32-bit float RGBA samples, respectively. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Leo Izen <leo.izen@gmail.com>
* avfilter/af_aspectralstats: allow to select subset of measurementsPaul B Mahol2022-10-11
|
* avfilter/af_adynamicequalizer: rework processingPaul B Mahol2022-10-09
|
* avformat/mpegtsenc: add omit_rai flagZhao Zhili2022-10-08
| | | | | | | Add PCR at keyframe can be undesirable when -pcr_period is specified. Add an flag to disable this behavior. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* lavu: bump minor and add APIChanges entry for RISC-V's RVBbasicLynne2022-10-05
|
* lavfi/avf_showspatial: add framerate optionAnton Khirnov2022-10-04
| | | | | | | | | | | Apparently this option was intended (the context contains a currently-unused frame_rate field), but was never added. This results in the output timebase being unset after config_output(), so the input audio timebase ends up being used for video output, which is clearly wrong. Add an option for setting output video framerate. Also set output frame durations.
* fftools/ffmpeg: drop the -async optionAnton Khirnov2022-10-04
| | | | | | | | | | | | It has been deprecated in favor of the aresample filter for almost 10 years. Another thing this option can do is drop audio timestamps and have them generated by the encoding code or the muxer, but - for encoding, this can already be done with the setpts filter - for muxing this should almost never be done as timestamp generation by the muxer is deprecated, but people who really want to do this can use the setts bitstream filter
* avformat/avio: Schedule AVIODirContext to become an opaque typeAndreas Rheinhardt2022-10-03
| | | | | | | Users can't make anything with its content. Making it opaque might allow us to avoid one level of indirection. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu: add an APIchanges entry for RISC-V CPU flagsAnton Khirnov2022-10-02
| | | | Forgotten in 0c0a3deb18.
* doc/APIchanges: mention the addition of AV_PIX_FMT_RGB[A]F*Anton Khirnov2022-10-02
| | | | | | lavu minor bump was apparently forgotten for those, so mention them in the block adding av_chroma_location*(), which was the next lavu minor bump.
* libavcodec/qsvenc: Add pic_timing_sei reset support to qsvWenbin Chen2022-09-30
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add bitrate reset support to qsvencWenbin Chen2022-09-30
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add framerate reset support to qsvWenbin Chen2022-09-30
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* avcodec/avcodec: Deprecate lavc chroma pos API functionsAndreas Rheinhardt2022-09-26
| | | | | | | | | | | | avcodec_enum_to_chroma_pos() and avcodec_chroma_pos_to_enum() deal with enum AVChromaLocation which is defined in lavu. These functions are therefore replaced by av_chroma_location_enum_to_pos() and av_chroma_location_pos_to_enum(). This commit provides the necessary deprecations. Also already make these functions wrappers around the corresponding lavu functions as not doing so would force one to disable deprecation warnings. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixdesc: Add av_chroma_location_(enum_to_pos|pos_to_enum)Andreas Rheinhardt2022-09-26
| | | | | | | They are intended as replacements for avcodec_enum_to_chroma_pos() and avcodec_chroma_pos_to_enum(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/avcodec: Move AV_ER_* and FF_COMPLIANCE_* to defs.hAndreas Rheinhardt2022-09-26
| | | | | | | | They are also frequently used in libavformat. This change does not cause any breakage as avcodec.h includes defs.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_redundant_pps_bsf: Don't remove PPSAndreas Rheinhardt2022-09-25
| | | | | | | | | | | | | | | | | | | | | | | There is no check for whether these supposedly redundant PPS are actually redundant. One could check via memcmp which would work in practice* (because all content buffers are initially zero-allocated), but this is not portable as compilers may trash padding inside structures as they wish. In case the PPS is not really redundant the output is garbage. This happens with several files from the FATE-suite. E.g. h264-conformance/CVCANLMA2_Sony_C.jsv doesn't decode correctly any more, whereas h264-conformance/CABA3_TOSHIBA_E.264 even fails in ff_cbs_write_packet(), because the inferred value of num_ref_idx_l0_active_minus1 mismatches with the value set in the slice (this happens when num_ref_idx_l0_default_active_minus1 changes in the PPS; the value in the slice header is inferred from the original PPS's num_ref_idx_l0_default_active_minus1). *: Unless slice_group_id is used, i.e. unless slice_group_map_type is six. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc: mention new audio formatsPaul B Mahol2022-09-24
|
* doc/examples/extract_mvs: add motion informationChema Gonzalez2022-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that the motion information includes subpel motion information This was likely forgotten in 56bdf61baa04c4fd8d165f34499115ce0aa97c43. Tested: ``` $ make examples -j ... $ doc/examples/extract_mvs in.264 | head -40 | \ csvcut -C framenum,source,flags |csvlook | blockw | blockh | srcx | srcy | dstx | dsty | motion_x | motion_y | motion_scale | | ------ | ------ | ----- | ---- | ----- | ---- | -------- | -------- | ------------ | | 16 | 16 | 20 | 26 | 8 | 8 | 49 | 72 | 4 | | 16 | 16 | 152 | 15 | 136 | 8 | 65 | 28 | 4 | | 16 | 8 | 360 | 3 | 360 | 4 | 1 | -6 | 4 | | 16 | 8 | 360 | 13 | 360 | 12 | -1 | 4 | 4 | | 16 | 16 | 440 | 10 | 440 | 8 | 3 | 10 | 4 | | 8 | 16 | 829 | 7 | 836 | 8 | -31 | -6 | 4 | | 8 | 16 | 844 | 7 | 844 | 8 | -1 | -4 | 4 | | 16 | 16 | 1,004 | 14 | 1,048 | 8 | -177 | 24 | 4 | | 16 | 16 | 1,096 | 8 | 1,096 | 8 | -1 | 0 | 4 | | 16 | 8 | 1,417 | 24 | 1,416 | 4 | 7 | 82 | 4 | | 16 | 8 | 1,416 | 13 | 1,416 | 12 | 0 | 6 | 4 | | 16 | 8 | 87 | 20 | 88 | 20 | -7 | 0 | 4 | | 16 | 8 | 99 | 44 | 88 | 28 | 45 | 66 | 4 | ... ``` Also: ``` $ make fate -j ... ``` Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* x86/tx_float: add 15xN PFA FFT AVX SIMDLynne2022-09-23
| | | | | | | | | ~4x faster than the C version. The shuffles in the 15pt dim1 are seriously expensive. Not happy with it, but I'm contempt. Can be easily converted to pure AVX by removing all vpermpd/vpermps instructions.
* avcodec/libvpxenc: add -min-gf-intervalJames Zern2022-09-22
| | | | | | | | this maps to the vpxenc argument with the same name and the VP9E_SET_MIN_GF_INTERVAL codec control Signed-off-by: James Zern <jzern@google.com> Reviewed-by: Vignesh Venkatasubramanian <vigneshv@google.com>
* doc/filters: add speechnorm examplesPaul B Mahol2022-09-18
|
* avformat: add LAF demuxerPaul B Mahol2022-09-16
|
* avcodec: add MI-SC4 audio decoderPaul B Mahol2022-09-16
|
* libavfilter: add vf_colorrange_cuda, CUDA-accelerated color conversion filterRoman Arzumanyan2022-09-13
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* doc: reference the RISC-V specificationRémi Denis-Courmont2022-09-13
|
* libavcodec/qsvenc: Add low_delay_brc reset support to qsvencWenbin Chen2022-09-09
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add max/min qp reset support in qsvencWenbin Chen2022-09-09
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add intra refresh reset support to qsvencWenbin Chen2022-09-09
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add "slice" intra refresh type to qsvencWenbin Chen2022-09-09
| | | | | | | Add "slice" intra refresh type to h264_qsv and hevc_qsv. This type means horizontal refresh by slices without overlapping. Also update the doc. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add gop_size reset support to qsvencWenbin Chen2022-09-09
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add max_frame_size reset support to qsvWenbin Chen2022-09-09
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* lavc/qsvenc: use VBR if maxrate is not specified on WindowsHaihao Xiang2022-09-07
| | | | | | | | | | | | | | Currently AVBR is disabled and VBR is the default method if maxrate is not specified on Linux, but AVBR is the default one if maxrate is not specified on Windows. In order to make user experience better accross Linux and Windows, use VBR by default on Windows if maxrate is not specified. User need to set both avbr_accuracy and avbr_convergence to non-zero explicitly and not to specify maxrate if AVBR is expected. In addition, AVBR works for H264 and HEVC only in the SDK. $ ffmpeg.exe -v verbose -f lavfi -i yuvtestsrc -vf "format=nv12" -c:v vp9_qsv -f null -
* fftools/ffprobe: Report initial and trailing paddingAndreas Rheinhardt2022-09-05
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/pixfmt: Add P012, Y212, XV30, and XV36 formatsPhilip Langdale2022-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are the formats we want/need to use when dealing with the Intel VAAPI decoder for 12bit 4:2:0, 12bit 4:2:2, 10bit 4:4:4 and 12bit 4:4:4 respectively. As with the already supported Y210 and YUVX (XVUY) formats, they are based on formats Microsoft picked as their preferred 4:2:2 and 4:4:4 video formats, and Intel ran with it. P12 and Y212 are simply an extension of 10 bit formats to say 12 bits will be used, with 4 unused bits instead of 6. XV30, and XV36, as exotic as they sound, are variants of Y410 and Y412 where the alpha channel is left formally undefined. We prefer these over the alpha versions because the hardware cannot actually do anything with the alpha channel and respecting it is just overhead. Y412/XV46 is a normal looking packed 4 channel format where each channel is 16bits wide but only the 12msb are used (like P012). Y410/XV30 packs three 10bit channels in 32bits with 2bits of alpha, like A/X2RGB10 style formats. This annoying layout forced me to define the BE version as a bitstream format. It seems like our pixdesc infrastructure can handle the LE version being byte-defined, but not when it's reversed. If there's a better way to handle this, please let me know. Our existing X2 formats all have the 2 bits at the MSB end, but this format places them at the LSB end and that seems to be the root of the problem.
* avutil/file: Properly deprecate av_tempfile()Andreas Rheinhardt2022-09-03
| | | | | | | | | | It has been deprecated in b4f59beeb4c2171879d0d7607a4a7d6165f07791, but the attribute_deprecated was not set and there was no entry in APIchanges. This commit adds these and schedules it for removal. Given that the reason behind the deprecation is exactly the same as in av_fopen_utf8(), reuse its FF_API_AV_FOPEN_UTF8. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter: add bilateral_cuda filterMohamed Khaled Mohamed2022-09-03
| | | | | | | GSoC 2022 Signed-off-by: Mohamed Khaled <mohamed.elbassiony00@eng-st.cu.edu.eg> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avfilter: add 3D scope multimedia filterPaul B Mahol2022-09-03
|
* doc/git-howto.texi: Document commit signingMichael Niedermayer2022-08-28
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/pixfmt: Introduce VUYX formatPhilip Langdale2022-08-25
| | | | | | | | | | | | | | This is the alphaless version of VUYA that I introduced recently. After further discussion and noting that the Intel vaapi driver explicitly lists XYUV as a support format for encoding and decoding 8bit 444 content, we decided to switch our usage and avoid the overhead of having a declared alpha channel around. Note that I am not removing VUYA, as this turned out to have another use, which was to replace the need for v408enc/dec when dealing with the format. The vaapi switching will happen in the next change
* qsvenc_{hevc,h264}: add scenario optionHaihao Xiang2022-08-23
| | | | | | | | User may get better experience after providing corresponding senario hint to encoder for the encoding session. See [1] for scenario support in the SDK [1]https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#scenarioinfo
* libavcodec/qsvenc: Add adaptive_i/b to hevc_qsvWenbin Chen2022-08-23
| | | | | | | | | Add adaptive_i/b feature to hevc_qsv. Adaptive_i allows changing of frame type from P and B to I. Adaptive_b allows changing of frame type frome B to P. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavf: deprecate av_stream_get_end_pts()Anton Khirnov2022-08-22
| | | | | | | | | | | According to its documentation it returns "pts of the last muxed packet + its duration", but the value it actually returns right now is (possibly guessed) dts after muxer-internal bitstream filtering (if any). This function was added for ffmpeg.c, but it is not used there anymore. Since the value it returns is ill-defined and so inappropriate for any serious use, deprecate it.
* APIchanges: fix library version in the latest entryJames Almer2022-08-19
| | | | | | Also add commit hash and date while at it. Signed-off-by: James Almer <jamrial@gmail.com>