[FFmpeg-cvslog] avcodec/h261dec: Don't set write-only picture_number
ffmpeg | branch: master | Andreas Rheinhardt | Fri Oct 6 23:49:37 2023 +0200| [c995311bcfdab5ed3e2bb5bfbbca3fac98bec70d] | committer: Andreas Rheinhardt avcodec/h261dec: Don't set write-only picture_number Signed-off-by: Andreas Rheinhardt > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c995311bcfdab5ed3e2bb5bfbbca3fac98bec70d --- libavcodec/h261dec.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c index 35137b9296..2024bf6b19 100644 --- a/libavcodec/h261dec.c +++ b/libavcodec/h261dec.c @@ -512,10 +512,7 @@ static int h261_decode_picture_header(H261DecContext *h) } /* temporal reference */ -i = get_bits(>gb, 5); /* picture timestamp */ -if (i < (s->picture_number & 31)) -i += 32; -s->picture_number = (s->picture_number & ~31) + i; +skip_bits(>gb, 5); /* picture timestamp */ s->avctx->framerate = (AVRational) { 3, 1001 }; ___ 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/h261dec: Discard whole packet when discarding
ffmpeg | branch: master | Andreas Rheinhardt | Sat Oct 7 02:28:16 2023 +0200| [b561dafd561cd8bff1f0ba89e49badf16654d0f2] | committer: Andreas Rheinhardt avcodec/h261dec: Discard whole packet when discarding (The return value doesn't really matter: For video decoders every return value >= 0 is treated as "consumed all of the input".) Signed-off-by: Andreas Rheinhardt > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b561dafd561cd8bff1f0ba89e49badf16654d0f2 --- libavcodec/h261dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c index 2024bf6b19..e227c1785e 100644 --- a/libavcodec/h261dec.c +++ b/libavcodec/h261dec.c @@ -637,7 +637,7 @@ static int h261_decode_frame(AVCodecContext *avctx, AVFrame *pict, if ((avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type == AV_PICTURE_TYPE_B) || (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type != AV_PICTURE_TYPE_I) || avctx->skip_frame >= AVDISCARD_ALL) -return get_consumed_bytes(s, buf_size); +return buf_size; if (ff_mpv_frame_start(s, avctx) < 0) return -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] avcodec/mpeg4video_parser: Don't set write-only current_picture_ptr
ffmpeg | branch: master | Andreas Rheinhardt | Sat Oct 7 11:56:18 2023 +0200| [ab95338a20b20a77d7f699812a6148dbed1debda] | committer: Andreas Rheinhardt avcodec/mpeg4video_parser: Don't set write-only current_picture_ptr It is unused by ff_mpeg4_decode_picture_header() (unsurprisingly given that when decoding this function is called before the context has been initialized). Signed-off-by: Andreas Rheinhardt > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ab95338a20b20a77d7f699812a6148dbed1debda --- libavcodec/mpeg4video_parser.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c index 28353aa146..402594e01d 100644 --- a/libavcodec/mpeg4video_parser.c +++ b/libavcodec/mpeg4video_parser.c @@ -89,7 +89,6 @@ static int mpeg4_decode_header(AVCodecParserContext *s1, AVCodecContext *avctx, int ret; s->avctx = avctx; -s->current_picture_ptr = >current_picture; if (avctx->extradata_size && pc->first_picture) { init_get_bits(gb, avctx->extradata, avctx->extradata_size * 8); ___ 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] [ffmpeg-web] branch master updated. 1e94f9d web/contact: add IRC log date
The branch, master has been updated via 1e94f9d349ecf4b06d2a8710e28cb51a69852238 (commit) from 83d99c55d4170353eafb48312192f5f9bfa7f345 (commit) - Log - commit 1e94f9d349ecf4b06d2a8710e28cb51a69852238 Author: Michael Niedermayer AuthorDate: Wed Oct 11 22:04:16 2023 +0200 Commit: Michael Niedermayer CommitDate: Wed Oct 11 22:04:16 2023 +0200 web/contact: add IRC log date diff --git a/src/contact b/src/contact index c233328..982e9da 100644 --- a/src/contact +++ b/src/contact @@ -128,6 +128,7 @@ Archives +Our IRC channels are publically logged and archives since 2023-10-11 are here: https://libera.irclog.whitequark.org/ffmpeg;>#ffmpeg and https://libera.irclog.whitequark.org/ffmpeg-devel;>#ffmpeg-devel --- Summary of changes: src/contact | 1 + 1 file changed, 1 insertion(+) hooks/post-receive -- ___ 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/libkvazaar: Bump minimum version to 2.0.0
ffmpeg | branch: master | John Mather | Mon Oct 2 13:03:28 2023 -0400| [7251dfdcee2f2ec83d9de10334257531762fe42b] | committer: Jan Ekström avcodec/libkvazaar: Bump minimum version to 2.0.0 0cd8769207f utilized the rc_algorithm member of the kvz_config struct, which was introduced in Kvazaar 2.0.0. This patch bumps the minimum version of Kvazaar to 2.0.0 so that FFmpeg compiles successfully. Signed-off-by: John Mather > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7251dfdcee2f2ec83d9de10334257531762fe42b --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index bc0c0bd4e4..fc7263bf59 100755 --- a/configure +++ b/configure @@ -6719,7 +6719,7 @@ enabled libilbc && require libilbc ilbc.h WebRtcIlbcfix_InitDecode -li enabled libjxl&& require_pkg_config libjxl "libjxl >= 0.7.0" jxl/decode.h JxlDecoderVersion && require_pkg_config libjxl_threads "libjxl_threads >= 0.7.0" jxl/thread_parallel_runner.h JxlThreadParallelRunner enabled libklvanc && require libklvanc libklvanc/vanc.h klvanc_context_create -lklvanc -enabled libkvazaar&& require_pkg_config libkvazaar "kvazaar >= 0.8.1" kvazaar.h kvz_api_get +enabled libkvazaar&& require_pkg_config libkvazaar "kvazaar >= 2.0.0" kvazaar.h kvz_api_get enabled liblensfun&& require_pkg_config liblensfun lensfun lensfun.h lf_db_new if enabled libmfx && enabled libvpl; then ___ 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/libkvazaar: Respect codec context color settings.
ffmpeg | branch: master | John Mather | Mon Oct 2 13:20:49 2023 -0400| [a2175ca8615d09418564fcff63c85e18dd993ad1] | committer: Jan Ekström avcodec/libkvazaar: Respect codec context color settings. This patch makes the libkvazaar encoder respect color settings that are present on the codec context, including color range, primaries, transfer function and colorspace. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a2175ca8615d09418564fcff63c85e18dd993ad1 --- libavcodec/libkvazaar.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c index 0ebf37607a..0711d9ab38 100644 --- a/libavcodec/libkvazaar.c +++ b/libavcodec/libkvazaar.c @@ -101,6 +101,13 @@ FF_ENABLE_DEPRECATION_WARNINGS cfg->rc_algorithm = KVZ_LAMBDA; } +cfg->vui.fullrange = avctx->color_range == AVCOL_RANGE_JPEG; +cfg->vui.colorprim = avctx->color_primaries; +cfg->vui.transfer= avctx->color_trc; +cfg->vui.colormatrix = avctx->colorspace; +if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) +cfg->vui.chroma_loc = avctx->chroma_sample_location - 1; + if (ctx->kvz_params) { AVDictionary *dict = NULL; if (!av_dict_parse_string(, ctx->kvz_params, "=", ",", 0)) { ___ 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] nlmeans_vulkan: reduce dispatches by parallelizing the planes
ffmpeg | branch: master | Lynne | Sat Sep 16 01:04:18 2023 +0200| [658b01b5ee53826855dad316a2f4a1e4f16ca05a] | committer: Lynne nlmeans_vulkan: reduce dispatches by parallelizing the planes > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=658b01b5ee53826855dad316a2f4a1e4f16ca05a --- libavfilter/vf_nlmeans_vulkan.c | 33 + 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/libavfilter/vf_nlmeans_vulkan.c b/libavfilter/vf_nlmeans_vulkan.c index 5b623eb7a6..9741dd67ac 100644 --- a/libavfilter/vf_nlmeans_vulkan.c +++ b/libavfilter/vf_nlmeans_vulkan.c @@ -538,28 +538,29 @@ static av_cold int init_denoise_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e GLSLC(0, { ); GLSLC(1, ivec2 size; ); GLSLC(1, const ivec2 pos = ivec2(gl_GlobalInvocationID.xy); ); +GLSLC(1, const uint plane = uint(gl_WorkGroupID.z); ); GLSLC(0, ); GLSLC(1, float w_sum; ); GLSLC(1, float sum; ); GLSLC(1, vec4 src; ); GLSLC(1, vec4 r; ); GLSLC(0, ); - -for (int i = 0; i < planes; i++) { -GLSLF(1, src = texture(input_img[%i], pos); ,i); -for (int c = 0; c < desc->nb_components; c++) { -if (desc->comp[c].plane == i) { -int off = desc->comp[c].offset / (FFALIGN(desc->comp[c].depth, 8)/8); -GLSLF(1, w_sum = weights_%i[pos.y*ws_stride[%i] + pos.x]; ,c, c); -GLSLF(1, sum = sums_%i[pos.y*ws_stride[%i] + pos.x]; ,c, c); -GLSLF(1, r[%i] = (sum + src[%i]*255) / (1.0 + w_sum) / 255; ,off, off); -GLSLC(0, ); -} -} -GLSLF(1, imageStore(output_img[%i], pos, r); ,i); -GLSLC(0, ); +GLSLC(1, size = imageSize(output_img[plane]); ); +GLSLC(1, if (!IS_WITHIN(pos, size)) ); +GLSLC(2, return; ); +GLSLC(0, ); +GLSLC(1, src = texture(input_img[plane], pos); ); +GLSLC(0, ); +for (int c = 0; c < desc->nb_components; c++) { +int off = desc->comp[c].offset / (FFALIGN(desc->comp[c].depth, 8)/8); +GLSLF(1, if (plane == %i) { ,desc->comp[c].plane); +GLSLF(2, w_sum = weights_%i[pos.y*ws_stride[%i] + pos.x]; ,c, c); +GLSLF(2, sum = sums_%i[pos.y*ws_stride[%i] + pos.x]; ,c, c); +GLSLF(2, r[%i] = (sum + src[%i]*255) / (1.0 + w_sum) / 255; ,off, off); +GLSLC(1, } ); +GLSLC(0, ); } - +GLSLC(1, imageStore(output_img[plane], pos, r); ); GLSLC(0, } ); RET(spv->compile_shader(spv, vkctx, shd, _data, _len, "main", _opaque)); @@ -716,7 +717,7 @@ static int denoise_pass(NLMeansVulkanContext *s, FFVkExecContext *exec, vk->CmdDispatch(exec->buf, FFALIGN(vkctx->output_width, s->pl_denoise.wg_size[0])/s->pl_denoise.wg_size[0], FFALIGN(vkctx->output_height, s->pl_denoise.wg_size[1])/s->pl_denoise.wg_size[1], -1); +av_pix_fmt_count_planes(s->vkctx.output_format)); return 0; } ___ 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] nlmeans_vulkan: parallelize workgroup invocations
ffmpeg | branch: master | Lynne | Fri Sep 15 21:55:59 2023 +0200| [f31d0f11417067a3fc9d53085c32f4ba82b252e4] | committer: Lynne nlmeans_vulkan: parallelize workgroup invocations > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f31d0f11417067a3fc9d53085c32f4ba82b252e4 --- libavfilter/Makefile | 3 +- libavfilter/vf_nlmeans_vulkan.c| 438 +++-- libavfilter/vulkan/prefix_sum.comp | 151 - 3 files changed, 224 insertions(+), 368 deletions(-) diff --git a/libavfilter/Makefile b/libavfilter/Makefile index 9a100cd665..603b532ad0 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -395,8 +395,7 @@ OBJS-$(CONFIG_MULTIPLY_FILTER) += vf_multiply.o OBJS-$(CONFIG_NEGATE_FILTER) += vf_negate.o OBJS-$(CONFIG_NLMEANS_FILTER)+= vf_nlmeans.o OBJS-$(CONFIG_NLMEANS_OPENCL_FILTER) += vf_nlmeans_opencl.o opencl.o opencl/nlmeans.o -OBJS-$(CONFIG_NLMEANS_VULKAN_FILTER) += vf_nlmeans_vulkan.o vulkan.o vulkan_filter.o \ -vulkan/prefix_sum.o +OBJS-$(CONFIG_NLMEANS_VULKAN_FILTER) += vf_nlmeans_vulkan.o vulkan.o vulkan_filter.o OBJS-$(CONFIG_NNEDI_FILTER) += vf_nnedi.o OBJS-$(CONFIG_NOFORMAT_FILTER) += vf_format.o OBJS-$(CONFIG_NOISE_FILTER) += vf_noise.o diff --git a/libavfilter/vf_nlmeans_vulkan.c b/libavfilter/vf_nlmeans_vulkan.c index 9741dd67ac..2b8f97d7d9 100644 --- a/libavfilter/vf_nlmeans_vulkan.c +++ b/libavfilter/vf_nlmeans_vulkan.c @@ -38,9 +38,10 @@ typedef struct NLMeansVulkanContext { VkSampler sampler; AVBufferPool *integral_buf_pool; -AVBufferPool *state_buf_pool; AVBufferPool *ws_buf_pool; +FFVkBuffer xyoffsets_buf; + int pl_weights_rows; FFVulkanPipeline pl_weights; FFVkSPIRVShader shd_weights; @@ -66,107 +67,97 @@ typedef struct NLMeansVulkanContext { extern const char *ff_source_prefix_sum_comp; -static void insert_first(FFVkSPIRVShader *shd, int r, int horiz, int plane, int comp) +static void insert_first(FFVkSPIRVShader *shd, int r, const char *off, int horiz, int plane, int comp) { -GLSLF(2, s1= texture(input_img[%i], ivec2(x + %i, y + %i))[%i]; - ,plane, horiz ? r : 0, !horiz ? r : 0, comp); - -if (TYPE_ELEMS == 4) { -GLSLF(2, s2[0] = texture(input_img[%i], ivec2(x + %i + xoffs[0], y + %i + yoffs[0]))[%i]; - ,plane, horiz ? r : 0, !horiz ? r : 0, comp); -GLSLF(2, s2[1] = texture(input_img[%i], ivec2(x + %i + xoffs[1], y + %i + yoffs[1]))[%i]; - ,plane, horiz ? r : 0, !horiz ? r : 0, comp); -GLSLF(2, s2[2] = texture(input_img[%i], ivec2(x + %i + xoffs[2], y + %i + yoffs[2]))[%i]; - ,plane, horiz ? r : 0, !horiz ? r : 0, comp); -GLSLF(2, s2[3] = texture(input_img[%i], ivec2(x + %i + xoffs[3], y + %i + yoffs[3]))[%i]; - ,plane, horiz ? r : 0, !horiz ? r : 0, comp); -} else { -for (int i = 0; i < 16; i++) { -GLSLF(2, s2[%i][%i] = texture(input_img[%i], ivec2(x + %i + xoffs[%i], y + %i + yoffs[%i]))[%i]; - ,i / 4, i % 4, plane, horiz ? r : 0, i, !horiz ? r : 0, i, comp); -} -} - -GLSLC(2, s2 = (s1 - s2) * (s1 - s2); ); +GLSLF(4, s1= texture(input_img[%i], pos + ivec2(%i + %s, %i + %s))[%i]; + ,plane, horiz ? r : 0, horiz ? off : "0", !horiz ? r : 0, !horiz ? off : "0", comp); + +GLSLF(4, s2[0] = texture(input_img[%i], pos + offs[0] + ivec2(%i + %s, %i + %s))[%i]; + ,plane, horiz ? r : 0, horiz ? off : "0", !horiz ? r : 0, !horiz ? off : "0", comp); +GLSLF(4, s2[1] = texture(input_img[%i], pos + offs[1] + ivec2(%i + %s, %i + %s))[%i]; + ,plane, horiz ? r : 0, horiz ? off : "0", !horiz ? r : 0, !horiz ? off : "0", comp); +GLSLF(4, s2[2] = texture(input_img[%i], pos + offs[2] + ivec2(%i + %s, %i + %s))[%i]; + ,plane, horiz ? r : 0, horiz ? off : "0", !horiz ? r : 0, !horiz ? off : "0", comp); +GLSLF(4, s2[3] = texture(input_img[%i], pos + offs[3] + ivec2(%i + %s, %i + %s))[%i]; + ,plane, horiz ? r : 0, horiz ? off : "0", !horiz ? r : 0, !horiz ? off : "0", comp); + +GLSLC(4, s2 = (s1 - s2) * (s1 - s2); ); } static void insert_horizontal_pass(FFVkSPIRVShader *shd, int nb_rows, int first, int plane, int comp) { -GLSLF(1, x = int(gl_GlobalInvocationID.x) * %i; ,nb_rows); -if (!first) { -GLSLC(1, controlBarrier(gl_ScopeWorkgroup, gl_ScopeWorkgroup, -gl_StorageSemanticsBuffer, -gl_SemanticsAcquireRelease | -gl_SemanticsMakeAvailable | -gl_SemanticsMakeVisible); ); -} -GLSLF(1,
[FFmpeg-cvslog] nlmeans_vulkan: fix width/height for chroma plane weights calculation
ffmpeg | branch: master | Lynne | Sat Sep 16 00:42:53 2023 +0200| [6bc8ff7d937cd98c8f1c855b0d10be525b45a5ce] | committer: Lynne nlmeans_vulkan: fix width/height for chroma plane weights calculation > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6bc8ff7d937cd98c8f1c855b0d10be525b45a5ce --- libavfilter/vf_nlmeans_vulkan.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_nlmeans_vulkan.c b/libavfilter/vf_nlmeans_vulkan.c index 99f4f867e7..5b623eb7a6 100644 --- a/libavfilter/vf_nlmeans_vulkan.c +++ b/libavfilter/vf_nlmeans_vulkan.c @@ -100,7 +100,7 @@ static void insert_horizontal_pass(FFVkSPIRVShader *shd, int nb_rows, int first, gl_SemanticsMakeAvailable | gl_SemanticsMakeVisible); ); } -GLSLC(1, for (y = 0; y < height[0]; y++) { ); +GLSLF(1, for (y = 0; y < height[%i]; y++) { ,plane); GLSLC(2, offset = uint64_t(int_stride)*y*T_ALIGN; ); GLSLC(2, dst = DataBuffer(uint64_t(integral_data) + offset); ); GLSLC(0, ); @@ -127,7 +127,7 @@ static void insert_vertical_pass(FFVkSPIRVShader *shd, int nb_rows, int first, i gl_SemanticsMakeAvailable | gl_SemanticsMakeVisible); ); } -GLSLC(1, for (x = 0; x < width[0]; x++) { ); +GLSLF(1, for (x = 0; x < width[%i]; x++) { ,plane); GLSLC(2, dst = DataBuffer(uint64_t(integral_data) + x*T_ALIGN); ); for (int r = 0; r < nb_rows; r++) { @@ -156,13 +156,13 @@ static void insert_weights_pass(FFVkSPIRVShader *shd, int nb_rows, int vert, gl_SemanticsMakeVisible); ); GLSLC(1, barrier(); ); if (!vert) { -GLSLC(1, for (y = 0; y < height[0]; y++) { ); +GLSLF(1, for (y = 0; y < height[%i]; y++) { ,plane); GLSLF(2, if (gl_GlobalInvocationID.x*%i >= width[%i]) ,nb_rows, plane); GLSLC(3, break; ); GLSLF(2, for (r = 0; r < %i; r++) { ,nb_rows); GLSLF(3, x = int(gl_GlobalInvocationID.x) * %i + r; ,nb_rows); } else { -GLSLC(1, for (x = 0; x < width[0]; x++) { ); +GLSLF(1, for (x = 0; x < width[%i]; x++) { ,plane); GLSLF(2, if (gl_GlobalInvocationID.x*%i >= height[%i]) ,nb_rows, plane); GLSLC(3, break; ); GLSLF(2, for (r = 0; r < %i; r++) { ,nb_rows); ___ 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".