Re: [FFmpeg-devel] [PATCH 2/3] avcodec/nvdec: Use av_buffer_replace() where appropriate
First two patches LGTM ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 3/3] avcodec/nvdec: Redo handling of failure in nvdec_retrieve_data()
I'm not immediately convinced one is better than the other, but no strong opinion there, both approached work just fine. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCHv3] avcodec: WBMP (Wireless Application Protocol Bitmap) image format
Reviewed-by: Andreas Rheinhardt Signed-off-by: Peter Ross --- flipped fate ref file order, due to 4fb8741c4670965eaf1f78d6122c6bdfdf1f3358 submitting to patchwork before push Changelog | 1 + doc/general_contents.texi | 2 + libavcodec/Makefile | 2 + libavcodec/allcodecs.c| 2 + libavcodec/codec_desc.c | 7 +++ libavcodec/codec_id.h | 1 + libavcodec/version.h | 4 +- libavcodec/wbmpdec.c | 92 +++ libavcodec/wbmpenc.c | 89 + libavformat/img2.c| 1 + libavformat/img2enc.c | 2 +- libavformat/version.h | 2 +- tests/fate/lavf-image.mak | 1 + tests/ref/lavf/wbmp | 3 ++ 14 files changed, 205 insertions(+), 4 deletions(-) create mode 100644 libavcodec/wbmpdec.c create mode 100644 libavcodec/wbmpenc.c create mode 100644 tests/ref/lavf/wbmp diff --git a/Changelog b/Changelog index d5f3d36094..cc271c22bd 100644 --- a/Changelog +++ b/Changelog @@ -9,6 +9,7 @@ version : - ffmpeg now runs every muxer in a separate thread - Add new mode to cropdetect filter to detect crop-area based on motion vectors and edges - VAAPI hwaccel for 8bit 444 HEVC and VP9 +- WBMP (Wireless Application Protocol Bitmap) image format version 5.1: diff --git a/doc/general_contents.texi b/doc/general_contents.texi index f25c784d3b..86ec6d606b 100644 --- a/doc/general_contents.texi +++ b/doc/general_contents.texi @@ -801,6 +801,8 @@ following image formats are supported: @tab Targa (.TGA) image format @item VBN @tab X @tab X @tab Vizrt Binary Image format +@item WBMP @tab X @tab X +@tab Wireless Application Protocol Bitmap image format @item WebP @tab E @tab X @tab WebP image format, encoding supported through external library libwebp @item XBM @tab X @tab X diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 727775f066..83901bb52b 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -758,6 +758,8 @@ OBJS-$(CONFIG_VP9_V4L2M2M_DECODER) += v4l2_m2m_dec.o OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o wavpackdata.o dsd.o OBJS-$(CONFIG_WAVPACK_ENCODER) += wavpackdata.o wavpackenc.o +OBJS-$(CONFIG_WBMP_DECODER)+= wbmpdec.o +OBJS-$(CONFIG_WBMP_ENCODER)+= wbmpenc.o OBJS-$(CONFIG_WCMV_DECODER)+= wcmv.o OBJS-$(CONFIG_WEBP_DECODER)+= webp.o OBJS-$(CONFIG_WEBVTT_DECODER) += webvttdec.o ass.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 31d2c5979c..c94e2d5966 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -378,6 +378,8 @@ extern const FFCodec ff_vp9_decoder; extern const FFCodec ff_vp9_rkmpp_decoder; extern const FFCodec ff_vp9_v4l2m2m_decoder; extern const FFCodec ff_vqa_decoder; +extern const FFCodec ff_wbmp_decoder; +extern const FFCodec ff_wbmp_encoder; extern const FFCodec ff_webp_decoder; extern const FFCodec ff_wcmv_decoder; extern const FFCodec ff_wrapped_avframe_encoder; diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index fdcf8198fe..c1a177c22d 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1900,6 +1900,13 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("HDR (Radiance RGBE format) image"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, }, +{ +.id= AV_CODEC_ID_WBMP, +.type = AVMEDIA_TYPE_VIDEO, +.name = "wbmp", +.long_name = NULL_IF_CONFIG_SMALL("WBMP (Wireless Application Protocol Bitmap) image"), +.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, +}, /* various PCM "codecs" */ { diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 27bf68ec1d..386a00a7ef 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -313,6 +313,7 @@ enum AVCodecID { AV_CODEC_ID_QOI, AV_CODEC_ID_PHM, AV_CODEC_ID_RADIANCE_HDR, +AV_CODEC_ID_WBMP, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x1, ///< A dummy id pointing at the start of audio codecs diff --git a/libavcodec/version.h b/libavcodec/version.h index 751f0d2645..e488eee355 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,8 +29,8 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 41 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MINOR 42 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/libavcodec/wbmpdec.c b/libavcodec/wbmpdec.c new file mode 100644 index 00..0d0e574d9c --- /dev/null +++ b/libavcodec/wbmpdec.c @@ -0,0 +1,92 @@ +/* + * WBMP (Wireless Application Protocol Bitmap) image + * + * This file is part
Re: [FFmpeg-devel] ffmpeg.org issue today
Hi everyone as some may have noticed there was a 2nd hang happening yesterday 5th/6th august so heres a update about what i/we know/guess the 2nd hang seems to have looked like the first. ive spend some time yesterday looking over logs, there are some showers of slightly odd entries in the apache webserver logs, similar entries occured 3 times, 2 of which preceeded the server hangs by 1-2 minutes these entries come from 2 IP addresses 143.198.181.190 and 159.89.231.156 first preceeded the first hang and 2nd the 2nd hang https://www.malwareurl.com/listing.php?domain=143.198.181.190 says "Vulnerability Scanner" https://www.malwareurl.com/listing.php?domain=159.89.231.156 says "Brute-force attacker IP" it seemed these IPs spidered over random bits of the webpage, lots of gitweb a little bit of old trac links and other tiny bits of random bits, some nonsensical urls too with randomly faked browser ids all of this is alot of guessing but if we assume this was some sort of Vulnerability scanner seaching for some interresting bits on public web (where it maybe did not find much) a subsequent step of the scanner may have triggered a unfixed bug in something that caused the server to hang. thats alot speculation, and other things are possible including some hw issue that got triggered from higher load no signs of any successfull intrusion, not even anything crashing, its just the whole box hanging raz has updated the kernel now beyond what is teh default for our ubuntu also i recommand everyone to always check signatures of releases that obviosuly is not just for ffmpeg but for anything you download from the internet. thx On Wed, Jul 27, 2022 at 01:16:45PM +0200, Michael Niedermayer wrote: > Hi all > > ffmpeg.org was down today, heres what I know & what happened > > i woke up, looked at IRC saw someone saying ffmpeg.org is down, tried loging > in with ssh and that timed out (i kept trying to login while trying other > things) > i mailed the other root admins and started to look around > what i found was the host and VM where running, no signs of any anomalies on > the host > loging into the VM was not successfull, i decided to wait for raz or others to > take a look before attempting to restart it as raz has vastly more knowledge > and > experience and i didnt want to do more harm or loose information about what > happened. raz also failed to gather usefull information about the vm so he > restarted ffmpeg.org > the box came up as if nothing ever happened, we both looked over logs in > search > of the cause, but came up empty handed. logs just ended Jul 26 22:47:14 which > is > probably when the box did hang > all relevant packages where uptodate, the running kernel also seems to have > been the latest avalable for the ubuntu distrubution > > thx > > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > Dictatorship naturally arises out of democracy, and the most aggravated > form of tyranny and slavery out of the most extreme liberty. -- Plato > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Observe your enemies, for they first find out your faults. -- Antisthenes signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] ffmpeg.org issue today
I had similar issues with Apache on my own server, and never found a concise reason as to what was going on. It seemed like Apache sometimes felt like stopping operation until restarting it. Stopped happening after some Apache updates. Most likely candidate in my case is the DoS attack that was fixed in 2.4.38. It only manifests if Apache is used with openssl 1.1.1+ (CVE-2019-0190). ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 2/3] avcodec/raw: add VUYA pixel format to raw_pix_fmt_tags
On Sat, Aug 06, 2022 at 09:34:55PM -0300, James Almer wrote: > Signed-off-by: James Almer > --- > libavcodec/raw.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/libavcodec/raw.c b/libavcodec/raw.c > index a371bb36c4..1e5b48d1e0 100644 > --- a/libavcodec/raw.c > +++ b/libavcodec/raw.c > @@ -72,6 +72,7 @@ static const PixelFormatTag raw_pix_fmt_tags[] = { > { AV_PIX_FMT_GRAY8, MKTAG('G', 'R', 'E', 'Y') }, > { AV_PIX_FMT_NV12,MKTAG('N', 'V', '1', '2') }, > { AV_PIX_FMT_NV21,MKTAG('N', 'V', '2', '1') }, > +{ AV_PIX_FMT_VUYA,MKTAG('A', 'Y', 'U', 'V') }, /* MS 4:4:4:4 */ > > /* nut */ > { AV_PIX_FMT_RGB555LE, MKTAG('R', 'G', 'B', 15) }, iam possibly missing some patch but this seems failing here TESTfilter-pixfmts-scale --- ./tests/ref/fate/filter-pixfmts-scale 2022-08-07 13:23:20.154330375 +0200 +++ tests/data/fate/filter-pixfmts-scale2022-08-07 13:36:27.701410658 +0200 @@ -89,7 +89,7 @@ rgba64beee73e57923af984b31cc7795d13929da rgba64le783d2779adfafe3548bdb671ec0de69e uyvy422 aeb4ba4f9f003ae21f6d18089198244f -vuyaab4c9c4a6b6946945eeb23e15d0341b0 +vuyad41d8cd98f00b204e9800998ecf8427e x2bgr10le d57b9a99033cc7b65ddd111578f2d385 x2rgb10le d56bdb23fa6a8e12a0b4394987f89935 xyz12be c7ba8345998c0141ddc079cdd29b1a40 Test filter-pixfmts-scale failed. Look at tests/data/fate/filter-pixfmts-scale.err for details. tests/Makefile:304: recipe for target 'fate-filter-pixfmts-scale' failed make: *** [fate-filter-pixfmts-scale] Error 1 [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB You can kill me, but you cannot change the truth. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 2/3] avcodec/raw: add VUYA pixel format to raw_pix_fmt_tags
On 8/7/2022 8:39 AM, Michael Niedermayer wrote: On Sat, Aug 06, 2022 at 09:34:55PM -0300, James Almer wrote: Signed-off-by: James Almer --- libavcodec/raw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/raw.c b/libavcodec/raw.c index a371bb36c4..1e5b48d1e0 100644 --- a/libavcodec/raw.c +++ b/libavcodec/raw.c @@ -72,6 +72,7 @@ static const PixelFormatTag raw_pix_fmt_tags[] = { { AV_PIX_FMT_GRAY8, MKTAG('G', 'R', 'E', 'Y') }, { AV_PIX_FMT_NV12,MKTAG('N', 'V', '1', '2') }, { AV_PIX_FMT_NV21,MKTAG('N', 'V', '2', '1') }, +{ AV_PIX_FMT_VUYA,MKTAG('A', 'Y', 'U', 'V') }, /* MS 4:4:4:4 */ /* nut */ { AV_PIX_FMT_RGB555LE, MKTAG('R', 'G', 'B', 15) }, iam possibly missing some patch but this seems failing here TESTfilter-pixfmts-scale --- ./tests/ref/fate/filter-pixfmts-scale 2022-08-07 13:23:20.154330375 +0200 +++ tests/data/fate/filter-pixfmts-scale2022-08-07 13:36:27.701410658 +0200 @@ -89,7 +89,7 @@ rgba64beee73e57923af984b31cc7795d13929da rgba64le783d2779adfafe3548bdb671ec0de69e uyvy422 aeb4ba4f9f003ae21f6d18089198244f -vuyaab4c9c4a6b6946945eeb23e15d0341b0 +vuyad41d8cd98f00b204e9800998ecf8427e x2bgr10le d57b9a99033cc7b65ddd111578f2d385 x2rgb10le d56bdb23fa6a8e12a0b4394987f89935 xyz12be c7ba8345998c0141ddc079cdd29b1a40 Test filter-pixfmts-scale failed. Look at tests/data/fate/filter-pixfmts-scale.err for details. tests/Makefile:304: recipe for target 'fate-filter-pixfmts-scale' failed Yes, forgot to ran fate after these last two patches. All the filter-pixfmts tests are affected, and the change is because the nut output the md5 sum is calculated from changed to include the fourcc "AYUV" instead of "RGB" that was being used before this set. I'll also squash this and patch 3/3 before pushing. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] avcodec/mpegpicture: Move mb_var, mc_mb_var and mb_mean to MpegEncCtx
These tables are only used by encoders and only for the current picture; ergo they need not be put into the picture at all, but rather into the encoder's context. They also don't need to be refcounted, because there is only one owner. In contrast to this, the earlier code refcounts them which incurs unnecessary overhead. These references are not unreferenced in ff_mpeg_unref_picture() (they are kept in order to have something like a buffer pool), so that several buffers are kept at the same time, although only one is needed, thereby wasting memory. The code also propagates references to other pictures not part of the pictures array (namely the copy of the current/next/last picture in the MpegEncContext which get references of their own). These references are not unreferenced in ff_mpeg_unref_picture() (the buffers are probably kept in order to have something like a pool), yet if the current picture is a B-frame, it gets unreferenced at the end of ff_mpv_encode_picture() and its slot in the picture array will therefore be reused the next time; but the copy of the current picture also still has its references and therefore these buffers will be made duplicated in order to make them writable in the next call to ff_mpv_encode_picture(). This is of course unnecessary. Finally, ff_find_unused_picture() is supposed to just return any unused picture and the code is supposed to work with it; yet for the vsynth*-mpeg4-adap tests the result depends upon the content of these buffers; given that this patchset changes the content of these buffers (the initial content is now the state of these buffers after encoding the last frame; before this patch the buffers used came from the last picture that occupied the same slot in the picture array) their ref-files needed to be changed. This points to a bug somewhere (if one removes the initialization, one gets uninitialized reads in adaptive_quantization in ratecontrol.c). Signed-off-by: Andreas Rheinhardt --- The decoder-part of the vsynth*-h263-obmc tests also has problems with returning random pictures in ff_find_unused_picture(). Probably a bug in preview_obmc() or so. Anyway, next thing is to add proper buffer-pools for these buffers to remove the needs_realloc-hack. libavcodec/motion_est.c | 14 ++-- libavcodec/mpegpicture.c| 30 ++--- libavcodec/mpegpicture.h| 9 libavcodec/mpegvideo.h | 6 + libavcodec/mpegvideo_enc.c | 17 ++ libavcodec/ratecontrol.c| 7 +++--- libavcodec/svq1enc.c| 6 ++--- tests/ref/seek/vsynth_lena-mpeg4-adap | 28 +++ tests/ref/vsynth/vsynth1-mpeg4-adap | 8 +++ tests/ref/vsynth/vsynth2-mpeg4-adap | 8 +++ tests/ref/vsynth/vsynth3-mpeg4-adap | 8 +++ tests/ref/vsynth/vsynth_lena-mpeg4-adap | 8 +++ 12 files changed, 64 insertions(+), 85 deletions(-) diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index 29ab41dc8c..d17ffe42b4 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -895,7 +895,6 @@ void ff_estimate_p_frame_motion(MpegEncContext * s, int P[10][2]; const int shift= 1+s->quarter_sample; int mb_type=0; -Picture * const pic= &s->current_picture; init_ref(c, s->new_picture->data, s->last_picture.f->data, NULL, 16*mb_x, 16*mb_y, 0); @@ -917,8 +916,8 @@ void ff_estimate_p_frame_motion(MpegEncContext * s, varc = s->mpvencdsp.pix_norm1(pix, s->linesize) - (((unsigned) sum * sum) >> 8) + 500; -pic->mb_mean[s->mb_stride * mb_y + mb_x] = (sum+128)>>8; -pic->mb_var [s->mb_stride * mb_y + mb_x] = (varc+128)>>8; +s->mb_mean[s->mb_stride * mb_y + mb_x] = (sum+128)>>8; +s->mb_var [s->mb_stride * mb_y + mb_x] = (varc+128)>>8; c->mb_var_sum_temp += (varc+128)>>8; if (s->motion_est != FF_ME_ZERO) { @@ -965,7 +964,7 @@ void ff_estimate_p_frame_motion(MpegEncContext * s, vard = s->mecc.sse[0](NULL, pix, ppix, s->linesize, 16); -pic->mc_mb_var[s->mb_stride * mb_y + mb_x] = (vard+128)>>8; +s->mc_mb_var[s->mb_stride * mb_y + mb_x] = (vard+128)>>8; c->mc_mb_var_sum_temp += (vard+128)>>8; if (c->avctx->mb_decision > FF_MB_DECISION_SIMPLE) { @@ -1509,7 +1508,7 @@ void ff_estimate_b_frame_motion(MpegEncContext * s, score= ((unsigned)(score*score + 128*256))>>16; c->mc_mb_var_sum_temp += score; -s->current_picture.mc_mb_var[mb_y*s->mb_stride + mb_x] = score; //FIXME use SSE +s->mc_mb_var[mb_y*s->mb_stride + mb_x] = score; //FIXME use SSE s->mb_type[mb_y*s->mb_stride + mb_x]= CANDIDATE_MB_TYPE_DIRECT0; return; @@ -1574,7 +1573,7 @@ void ff_estimate_b_frame_motion(MpegEncContext * s, score= ((unsigned)(score*score + 128*256))>>16; c->mc_mb_var_sum_temp += score; -s->current_picture.mc_mb_var[mb_y*s->mb_stride + mb_x] = sco
[FFmpeg-devel] [PATCH 1/3] configure: always enable gnu_windres if available
Use the appropiate Makefile variable to ensure it's only built into shared libraries instead. --- configure | 4 ++-- libavdevice/Makefile | 2 +- libavfilter/Makefile | 2 +- libavformat/Makefile | 2 +- libavutil/Makefile | 2 +- libpostproc/Makefile | 2 +- libswresample/Makefile | 2 +- libswscale/Makefile| 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/configure b/configure index cbbb4dd9c8..09fbe66e9b 100755 --- a/configure +++ b/configure @@ -5569,7 +5569,7 @@ case $target_os in # Cannot build both shared and static libs when using dllimport. disable static fi -enabled shared && ! enabled small && test_cmd $windres --version && enable gnu_windres +! enabled small && test_cmd $windres --version && enable gnu_windres enabled x86_32 && check_ldflags -Wl,--large-address-aware shlibdir_default="$bindir_default" SLIBPREF="" @@ -5648,7 +5648,7 @@ case $target_os in SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(FULLNAME).dll.a' enabled x86_64 && objformat="win64" || objformat="win32" enable dos_paths -enabled shared && ! enabled small && test_cmd $windres --version && enable gnu_windres +! enabled small && test_cmd $windres --version && enable gnu_windres add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 ;; *-dos|freedos|opendos) diff --git a/libavdevice/Makefile b/libavdevice/Makefile index bbe2f69dcc..8a62822b69 100644 --- a/libavdevice/Makefile +++ b/libavdevice/Makefile @@ -59,7 +59,7 @@ OBJS-$(CONFIG_LIBDC1394_INDEV) += libdc1394.o SHLIBOBJS-$(CONFIG_DECKLINK_INDEV) += reverse.o # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES) += avdeviceres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avdeviceres.o SKIPHEADERS += decklink_common.h SKIPHEADERS-$(CONFIG_DECKLINK) += decklink_enc.h decklink_dec.h \ diff --git a/libavfilter/Makefile b/libavfilter/Makefile index c026f8f809..3187f99a50 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -605,7 +605,7 @@ OBJS-$(CONFIG_MOVIE_FILTER) += src_movie.o SHLIBOBJS+= log2_tab.o # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES) += avfilterres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avfilterres.o SKIPHEADERS-$(CONFIG_LCMS2) += fflcms2.h SKIPHEADERS-$(CONFIG_LIBVIDSTAB) += vidstabutils.h diff --git a/libavformat/Makefile b/libavformat/Makefile index e420384355..f67a99f839 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -714,7 +714,7 @@ SHLIBOBJS-$(CONFIG_SPDIF_MUXER) += dca_sample_rate_tab.o OBJS-$(CONFIG_IEC61883_INDEV)+= dv.o # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES) += avformatres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avformatres.o SKIPHEADERS-$(CONFIG_IMF_DEMUXER)+= imf.h SKIPHEADERS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh.h diff --git a/libavutil/Makefile b/libavutil/Makefile index 9435a0bfb0..3d9c07aea8 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -201,7 +201,7 @@ OBJS-$(!CONFIG_VULKAN) += hwcontext_stub.o OBJS += $(COMPAT_OBJS:%=../compat/%) # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES)+= avutilres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES) += avutilres.o SKIPHEADERS+= objc.h SKIPHEADERS-$(HAVE_CUDA_H) += hwcontext_cuda.h diff --git a/libpostproc/Makefile b/libpostproc/Makefile index d3f3b27f35..77c2b6b016 100644 --- a/libpostproc/Makefile +++ b/libpostproc/Makefile @@ -10,4 +10,4 @@ OBJS = postprocess.o \ version.o \ # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o diff --git a/libswresample/Makefile b/libswresample/Makefile index dc80027c35..8b9a0fe6f5 100644 --- a/libswresample/Makefile +++ b/libswresample/Makefile @@ -22,6 +22,6 @@ OBJS-$(CONFIG_LIBSOXR) += soxr_resample.o SHLIBOBJS += log2_tab.o # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES) += swresampleres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES) += swresampleres.o TESTPROGS = swresample diff --git a/libswscale/Makefile b/libswscale/Makefile index 8e95f74c6b..4c950e6c43 100644 --- a/libswscale/Makefile +++ b/libswscale/Makefile @@ -25,7 +25,7 @@ OBJS = alphablend.o \ SHLIBOBJS+= log2_tab.o # Windows resource file -SLIBOBJS-$(HAVE_GNU_WINDRES) += swscaleres.o +SHLIBOBJS-$(HAVE_GNU_WINDRES) += swscaleres.o TESTPROGS = colorspace \ floatimg_cmp\ -- 2.34.1 ___ ffmpeg-devel m
[FFmpeg-devel] [PATCH 2/3] fftools: add DPI awareness manifest
Some filters, like gdigrab, rely on this to be set to see and report proper dimensions. --- fftools/Makefile | 3 +++ fftools/fftools.manifest | 9 + fftools/fftoolsres.rc| 2 ++ 3 files changed, 14 insertions(+) create mode 100644 fftools/fftools.manifest create mode 100644 fftools/fftoolsres.rc diff --git a/fftools/Makefile b/fftools/Makefile index 6285e6eacb..0348ac9cf1 100644 --- a/fftools/Makefile +++ b/fftools/Makefile @@ -20,6 +20,9 @@ OBJS-ffmpeg += \ define DOFFTOOL OBJS-$(1) += fftools/cmdutils.o fftools/opt_common.o fftools/$(1).o $(OBJS-$(1)-yes) +ifdef HAVE_GNU_WINDRES +OBJS-$(1) += fftools/fftoolsres.o +endif $(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1)) $$(OBJS-$(1)): | fftools $$(OBJS-$(1)): CFLAGS += $(CFLAGS-$(1)) diff --git a/fftools/fftools.manifest b/fftools/fftools.manifest new file mode 100644 index 00..f2708ecb13 --- /dev/null +++ b/fftools/fftools.manifest @@ -0,0 +1,9 @@ + + + + + http://schemas.microsoft.com/SMI/2005/WindowsSettings";>true + http://schemas.microsoft.com/SMI/2016/WindowsSettings";>PerMonitorV2 + + + diff --git a/fftools/fftoolsres.rc b/fftools/fftoolsres.rc new file mode 100644 index 00..0b8b7c86cb --- /dev/null +++ b/fftools/fftoolsres.rc @@ -0,0 +1,2 @@ +#include +1 RT_MANIFEST fftools.manifest -- 2.34.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH 3/3] compat: add msvc windres wrapper
This is by no means a complete wrapper. It's only designed to fit the usecase ffmpegs build system has. --- compat/windows/mswindres | 32 configure| 2 ++ 2 files changed, 34 insertions(+) create mode 100755 compat/windows/mswindres diff --git a/compat/windows/mswindres b/compat/windows/mswindres new file mode 100755 index 00..450525a33e --- /dev/null +++ b/compat/windows/mswindres @@ -0,0 +1,32 @@ +#!/bin/sh + +if [ "$1" = "--version" ]; then +rc.exe /? +exit $? +fi + +if [ $# -lt 2 ]; then +echo "Usage: mswindres [-I/include/path ...] [-DSOME_DEFINE ...] [-o output.o] input.rc [output.o]" >&2 +exit 0 +fi + +EXTRA_OPTS="/nologo" + +while [ $# -gt 2 ]; do +case $1 in +-D*) EXTRA_OPTS="$EXTRA_OPTS /d$(echo $1 | sed -e "s/^..//" -e "s/ / /g")" ;; +-I*) EXTRA_OPTS="$EXTRA_OPTS /i$(echo $1 | sed -e "s/^..//" -e "s/ / /g")" ;; +-o) OPT_OUT="$2"; shift ;; +esac +shift +done + +IN="$1" +if [ -z "$OPT_OUT" ]; then +OUT="$2" +else +OUT="$OPT_OUT" +fi + +eval set -- $EXTRA_OPTS +rc.exe "$@" /fo "$OUT" "$IN" diff --git a/configure b/configure index 09fbe66e9b..6761d0cb32 100755 --- a/configure +++ b/configure @@ -4369,6 +4369,7 @@ case "$toolchain" in die "Unsupported MSVC version (2013 or newer required)" fi ld_default="$source_path/compat/windows/mslink" +windres_default="$source_path/compat/windows/mswindres" nm_default="dumpbin.exe -symbols" ar_default="lib.exe" case "${arch:-$arch_default}" in @@ -5619,6 +5620,7 @@ case $target_os in # Cannot build both shared and static libs with MSVC or icl. disable static fi +! enabled small && test_cmd $windres --version && enable gnu_windres enabled x86_32 && check_ldflags -LARGEADDRESSAWARE shlibdir_default="$bindir_default" SLIBPREF="" -- 2.34.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 1/3] configure: always enable gnu_windres if available
Timo Rothenpieler: > Use the appropiate Makefile variable to ensure it's only built into > shared libraries instead. > --- > configure | 4 ++-- > libavdevice/Makefile | 2 +- > libavfilter/Makefile | 2 +- > libavformat/Makefile | 2 +- > libavutil/Makefile | 2 +- > libpostproc/Makefile | 2 +- > libswresample/Makefile | 2 +- > libswscale/Makefile| 2 +- > 8 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/configure b/configure > index cbbb4dd9c8..09fbe66e9b 100755 > --- a/configure > +++ b/configure > @@ -5569,7 +5569,7 @@ case $target_os in > # Cannot build both shared and static libs when using dllimport. > disable static > fi > -enabled shared && ! enabled small && test_cmd $windres --version && > enable gnu_windres > +! enabled small && test_cmd $windres --version && enable gnu_windres > enabled x86_32 && check_ldflags -Wl,--large-address-aware > shlibdir_default="$bindir_default" > SLIBPREF="" > @@ -5648,7 +5648,7 @@ case $target_os in > SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(FULLNAME).dll.a' > enabled x86_64 && objformat="win64" || objformat="win32" > enable dos_paths > -enabled shared && ! enabled small && test_cmd $windres --version && > enable gnu_windres > +! enabled small && test_cmd $windres --version && enable gnu_windres > add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 > ;; > *-dos|freedos|opendos) > diff --git a/libavdevice/Makefile b/libavdevice/Makefile > index bbe2f69dcc..8a62822b69 100644 > --- a/libavdevice/Makefile > +++ b/libavdevice/Makefile > @@ -59,7 +59,7 @@ OBJS-$(CONFIG_LIBDC1394_INDEV) += libdc1394.o > SHLIBOBJS-$(CONFIG_DECKLINK_INDEV) += reverse.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += avdeviceres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avdeviceres.o > > SKIPHEADERS += decklink_common.h > SKIPHEADERS-$(CONFIG_DECKLINK) += decklink_enc.h decklink_dec.h \ > diff --git a/libavfilter/Makefile b/libavfilter/Makefile > index c026f8f809..3187f99a50 100644 > --- a/libavfilter/Makefile > +++ b/libavfilter/Makefile > @@ -605,7 +605,7 @@ OBJS-$(CONFIG_MOVIE_FILTER) += > src_movie.o > SHLIBOBJS+= log2_tab.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += avfilterres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avfilterres.o > > SKIPHEADERS-$(CONFIG_LCMS2) += fflcms2.h > SKIPHEADERS-$(CONFIG_LIBVIDSTAB) += vidstabutils.h > diff --git a/libavformat/Makefile b/libavformat/Makefile > index e420384355..f67a99f839 100644 > --- a/libavformat/Makefile > +++ b/libavformat/Makefile > @@ -714,7 +714,7 @@ SHLIBOBJS-$(CONFIG_SPDIF_MUXER) += > dca_sample_rate_tab.o > OBJS-$(CONFIG_IEC61883_INDEV)+= dv.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += avformatres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avformatres.o > > SKIPHEADERS-$(CONFIG_IMF_DEMUXER)+= imf.h > SKIPHEADERS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh.h > diff --git a/libavutil/Makefile b/libavutil/Makefile > index 9435a0bfb0..3d9c07aea8 100644 > --- a/libavutil/Makefile > +++ b/libavutil/Makefile > @@ -201,7 +201,7 @@ OBJS-$(!CONFIG_VULKAN) += > hwcontext_stub.o > OBJS += $(COMPAT_OBJS:%=../compat/%) > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES)+= avutilres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES) += avutilres.o > > SKIPHEADERS+= objc.h > SKIPHEADERS-$(HAVE_CUDA_H) += hwcontext_cuda.h > diff --git a/libpostproc/Makefile b/libpostproc/Makefile > index d3f3b27f35..77c2b6b016 100644 > --- a/libpostproc/Makefile > +++ b/libpostproc/Makefile > @@ -10,4 +10,4 @@ OBJS = postprocess.o \ > version.o \ > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o > diff --git a/libswresample/Makefile b/libswresample/Makefile > index dc80027c35..8b9a0fe6f5 100644 > --- a/libswresample/Makefile > +++ b/libswresample/Makefile > @@ -22,6 +22,6 @@ OBJS-$(CONFIG_LIBSOXR) += soxr_resample.o > SHLIBOBJS += log2_tab.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += swresampleres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES) += swresampleres.o > > TESTPROGS = swresample > diff --git a/libswscale/Makefile b/libswscale/Makefile > index 8e95f74c6b..4c950e6c43 100644 > --- a/libswscale/Makefile > +++ b/libswscale/Makefile > @@ -25,7 +25,7 @@ OBJS = alphablend.o \ > SHLIBOBJS+= log2_tab.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += swscaleres.o > +SHL
Re: [FFmpeg-devel] [PATCH 1/3] configure: always enable gnu_windres if available
Timo Rothenpieler: > Use the appropiate Makefile variable to ensure it's only built into > shared libraries instead. > --- > configure | 4 ++-- > libavdevice/Makefile | 2 +- > libavfilter/Makefile | 2 +- > libavformat/Makefile | 2 +- > libavutil/Makefile | 2 +- > libpostproc/Makefile | 2 +- > libswresample/Makefile | 2 +- > libswscale/Makefile| 2 +- You forgot libavcodec. > 8 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/configure b/configure > index cbbb4dd9c8..09fbe66e9b 100755 > --- a/configure > +++ b/configure > @@ -5569,7 +5569,7 @@ case $target_os in > # Cannot build both shared and static libs when using dllimport. > disable static > fi > -enabled shared && ! enabled small && test_cmd $windres --version && > enable gnu_windres > +! enabled small && test_cmd $windres --version && enable gnu_windres > enabled x86_32 && check_ldflags -Wl,--large-address-aware > shlibdir_default="$bindir_default" > SLIBPREF="" > @@ -5648,7 +5648,7 @@ case $target_os in > SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(FULLNAME).dll.a' > enabled x86_64 && objformat="win64" || objformat="win32" > enable dos_paths > -enabled shared && ! enabled small && test_cmd $windres --version && > enable gnu_windres > +! enabled small && test_cmd $windres --version && enable gnu_windres > add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 > ;; > *-dos|freedos|opendos) > diff --git a/libavdevice/Makefile b/libavdevice/Makefile > index bbe2f69dcc..8a62822b69 100644 > --- a/libavdevice/Makefile > +++ b/libavdevice/Makefile > @@ -59,7 +59,7 @@ OBJS-$(CONFIG_LIBDC1394_INDEV) += libdc1394.o > SHLIBOBJS-$(CONFIG_DECKLINK_INDEV) += reverse.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += avdeviceres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avdeviceres.o > > SKIPHEADERS += decklink_common.h > SKIPHEADERS-$(CONFIG_DECKLINK) += decklink_enc.h decklink_dec.h \ > diff --git a/libavfilter/Makefile b/libavfilter/Makefile > index c026f8f809..3187f99a50 100644 > --- a/libavfilter/Makefile > +++ b/libavfilter/Makefile > @@ -605,7 +605,7 @@ OBJS-$(CONFIG_MOVIE_FILTER) += > src_movie.o > SHLIBOBJS+= log2_tab.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += avfilterres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avfilterres.o > > SKIPHEADERS-$(CONFIG_LCMS2) += fflcms2.h > SKIPHEADERS-$(CONFIG_LIBVIDSTAB) += vidstabutils.h > diff --git a/libavformat/Makefile b/libavformat/Makefile > index e420384355..f67a99f839 100644 > --- a/libavformat/Makefile > +++ b/libavformat/Makefile > @@ -714,7 +714,7 @@ SHLIBOBJS-$(CONFIG_SPDIF_MUXER) += > dca_sample_rate_tab.o > OBJS-$(CONFIG_IEC61883_INDEV)+= dv.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += avformatres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES)+= avformatres.o > > SKIPHEADERS-$(CONFIG_IMF_DEMUXER)+= imf.h > SKIPHEADERS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh.h > diff --git a/libavutil/Makefile b/libavutil/Makefile > index 9435a0bfb0..3d9c07aea8 100644 > --- a/libavutil/Makefile > +++ b/libavutil/Makefile > @@ -201,7 +201,7 @@ OBJS-$(!CONFIG_VULKAN) += > hwcontext_stub.o > OBJS += $(COMPAT_OBJS:%=../compat/%) > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES)+= avutilres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES) += avutilres.o > > SKIPHEADERS+= objc.h > SKIPHEADERS-$(HAVE_CUDA_H) += hwcontext_cuda.h > diff --git a/libpostproc/Makefile b/libpostproc/Makefile > index d3f3b27f35..77c2b6b016 100644 > --- a/libpostproc/Makefile > +++ b/libpostproc/Makefile > @@ -10,4 +10,4 @@ OBJS = postprocess.o \ > version.o \ > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o > diff --git a/libswresample/Makefile b/libswresample/Makefile > index dc80027c35..8b9a0fe6f5 100644 > --- a/libswresample/Makefile > +++ b/libswresample/Makefile > @@ -22,6 +22,6 @@ OBJS-$(CONFIG_LIBSOXR) += soxr_resample.o > SHLIBOBJS += log2_tab.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRES) += swresampleres.o > +SHLIBOBJS-$(HAVE_GNU_WINDRES) += swresampleres.o > > TESTPROGS = swresample > diff --git a/libswscale/Makefile b/libswscale/Makefile > index 8e95f74c6b..4c950e6c43 100644 > --- a/libswscale/Makefile > +++ b/libswscale/Makefile > @@ -25,7 +25,7 @@ OBJS = alphablend.o \ > SHLIBOBJS+= log2_tab.o > > # Windows resource file > -SLIBOBJS-$(HAVE_GNU_WINDRE
Re: [FFmpeg-devel] [PATCH] avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present.
caleb is fine. On Sat, May 7, 2022 at 11:35 AM Michael Niedermayer wrote: > Hi > > before applying this > > Author: caleb > > If you want your full name there please resend this with your full name > so its in git with your full name. It cannot be > changed later if its pushed like this > > thx > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > The educated differ from the uneducated as much as the living from the > dead. -- Aristotle > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 1/3] configure: always enable gnu_windres if available
On 07.08.2022 17:51, Andreas Rheinhardt wrote: If the resource files are only for dlls, you can remove SLIBOBJS, because it is now empty. I wasn't sure what those 3 variables are for, compared to the other OBJS variables. In any case I'd be inclined to leave it in, just in case it turns out useful again in the future. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 1/3] configure: always enable gnu_windres if available
On 07.08.2022 18:04, Andreas Rheinhardt wrote: Timo Rothenpieler: Use the appropiate Makefile variable to ensure it's only built into shared libraries instead. --- configure | 4 ++-- libavdevice/Makefile | 2 +- libavfilter/Makefile | 2 +- libavformat/Makefile | 2 +- libavutil/Makefile | 2 +- libpostproc/Makefile | 2 +- libswresample/Makefile | 2 +- libswscale/Makefile| 2 +- You forgot libavcodec. Fixed locally ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] avcodec: deprecate AYUV codec id, decoder and encoder
The vuya pixel format was recently added, so this lavc workaround is no longer needed. Signed-off-by: James Almer --- doc/APIchanges | 4 libavcodec/allcodecs.c | 2 ++ libavcodec/codec_desc.c| 2 ++ libavcodec/codec_id.h | 4 libavcodec/v408dec.c | 11 ++- libavcodec/v408enc.c | 12 +++- libavcodec/version.h | 2 +- libavcodec/version_major.h | 1 + 8 files changed, 35 insertions(+), 3 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 0bf2b3cd77..08075f4f9c 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,10 @@ libavutil: 2021-04-27 API changes, most recent first: +2022-08-xx - xx - lavc 59.42.101 - codec_id.h + Deprecate AV_CODEC_ID_AYUV and ayuv decoder/encoder. The rawvideo codec + and vuya pixel format combination will be used instead from now on. + 2022-08-03 - xx - lavu 57.32.100 - pixfmt.h Add AV_PIX_FMT_VUYA. diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index c94e2d5966..6939a4e25f 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -61,8 +61,10 @@ extern const FFCodec ff_avrn_decoder; extern const FFCodec ff_avs_decoder; extern const FFCodec ff_avui_encoder; extern const FFCodec ff_avui_decoder; +#if FF_API_AYUV_CODECID extern const FFCodec ff_ayuv_encoder; extern const FFCodec ff_ayuv_decoder; +#endif extern const FFCodec ff_bethsoftvid_decoder; extern const FFCodec ff_bfi_decoder; extern const FFCodec ff_bink_decoder; diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index c1a177c22d..06dfe55d0f 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1462,6 +1462,7 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, +#if FF_API_AYUV_CODECID { .id= AV_CODEC_ID_AYUV, .type = AVMEDIA_TYPE_VIDEO, @@ -1469,6 +1470,7 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, +#endif { .id= AV_CODEC_ID_TARGA_Y216, .type = AVMEDIA_TYPE_VIDEO, diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 386a00a7ef..2247bc0309 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -24,6 +24,8 @@ #include "libavutil/avutil.h" #include "libavutil/samplefmt.h" +#include "version_major.h" + /** * @addtogroup lavc_core * @{ @@ -251,7 +253,9 @@ enum AVCodecID { AV_CODEC_ID_AVRP, AV_CODEC_ID_012V, AV_CODEC_ID_AVUI, +#if FF_API_AYUV_CODECID AV_CODEC_ID_AYUV, +#endif AV_CODEC_ID_TARGA_Y216, AV_CODEC_ID_V308, AV_CODEC_ID_V408, diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c index 88fa777f22..694ee96b77 100644 --- a/libavcodec/v408dec.c +++ b/libavcodec/v408dec.c @@ -29,6 +29,10 @@ static av_cold int v408_decode_init(AVCodecContext *avctx) { avctx->pix_fmt = AV_PIX_FMT_YUVA444P; +#if FF_API_AYUV_CODECID +if (avctx->codec_id==AV_CODEC_ID_AYUV) +av_log(avctx, AV_LOG_WARNING, "This decoder is deprecated and will be removed.\n"); +#endif return 0; } @@ -57,12 +61,15 @@ static int v408_decode_frame(AVCodecContext *avctx, AVFrame *pic, for (i = 0; i < avctx->height; i++) { for (j = 0; j < avctx->width; j++) { +#if FF_API_AYUV_CODECID if (avctx->codec_id==AV_CODEC_ID_AYUV) { v[j] = *src++; u[j] = *src++; y[j] = *src++; a[j] = *src++; -} else { +} else +#endif +{ u[j] = *src++; y[j] = *src++; v[j] = *src++; @@ -81,6 +88,7 @@ static int v408_decode_frame(AVCodecContext *avctx, AVFrame *pic, return avpkt->size; } +#if FF_API_AYUV_CODECID #if CONFIG_AYUV_DECODER const FFCodec ff_ayuv_decoder = { .p.name = "ayuv", @@ -92,6 +100,7 @@ const FFCodec ff_ayuv_decoder = { .p.capabilities = AV_CODEC_CAP_DR1, }; #endif +#endif #if CONFIG_V408_DECODER const FFCodec ff_v408_decoder = { .p.name = "v408", diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c index 77d2b026b3..7ab59792e6 100644 --- a/libavcodec/v408enc.c +++ b/libavcodec/v408enc.c @@ -33,6 +33,11 @@ static av_cold int v408_encode_init(AVCodecContext *avctx) avctx->bits_per_coded_sample = 32; avctx->bit_rate = ff_guess_coded_bitrate(avctx); +#if FF_API_AYUV_CODECID +if (avctx->codec_id == AV_CODEC_ID_AYUV) +av_log(avctx, AV_LOG_WARNING, "This encoder is deprecated and will be removed.\n"); +#endif + return 0; } @@ -55,12 +60,15 @@ static int v408_encode_frame(AVCodecContext *avctx, AVPacket *pkt, for (i = 0; i < avctx->height;
Re: [FFmpeg-devel] [PATCH] avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present.
On Sun, Aug 07, 2022 at 07:46:51PM +0300, Caleb Etemesi wrote: > caleb is fine. ok will apply thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Old school: Use the lowest level language in which you can solve the problem conveniently. New school: Use the highest level language in which the latest supercomputer can solve the problem without the user falling asleep waiting. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH v2] avformat/mxfdec: SMPTE RDD 48:2018 Amd 1:2022 support
On Sat, Aug 06, 2022 at 10:42:02PM +0200, Tomas Härdin wrote: > lör 2022-07-30 klockan 18:42 +0200 skrev Michael Niedermayer: > > Signed-off-by: Michael Niedermayer > > --- > > libavformat/mxf.c | 3 +++ > > libavformat/mxf.h | 1 + > > libavformat/mxfdec.c | 48 > > > > 3 files changed, 52 insertions(+) > > Looks fine. will apply thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Old school: Use the lowest level language in which you can solve the problem conveniently. New school: Use the highest level language in which the latest supercomputer can solve the problem without the user falling asleep waiting. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] MAINTAINERS: Split project server admin list
On Sat, Aug 06, 2022 at 04:32:37PM +0200, Michael Niedermayer wrote: > This updates the list closer to reality. > Iam not a professional server admin, iam happy to help maintain the box as i > have > done in the past. But iam not qualified nor volunteering to fix sudden > problems > nor do i do major upgrades (i lack the experience to recover the box remotely > if > something goes wrong) and also iam not maintaining backups ATM (our backup > system > had a RAID-5 failure, raz is working on setting a new one up) > > Maybe this should be signaled in a different way than spliting the lines but > ATM > people ping me if something is wrong and what i do is mainly mail/ping raz > and try to find another root admin so raz is not the only active & > professional > admin on the team. It would be more efficient if people contact raz and others > directly instead of depending on my waking up and forwarding a "ffmpeg.org" > is down note > > Signed-off-by: Michael Niedermayer > --- > MAINTAINERS | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) will apply this so iam not adding a delay by being the only one pinged on issues [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Opposition brings concord. Out of discord comes the fairest harmony. -- Heraclitus signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] lavu/pixfmt: add packed RGBA float16 format
This is the default format of the Windows compositor and what DXGI Desktop Duplication will give you for any kind of HDR output. --- libavutil/pixdesc.c | 28 libavutil/pixfmt.h | 5 + libavutil/version.h | 4 ++-- tests/ref/fate/imgutils | 2 ++ tests/ref/fate/sws-pixdesc-query | 13 + 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index e078fd5320..f7558ff8b9 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2504,6 +2504,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_ALPHA, }, +[AV_PIX_FMT_RGBAF16BE] = { +.name = "rgbaf16be", +.nb_components = 4, +.log2_chroma_w = 0, +.log2_chroma_h = 0, +.comp = { +{ 0, 8, 0, 0, 16 }, /* R */ +{ 0, 8, 2, 0, 16 }, /* G */ +{ 0, 8, 4, 0, 16 }, /* B */ +{ 0, 8, 6, 0, 16 }, /* A */ +}, +.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | + AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_FLOAT, +}, +[AV_PIX_FMT_RGBAF16LE] = { +.name = "rgbaf16le", +.nb_components = 4, +.log2_chroma_w = 0, +.log2_chroma_h = 0, +.comp = { +{ 0, 8, 0, 0, 16 }, /* R */ +{ 0, 8, 2, 0, 16 }, /* G */ +{ 0, 8, 4, 0, 16 }, /* B */ +{ 0, 8, 6, 0, 16 }, /* A */ +}, +.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA | + AV_PIX_FMT_FLAG_FLOAT, +}, }; static const char * const color_range_names[] = { diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 9d1fdaf82d..86c9bdefeb 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -369,6 +369,9 @@ enum AVPixelFormat { AV_PIX_FMT_VUYA,///< packed VUYA 4:4:4, 32bpp, VUYAVUYA... +AV_PIX_FMT_RGBAF16BE, ///< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian +AV_PIX_FMT_RGBAF16LE, ///< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian + AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions }; @@ -466,6 +469,8 @@ enum AVPixelFormat { #define AV_PIX_FMT_P216 AV_PIX_FMT_NE(P216BE, P216LE) #define AV_PIX_FMT_P416 AV_PIX_FMT_NE(P416BE, P416LE) +#define AV_PIX_FMT_RGBAF16AV_PIX_FMT_NE(RGBAF16BE, RGBAF16LE) + /** * Chromaticity coordinates of the source primaries. * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.1 and ITU-T H.273. diff --git a/libavutil/version.h b/libavutil/version.h index ee43526dc6..f0a8b5c098 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,8 +79,8 @@ */ #define LIBAVUTIL_VERSION_MAJOR 57 -#define LIBAVUTIL_VERSION_MINOR 32 -#define LIBAVUTIL_VERSION_MICRO 101 +#define LIBAVUTIL_VERSION_MINOR 33 +#define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils index 4ec66febb8..01c9877de5 100644 --- a/tests/ref/fate/imgutils +++ b/tests/ref/fate/imgutils @@ -247,3 +247,5 @@ p216le planes: 2, linesizes: 128 128 0 0, plane_sizes: 6144 6144 p416be planes: 2, linesizes: 128 256 0 0, plane_sizes: 6144 12288 0 0, plane_offsets: 6144 0 0, total_size: 18432 p416le planes: 2, linesizes: 128 256 0 0, plane_sizes: 6144 12288 0 0, plane_offsets: 6144 0 0, total_size: 18432 vuyaplanes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 +rgbaf16be planes: 1, linesizes: 512 0 0 0, plane_sizes: 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 +rgbaf16le planes: 1, linesizes: 512 0 0 0, plane_sizes: 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc-query index bd0f1fcb82..f79d99e513 100644 --- a/tests/ref/fate/sws-pixdesc-query +++ b/tests/ref/fate/sws-pixdesc-query @@ -21,6 +21,8 @@ is16BPS: rgb48le rgba64be rgba64le + rgbaf16be + rgbaf16le ya16be ya16le yuv420p16be @@ -157,6 +159,7 @@ isBE: rgb555be rgb565be rgba64be + rgbaf16be x2bgr10be x2rgb10be xyz12be @@ -479,6 +482,8 @@ isRGB: rgb8 rgba64be rgba64le + rgbaf16be + rgbaf16le x2bgr10be x2bgr10le x2rgb10be @@ -629,6 +634,8 @@ AnyRGB: rgb8 rgba64be rgba64le + rgbaf16be + rgbaf16le x2bgr10be x2
Re: [FFmpeg-devel] [PATCH] avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present.
Also apologies for a really late reply, Still learning about mail threads Kind regards. Caleb On Sun, 7 Aug 2022, 22:51 Michael Niedermayer, wrote: > On Sun, Aug 07, 2022 at 07:46:51PM +0300, Caleb Etemesi wrote: > > caleb is fine. > > ok will apply > > thx > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > Old school: Use the lowest level language in which you can solve the > problem > conveniently. > New school: Use the highest level language in which the latest > supercomputer > can solve the problem without the user falling asleep waiting. > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] lavu/pixfmt: add packed RGBA float16 format
On 08.08.2022 00:25, Thomas Volkert wrote: Hi Timo, Am 07.08.2022 um 22:14 schrieb Timo Rothenpieler: This is the default format of the Windows compositor and what DXGI Desktop Duplication will give you for any kind of HDR output. --- libavutil/pixdesc.c | 28 libavutil/pixfmt.h | 5 + libavutil/version.h | 4 ++-- tests/ref/fate/imgutils | 2 ++ tests/ref/fate/sws-pixdesc-query | 13 + 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index e078fd5320..f7558ff8b9 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2504,6 +2504,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_ALPHA, }, +[AV_PIX_FMT_RGBAF16BE] = { +.name = "rgbaf16be", +.nb_components = 4, +.log2_chroma_w = 0, +.log2_chroma_h = 0, +.comp = { +{ 0, 8, 0, 0, 16 }, /* R */ +{ 0, 8, 2, 0, 16 }, /* G */ +{ 0, 8, 4, 0, 16 }, /* B */ +{ 0, 8, 6, 0, 16 }, /* A */ +}, +.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | + AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_FLOAT, +}, +[AV_PIX_FMT_RGBAF16LE] = { +.name = "rgbaf16le", +.nb_components = 4, +.log2_chroma_w = 0, +.log2_chroma_h = 0, +.comp = { +{ 0, 8, 0, 0, 16 }, /* R */ +{ 0, 8, 2, 0, 16 }, /* G */ +{ 0, 8, 4, 0, 16 }, /* B */ +{ 0, 8, 6, 0, 16 }, /* A */ +}, +.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA | + AV_PIX_FMT_FLAG_FLOAT, +}, }; [..] maybe I have missed something, but I wonder how this is different to AV_PIX_FMT_RGBA64LE and AV_PIX_FMT_RGBA64BE? BR, Thomas. It's Float. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] lavu/pixfmt: add packed RGBA float16 format
Am 08.08.2022 um 00:26 schrieb Timo Rothenpieler: On 08.08.2022 00:25, Thomas Volkert wrote: Hi Timo, Am 07.08.2022 um 22:14 schrieb Timo Rothenpieler: This is the default format of the Windows compositor and what DXGI Desktop Duplication will give you for any kind of HDR output. --- libavutil/pixdesc.c | 28 libavutil/pixfmt.h | 5 + libavutil/version.h | 4 ++-- tests/ref/fate/imgutils | 2 ++ tests/ref/fate/sws-pixdesc-query | 13 + 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index e078fd5320..f7558ff8b9 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2504,6 +2504,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_ALPHA, }, + [AV_PIX_FMT_RGBAF16BE] = { + .name = "rgbaf16be", + .nb_components = 4, + .log2_chroma_w = 0, + .log2_chroma_h = 0, + .comp = { + { 0, 8, 0, 0, 16 }, /* R */ + { 0, 8, 2, 0, 16 }, /* G */ + { 0, 8, 4, 0, 16 }, /* B */ + { 0, 8, 6, 0, 16 }, /* A */ + }, + .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | + AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_FLOAT, + }, + [AV_PIX_FMT_RGBAF16LE] = { + .name = "rgbaf16le", + .nb_components = 4, + .log2_chroma_w = 0, + .log2_chroma_h = 0, + .comp = { + { 0, 8, 0, 0, 16 }, /* R */ + { 0, 8, 2, 0, 16 }, /* G */ + { 0, 8, 4, 0, 16 }, /* B */ + { 0, 8, 6, 0, 16 }, /* A */ + }, + .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA | + AV_PIX_FMT_FLAG_FLOAT, + }, }; [..] maybe I have missed something, but I wonder how this is different to AV_PIX_FMT_RGBA64LE and AV_PIX_FMT_RGBA64BE? BR, Thomas. It's Float. Yep, it seems that I have completely ignored this part when I read this the first time. My bad. BR. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] lavu/pixfmt: add packed RGBA float16 format
Am 07.08.2022 um 22:14 schrieb Timo Rothenpieler: This is the default format of the Windows compositor and what DXGI Desktop Duplication will give you for any kind of HDR output. --- libavutil/pixdesc.c | 28 libavutil/pixfmt.h | 5 + libavutil/version.h | 4 ++-- tests/ref/fate/imgutils | 2 ++ tests/ref/fate/sws-pixdesc-query | 13 + 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index e078fd5320..f7558ff8b9 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2504,6 +2504,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_ALPHA, }, +[AV_PIX_FMT_RGBAF16BE] = { +.name = "rgbaf16be", +.nb_components = 4, +.log2_chroma_w = 0, +.log2_chroma_h = 0, +.comp = { +{ 0, 8, 0, 0, 16 }, /* R */ +{ 0, 8, 2, 0, 16 }, /* G */ +{ 0, 8, 4, 0, 16 }, /* B */ +{ 0, 8, 6, 0, 16 }, /* A */ +}, +.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | + AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_FLOAT, +}, +[AV_PIX_FMT_RGBAF16LE] = { +.name = "rgbaf16le", +.nb_components = 4, +.log2_chroma_w = 0, +.log2_chroma_h = 0, +.comp = { +{ 0, 8, 0, 0, 16 }, /* R */ +{ 0, 8, 2, 0, 16 }, /* G */ +{ 0, 8, 4, 0, 16 }, /* B */ +{ 0, 8, 6, 0, 16 }, /* A */ +}, +.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA | + AV_PIX_FMT_FLAG_FLOAT, +}, }; static const char * const color_range_names[] = { diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 9d1fdaf82d..86c9bdefeb 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -369,6 +369,9 @@ enum AVPixelFormat { AV_PIX_FMT_VUYA,///< packed VUYA 4:4:4, 32bpp, VUYAVUYA... +AV_PIX_FMT_RGBAF16BE, ///< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian +AV_PIX_FMT_RGBAF16LE, ///< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian + AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions }; @@ -466,6 +469,8 @@ enum AVPixelFormat { #define AV_PIX_FMT_P216 AV_PIX_FMT_NE(P216BE, P216LE) #define AV_PIX_FMT_P416 AV_PIX_FMT_NE(P416BE, P416LE) +#define AV_PIX_FMT_RGBAF16AV_PIX_FMT_NE(RGBAF16BE, RGBAF16LE) + /** * Chromaticity coordinates of the source primaries. * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.1 and ITU-T H.273. diff --git a/libavutil/version.h b/libavutil/version.h index ee43526dc6..f0a8b5c098 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,8 +79,8 @@ */ #define LIBAVUTIL_VERSION_MAJOR 57 -#define LIBAVUTIL_VERSION_MINOR 32 -#define LIBAVUTIL_VERSION_MICRO 101 +#define LIBAVUTIL_VERSION_MINOR 33 +#define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils index 4ec66febb8..01c9877de5 100644 --- a/tests/ref/fate/imgutils +++ b/tests/ref/fate/imgutils @@ -247,3 +247,5 @@ p216le planes: 2, linesizes: 128 128 0 0, plane_sizes: 6144 6144 p416be planes: 2, linesizes: 128 256 0 0, plane_sizes: 6144 12288 0 0, plane_offsets: 6144 0 0, total_size: 18432 p416le planes: 2, linesizes: 128 256 0 0, plane_sizes: 6144 12288 0 0, plane_offsets: 6144 0 0, total_size: 18432 vuyaplanes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 +rgbaf16be planes: 1, linesizes: 512 0 0 0, plane_sizes: 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 +rgbaf16le planes: 1, linesizes: 512 0 0 0, plane_sizes: 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc-query index bd0f1fcb82..f79d99e513 100644 --- a/tests/ref/fate/sws-pixdesc-query +++ b/tests/ref/fate/sws-pixdesc-query @@ -21,6 +21,8 @@ is16BPS: rgb48le rgba64be rgba64le + rgbaf16be + rgbaf16le ya16be ya16le yuv420p16be @@ -157,6 +159,7 @@ isBE: rgb555be rgb565be rgba64be + rgbaf16be x2bgr10be x2rgb10be xyz12be @@ -479,6 +482,8 @@ isRGB: rgb8 rgba64be rgba64le + rgbaf16be + rgbaf16le x2bgr10be x2bgr10le x2rgb10be @@ -629,6 +63
[FFmpeg-devel] [PATCH] avfilter/framesync: add a new option to set how to sync streams based on secondary input timestamps
Include two values for it, a default one that sets/keeps the current behavior, where the frame event generated by the primary input will have a timestamp equal or higher than frames in secondary input, plus a new one where the secondary input frame will be that with the absolute closest timestamp to that of the frame event one. Addresses ticket #9689, where the new optional behavior produces better frame syncronization. Signed-off-by: James Almer --- libavfilter/framesync.c | 19 +++ libavfilter/framesync.h | 23 +++ 2 files changed, 42 insertions(+) diff --git a/libavfilter/framesync.c b/libavfilter/framesync.c index 7510550d8e..bd784f6e0b 100644 --- a/libavfilter/framesync.c +++ b/libavfilter/framesync.c @@ -42,6 +42,13 @@ static const AVOption framesync_options[] = { { "pass", "Pass through the main input.", 0, AV_OPT_TYPE_CONST, { .i64 = EOF_ACTION_PASS }, .flags = FLAGS, "eof_action" }, { "shortest", "force termination when the shortest input terminates", OFFSET(opt_shortest), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS }, { "repeatlast", "extend last frame of secondary streams beyond EOF", OFFSET(opt_repeatlast), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FLAGS }, +{ "ts_sync_mode", "How strictly to sync streams based on secondary input timestamps", +OFFSET(opt_ts_sync_mode), AV_OPT_TYPE_INT, { .i64 = TS_DEFAULT }, +TS_DEFAULT, TS_NEAREST, .flags = FLAGS, "ts_sync_mode" }, +{ "default", "Frame from secondary input with the nearest lower or equal timestamp to the primary input frame", +0, AV_OPT_TYPE_CONST, { .i64 = TS_DEFAULT }, .flags = FLAGS, "ts_sync_mode" }, +{ "nearest", "Frame from secondary input with the absolute nearest timestamp to the primary input frame", +0, AV_OPT_TYPE_CONST, { .i64 = TS_NEAREST }, .flags = FLAGS, "ts_sync_mode" }, { NULL } }; static const AVClass framesync_class = { @@ -110,6 +117,14 @@ static void framesync_sync_level_update(FFFrameSync *fs) av_assert0(level <= fs->sync_level); if (level < fs->sync_level) av_log(fs, AV_LOG_VERBOSE, "Sync level %u\n", level); +if (fs->opt_ts_sync_mode > TS_DEFAULT) { +for (i = 0; i < fs->nb_in; i++) { +if (fs->in[i].sync < level) +fs->in[i].ts_mode = fs->opt_ts_sync_mode; +else +fs->in[i].ts_mode = TS_DEFAULT; +} +} if (level) fs->sync_level = level; else @@ -187,6 +202,10 @@ static int framesync_advance(FFFrameSync *fs) } for (i = 0; i < fs->nb_in; i++) { if (fs->in[i].pts_next == pts || +(fs->in[i].ts_mode == TS_NEAREST && + fs->in[i].have_next && + fs->in[i].pts_next != INT64_MAX && fs->in[i].pts != AV_NOPTS_VALUE && + FFABS(pts - fs->in[i].pts_next) < FFABS(pts - fs->in[i].pts)) || (fs->in[i].before == EXT_INFINITY && fs->in[i].state == STATE_BOF)) { av_frame_free(&fs->in[i].frame); diff --git a/libavfilter/framesync.h b/libavfilter/framesync.h index a246d2d1e5..233f50a0eb 100644 --- a/libavfilter/framesync.h +++ b/libavfilter/framesync.h @@ -75,6 +75,27 @@ enum FFFrameSyncExtMode { EXT_INFINITY, }; +/** + * Timestamp syncronization mode + * + * Describe how the frames of a stream are syncronized based on timestamp + * distance. + */ +enum FFFrameTSSyncMode { + +/** + * Sync to frames from secondary input with the nearest, lower or equal + * timestamp to the frame event one. + */ +TS_DEFAULT, + +/** + * Sync to frames from secondary input with the absolute nearest timestamp + * to the frame event one. + */ +TS_NEAREST, +}; + /** * Input stream structure */ @@ -138,6 +159,7 @@ typedef struct FFFrameSyncIn { */ unsigned sync; +enum FFFrameTSSyncMode ts_mode; } FFFrameSyncIn; /** @@ -205,6 +227,7 @@ typedef struct FFFrameSync { int opt_repeatlast; int opt_shortest; int opt_eof_action; +int opt_ts_sync_mode; } FFFrameSync; -- 2.37.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH 0/3] avisynth: miscellaneous fixes
Stephen Hutchinson (3): avformat/avisynth: add missing avs_release_video_frame avformat/avisynth: use ch_layout.nb_channels for channel count avformat/avisynth: cosmetics after nb_channels change libavformat/avisynth.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) -- 2.34.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH 1/3] avformat/avisynth: add missing avs_release_video_frame
The AviSynth C API requires using avs_release_video_frame whenever avs_get_frame has been used, but the recent addition of frameprop reading to the demuxer was missing this in avisynth_create_stream_video. --- libavformat/avisynth.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c index a97d12b6b6..98b4d68a57 100644 --- a/libavformat/avisynth.c +++ b/libavformat/avisynth.c @@ -728,6 +728,7 @@ static int avisynth_create_stream_video(AVFormatContext *s, AVStream *st) st->codecpar->chroma_location = AVCHROMA_LOC_UNSPECIFIED; } } +avs_library.avs_release_video_frame(frame); } else { st->codecpar->field_order = AV_FIELD_UNKNOWN; /* AviSynth works with frame-based video, detecting field order can -- 2.34.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH 2/3] avformat/avisynth: use ch_layout.nb_channels for channel count
Fixes deprecation warning --- libavformat/avisynth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c index 98b4d68a57..5605fbefc4 100644 --- a/libavformat/avisynth.c +++ b/libavformat/avisynth.c @@ -753,7 +753,7 @@ static int avisynth_create_stream_audio(AVFormatContext *s, AVStream *st) st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; st->codecpar->sample_rate = avs->vi->audio_samples_per_second; -st->codecpar->channels= avs->vi->nchannels; +st->codecpar->ch_layout.nb_channels= avs->vi->nchannels; st->duration = avs->vi->num_audio_samples; avpriv_set_pts_info(st, 64, 1, avs->vi->audio_samples_per_second); -- 2.34.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH 3/3] avformat/avisynth: cosmetics after nb_channels change
--- libavformat/avisynth.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c index 5605fbefc4..3d9fa2be50 100644 --- a/libavformat/avisynth.c +++ b/libavformat/avisynth.c @@ -751,10 +751,10 @@ static int avisynth_create_stream_audio(AVFormatContext *s, AVStream *st) { AviSynthContext *avs = s->priv_data; -st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; -st->codecpar->sample_rate = avs->vi->audio_samples_per_second; -st->codecpar->ch_layout.nb_channels= avs->vi->nchannels; -st->duration = avs->vi->num_audio_samples; +st->codecpar->codec_type= AVMEDIA_TYPE_AUDIO; +st->codecpar->sample_rate = avs->vi->audio_samples_per_second; +st->codecpar->ch_layout.nb_channels = avs->vi->nchannels; +st->duration= avs->vi->num_audio_samples; avpriv_set_pts_info(st, 64, 1, avs->vi->audio_samples_per_second); switch (avs->vi->sample_type) { -- 2.34.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 2/3] avformat/avisynth: use ch_layout.nb_channels for channel count
On 8/7/2022 10:25 PM, Stephen Hutchinson wrote: Fixes deprecation warning --- libavformat/avisynth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c index 98b4d68a57..5605fbefc4 100644 --- a/libavformat/avisynth.c +++ b/libavformat/avisynth.c @@ -753,7 +753,7 @@ static int avisynth_create_stream_audio(AVFormatContext *s, AVStream *st) st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; st->codecpar->sample_rate = avs->vi->audio_samples_per_second; -st->codecpar->channels= avs->vi->nchannels; +st->codecpar->ch_layout.nb_channels= avs->vi->nchannels; st->duration = avs->vi->num_audio_samples; avpriv_set_pts_info(st, 64, 1, avs->vi->audio_samples_per_second); Applied and backported to 5.1. Can't believe we missed this... ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".