[FFmpeg-cvslog] changelog: update for 7.0
ffmpeg | branch: release/7.0 | Jean-Baptiste Kempf | Wed Apr 3 23:12:54 2024 +0200| [3b6732bcb30783daaf5998207bf79061f4733ff5] | committer: James Almer changelog: update for 7.0 Signed-off-by: James Almer (cherry picked from commit 486a2b964ba4e496ecd821e189d495ad06585abe) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3b6732bcb30783daaf5998207bf79061f4733ff5 --- Changelog | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index e83a00e35c..456af3ff59 100644 --- a/Changelog +++ b/Changelog @@ -17,7 +17,7 @@ version 7.0: - qrencode filter and qrencodesrc source - quirc filter - lavu/eval: introduce randomi() function in expressions -- VVC decoder +- VVC decoder (experimental) - fsync filter - Raw Captions with Time (RCWT) closed caption muxer - ffmpeg CLI -bsf option may now be used for input as well as output @@ -38,6 +38,15 @@ version 7.0: - ffplay with hwaccel decoding support (depends on vulkan renderer via libplacebo) - dnn filter libtorch backend - Android content URIs protocol +- AOMedia Film Grain Synthesis 1 (AFGS1) +- RISC-V optimizations for AAC, FLAC, JPEG-2000,LPC, RV4.0, SVQ, VC1, VP8 and more +- Loongarch optimizations for HEVC decoding +- Important AArch64 optimizations for HEVC +- IAMF support inside MP4/ISOBMFF +- Support for HEIF/AVIF still images and tiled still images +- Dolby Vision profile 10 support in AV1 +- Support for Ambient Viewing Environment metadata in MP4/ISOBMFF +- HDR10 metadata passthrough when encoding with libx264, libx265 and libsvtav1 version 6.1: ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] changelog: update for 7.0
ffmpeg | branch: master | Jean-Baptiste Kempf | Wed Apr 3 23:12:54 2024 +0200| [486a2b964ba4e496ecd821e189d495ad06585abe] | committer: James Almer changelog: update for 7.0 Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=486a2b964ba4e496ecd821e189d495ad06585abe --- Changelog | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index fcc9f7cfba..a65c8ceee5 100644 --- a/Changelog +++ b/Changelog @@ -21,7 +21,7 @@ version 7.0: - qrencode filter and qrencodesrc source - quirc filter - lavu/eval: introduce randomi() function in expressions -- VVC decoder +- VVC decoder (experimental) - fsync filter - Raw Captions with Time (RCWT) closed caption muxer - ffmpeg CLI -bsf option may now be used for input as well as output @@ -42,6 +42,15 @@ version 7.0: - ffplay with hwaccel decoding support (depends on vulkan renderer via libplacebo) - dnn filter libtorch backend - Android content URIs protocol +- AOMedia Film Grain Synthesis 1 (AFGS1) +- RISC-V optimizations for AAC, FLAC, JPEG-2000,LPC, RV4.0, SVQ, VC1, VP8 and more +- Loongarch optimizations for HEVC decoding +- Important AArch64 optimizations for HEVC +- IAMF support inside MP4/ISOBMFF +- Support for HEIF/AVIF still images and tiled still images +- Dolby Vision profile 10 support in AV1 +- Support for Ambient Viewing Environment metadata in MP4/ISOBMFF +- HDR10 metadata passthrough when encoding with libx264, libx265 and libsvtav1 version 6.1: ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] doc/developer: require asm for RISC-V
ffmpeg | branch: master | Jean-Baptiste Kempf | Tue Dec 5 10:56:55 2023 +0100| [6e26a5a64e123535026e2266ae039baed72f35d6] | committer: J. Dekker doc/developer: require asm for RISC-V Explicitly document our usage of assembly, following suit with other architectures. Signed-off-by: J. Dekker > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e26a5a64e123535026e2266ae039baed72f35d6 --- doc/developer.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.texi b/doc/developer.texi index 26dc5b9749..eed0ee4915 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -99,7 +99,7 @@ The specific syntax used for writing assembly is: NASM on x86; @item -GAS on ARM. +GAS on ARM and RISC-V. @end itemize A unit testing framework for assembly called @code{checkasm} lives under ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] Doc: Tech Resolution Process
ffmpeg | branch: master | Jean-Baptiste Kempf | Wed Mar 10 21:40:22 2021 +0100| [b7bf631f9131b78fc6535c7ecc5ad0c76f532d70] | committer: Anton Khirnov Doc: Tech Resolution Process > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b7bf631f9131b78fc6535c7ecc5ad0c76f532d70 --- doc/dev_community/community.md | 2 +- doc/dev_community/resolution_process.md | 91 + 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/doc/dev_community/community.md b/doc/dev_community/community.md index 49d7f899aa..21e08e20e3 100644 --- a/doc/dev_community/community.md +++ b/doc/dev_community/community.md @@ -53,7 +53,7 @@ can trigger a new election of the TC. The members of the TC can be elected from outside of the GA. Candidates for election can either be suggested or self-nominated. -The conflict resolution process is detailed in the [resolution process] document. +The conflict resolution process is detailed in the [resolution process](resolution_process.md) document. ## Community committee diff --git a/doc/dev_community/resolution_process.md b/doc/dev_community/resolution_process.md new file mode 100644 index 00..4ed0b63c43 --- /dev/null +++ b/doc/dev_community/resolution_process.md @@ -0,0 +1,91 @@ +# Technical Committee + +_This document only makes sense with the rules from [the community document](community)_. + +The Technical Committee (**TC**) is here to arbitrate and make decisions when +technical conflicts occur in the project. + +The TC main role is to resolve technical conflicts. +It is therefore not a technical steering committee, but it is understood that +some decisions might impact the future of the project. + +# Process + +## Seizing + +The TC can take possession of any technical matter that it sees fit. + +To involve the TC in a matter, email tc@ or CC them on an ongoing discussion. + +As members of TC are developers, they also can email tc@ to raise an issue. + +## Announcement + +The TC, once seized, must announce itself on the main mailing list, with a _[TC]_ tag. + +The TC has 2 modes of operation: a RFC one and an internal one. + +If the TC thinks it needs the input from the larger community, the TC can call +for a RFC. Else, it can decide by itself. + +If the disagreement involves a member of the TC, that member should recuse +themselves from the decision. + +The decision to use a RFC process or an internal discussion is a discretionary +decision of the TC. + +The TC can also reject a seizure for a few reasons such as: +the matter was not discussed enough previously; it lacks expertise to reach a +beneficial decision on the matter; or the matter is too trivial. + +### RFC call + +In the RFC mode, one person from the TC posts on the mailing list the +technical question and will request input from the community. + +The mail will have the following specification: +* a precise title +* a specific tag [TC RFC] +* a top-level email +* contain a precise question that does not exceed 100 words and that is answerable by developers +* may have an extra description, or a link to a previous discussion, if deemed necessary, +* contain a precise end date for the answers. + +The answers from the community must be on the main mailing list and must have +the following specification: +* keep the tag and the title unchanged +* limited to 400 words +* a first-level, answering directly to the main email +* answering to the question. + +Further replies to answers are permitted, as long as they conform to the +community standards of politeness, they are limited to 100 words, and are not +nested more than once. (max-depth=2) + +After the end-date, mails on the thread will be ignored. + +Violations of those rules will be escalated through the Community Committee. + +After all the emails are in, the TC has 96 hours to give its final decision. +Exceptionally, the TC can request an extra delay, that will be notified on the +mailing list. + +### Within TC + +In the internal case, the TC has 96 hours to give its final decision. +Exceptionally, the TC can request an extra delay. + + +## Decisions + +The decisions from the TC will be sent on the mailing list, with the _[TC]_ tag. + +Internally, the TC should take decisions with a majority, or using +ranked-choice voting. + +The decision from the TC should be published with a summary of the reasons that +lead to this decision. + +The decisions from the TC are final, until the matters are reopened after +no less than one year. + ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] avcodec: add SpeedHQ encoder
ffmpeg | branch: master | Jean-Baptiste Kempf | Mon Nov 9 12:25:02 2020 +0100| [052a5993adfc749b4283aac4ca0dec3087b7091a] | committer: Paul B Mahol avcodec: add SpeedHQ encoder > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=052a5993adfc749b4283aac4ca0dec3087b7091a --- Changelog | 1 + doc/general_contents.texi | 2 +- libavcodec/Makefile| 1 + libavcodec/allcodecs.c | 1 + libavcodec/mpegutils.h | 1 + libavcodec/mpegvideo.h | 3 + libavcodec/mpegvideo_enc.c | 53 +++- libavcodec/speedhq.c | 8 +- libavcodec/speedhqenc.c| 316 + libavcodec/speedhqenc.h| 48 +++ libavcodec/version.h | 4 +- 11 files changed, 428 insertions(+), 10 deletions(-) diff --git a/Changelog b/Changelog index fcdabce2f2..8b2e17378c 100644 --- a/Changelog +++ b/Changelog @@ -46,6 +46,7 @@ version : - NVDEC AV1 hwaccel - DXVA2/D3D11VA hardware accelerated AV1 decoding - speechnorm filter +- SpeedHQ encoder version 4.3: diff --git a/doc/general_contents.texi b/doc/general_contents.texi index 7033816b5a..1be6f9b683 100644 --- a/doc/general_contents.texi +++ b/doc/general_contents.texi @@ -972,7 +972,7 @@ following image formats are supported: @item MPEG-4 part 2 Microsoft variant version 1 @tab @tab X @item MPEG-4 part 2 Microsoft variant version 2 @tab X @tab X @item MPEG-4 part 2 Microsoft variant version 3 @tab X @tab X -@item Newtek SpeedHQ @tab @tab X +@item Newtek SpeedHQ @tab X @tab X @item Nintendo Gamecube THP video @tab @tab X @item NotchLC@tab @tab X @item NuppelVideo/RTjpeg @tab @tab X diff --git a/libavcodec/Makefile b/libavcodec/Makefile index b4777be4d4..a6435c9e85 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -625,6 +625,7 @@ OBJS-$(CONFIG_SONIC_DECODER) += sonic.o OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o OBJS-$(CONFIG_SONIC_LS_ENCODER)+= sonic.o OBJS-$(CONFIG_SPEEDHQ_DECODER) += speedhq.o mpeg12.o mpeg12data.o simple_idct.o +OBJS-$(CONFIG_SPEEDHQ_ENCODER) += speedhq.o mpeg12data.o speedhqenc.o OBJS-$(CONFIG_SP5X_DECODER)+= sp5xdec.o OBJS-$(CONFIG_SRGC_DECODER)+= mscc.o OBJS-$(CONFIG_SRT_DECODER) += srtdec.o ass.o htmlsubtitles.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 8bdc0d6bf7..774d5670bf 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -297,6 +297,7 @@ extern AVCodec ff_snow_encoder; extern AVCodec ff_snow_decoder; extern AVCodec ff_sp5x_decoder; extern AVCodec ff_speedhq_decoder; +extern AVCodec ff_speedhq_encoder; extern AVCodec ff_srgc_decoder; extern AVCodec ff_sunrast_encoder; extern AVCodec ff_sunrast_decoder; diff --git a/libavcodec/mpegutils.h b/libavcodec/mpegutils.h index 1ed21c19be..81f0b73bb1 100644 --- a/libavcodec/mpegutils.h +++ b/libavcodec/mpegutils.h @@ -125,6 +125,7 @@ enum OutputFormat { FMT_H261, FMT_H263, FMT_MJPEG, +FMT_SPEEDHQ, }; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 29e692f245..974c71b6bd 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -444,6 +444,9 @@ typedef struct MpegEncContext { int inter_intra_pred; int mspel; +/* SpeedHQ specific */ +int slice_start; + /* decompression specific */ GetBitContext gb; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index f16b26c9f2..7afc789ec0 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -51,6 +51,7 @@ #include "mathops.h" #include "mpegutils.h" #include "mjpegenc.h" +#include "speedhqenc.h" #include "msmpeg4.h" #include "pixblockdsp.h" #include "qpeldsp.h" @@ -326,6 +327,15 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } break; +case AV_CODEC_ID_SPEEDHQ: +if (avctx->pix_fmt != AV_PIX_FMT_YUV420P && +avctx->pix_fmt != AV_PIX_FMT_YUV422P && +avctx->pix_fmt != AV_PIX_FMT_YUV444P) { +av_log(avctx, AV_LOG_ERROR, + "only YUV420/YUV422/YUV444 are supported (no alpha support yet)\n"); +return AVERROR(EINVAL); +} +break; default: if (avctx->pix_fmt != AV_PIX_FMT_YUV420P) { av_log(avctx, AV_LOG_ERROR, "only YUV420 is supported\n"); @@ -732,7 +742,7 @@ FF_ENABLE_DEPRECATION_WARNINGS //return -1; } -if (s->mpeg_quant || s->codec_id == AV_CODEC_ID_MPEG1VIDEO || s->codec_id == AV_CODEC_ID_MPEG2VIDEO || s->codec_id == AV_CODEC_ID_MJPEG || s->codec_id==AV_CODEC_ID_AMV) { +if (s->mpeg_quant || s->codec_id == AV_CODEC_ID_MPEG1VIDEO || s->codec_id == AV_CODEC_ID_
[FFmpeg-cvslog] Speedhq: Decode field 2 correctly
ffmpeg | branch: master | Jean-Baptiste Kempf | Sun May 10 18:09:51 2020 +0200| [fc3f5cd149326b0a478c9a4a34acc22cf757ef02] | committer: Kieran Kunhya Speedhq: Decode field 2 correctly This is similar to field 1 (effd2e72) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fc3f5cd149326b0a478c9a4a34acc22cf757ef02 --- libavcodec/speedhq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c index 890b8253cd..b834b79f28 100644 --- a/libavcodec/speedhq.c +++ b/libavcodec/speedhq.c @@ -447,7 +447,7 @@ static int speedhq_decode_frame(AVCodecContext *avctx, } frame->key_frame = 1; -if (second_field_offset == 4) { +if (second_field_offset == 4 || second_field_offset == (buf_size-4)) { /* * Overlapping first and second fields is used to signal * encoding only a single field. In this case, "height" ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-cvslog] avcodec: Add NVENC encoder
On 11 Dec, Timo Rothenpieler wrote : +#if defined(_WIN32) !defined(__CYGWIN__) +#include windows.h +#else +#include dlfcn.h +#endif + +/* NVENC API is stdcall in cygwin, as it's still Windows */ +#if defined(__CYGWIN__) !defined(_WIN32) +#define _WIN32 +#define TEMP_WIN32 +#endif + +#include nvEncodeAPI.h + +#if defined(TEMP_WIN32) +#undef _WIN32 +#endif How can you commit such things? Defining symbols starting with _ + uppercase ? This is a violation of the C standards. Cygwin is very able to use windows.h functions. If not, it's their mess, but this has nothing to do here. With my kindest regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog