Re: [FFmpeg-devel] [PATCH 1/2] lavc/qsvdec: add decode support for HEVC 4:2:2 8-bit and 10-bit

2020-02-26 Thread Fu, Linjie
> -Original Message-
> From: ffmpeg-devel  On Behalf Of
> Mark Thompson
> Sent: Wednesday, February 26, 2020 06:59
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc/qsvdec: add decode support
> for HEVC 4:2:2 8-bit and 10-bit
> 
> On 25/02/2020 02:01, Linjie Fu wrote:
> > Enables HEVC Range Extension decoding support for 4:2:2 8/10 bit
> > on ICL+ (gen11 +) platform.
> >
> > Signed-off-by: Linjie Fu 
> > ---
> >  libavcodec/qsv.c  | 12 
> >  libavutil/hwcontext_qsv.c | 22 ++
> >  2 files changed, 34 insertions(+)
> 
> Should this be gated somehow to stop it being run on Windows?  There it will
> probably fail in some ugly way inside the D3D code which doesn't support
> YUYV formats.

Yes, thanks for pointing this out,  fixed and verified on windows, no crash 
observed anymore
in the D3D path for windows.

> Similarly, do you need a specific libva version or is that already implied by 
> the
> libmfx version?

IMHO it's implied by libmfx version already.
A successfully built MSDK with API version > 1.27 should have supported 
VA_FOURCC_Y210 [1] in libva.

[1] 
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/_studio/shared/src/libmfx_allocator_vaapi.cpp#L87

Thanks,

- Linjie
___
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, v2 1/2] lavc/qsvdec: add decode support for HEVC 4:2:2 8-bit and 10-bit

2020-02-26 Thread Linjie Fu
Enables HEVC Range Extension decoding support (Linux) for 4:2:2 8/10 bit
on ICL+ (gen11 +) platform.

Signed-off-by: Linjie Fu 
---
[v2]: restrict to support on Linux.

 libavcodec/qsv.c  | 16 
 libavutil/hwcontext_qsv.c | 24 
 2 files changed, 40 insertions(+)

diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index db98c75..171a8d6 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -195,6 +195,12 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc)
 case MFX_FOURCC_NV12: return AV_PIX_FMT_NV12;
 case MFX_FOURCC_P010: return AV_PIX_FMT_P010;
 case MFX_FOURCC_P8:   return AV_PIX_FMT_PAL8;
+#if CONFIG_VAAPI
+case MFX_FOURCC_YUY2: return AV_PIX_FMT_YUYV422;
+#if QSV_VERSION_ATLEAST(1, 27)
+case MFX_FOURCC_Y210: return AV_PIX_FMT_Y210;
+#endif
+#endif
 }
 return AV_PIX_FMT_NONE;
 }
@@ -211,6 +217,16 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t 
*fourcc)
 case AV_PIX_FMT_P010:
 *fourcc = MFX_FOURCC_P010;
 return AV_PIX_FMT_P010;
+#if CONFIG_VAAPI
+case AV_PIX_FMT_YUV422P:
+*fourcc = MFX_FOURCC_YUY2;
+return AV_PIX_FMT_YUYV422;
+#if QSV_VERSION_ATLEAST(1, 27)
+case AV_PIX_FMT_YUV422P10:
+*fourcc = MFX_FOURCC_Y210;
+return AV_PIX_FMT_Y210;
+#endif
+#endif
 default:
 return AVERROR(ENOSYS);
 }
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index b1b6740..4306c6e3 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcontext_qsv.c
@@ -44,6 +44,10 @@
 #include "pixdesc.h"
 #include "time.h"
 
+#define QSV_VERSION_ATLEAST(MAJOR, MINOR)   \
+(MFX_VERSION_MAJOR > (MAJOR) || \
+ MFX_VERSION_MAJOR == (MAJOR) && MFX_VERSION_MINOR >= (MINOR))
+
 typedef struct QSVDevicePriv {
 AVBufferRef *child_device_ctx;
 } QSVDevicePriv;
@@ -103,6 +107,14 @@ static const struct {
 { AV_PIX_FMT_BGRA, MFX_FOURCC_RGB4 },
 { AV_PIX_FMT_P010, MFX_FOURCC_P010 },
 { AV_PIX_FMT_PAL8, MFX_FOURCC_P8   },
+#if CONFIG_VAAPI
+{ AV_PIX_FMT_YUYV422,
+   MFX_FOURCC_YUY2 },
+#if QSV_VERSION_ATLEAST(1, 27)
+{ AV_PIX_FMT_Y210,
+   MFX_FOURCC_Y210 },
+#endif
+#endif
 };
 
 static uint32_t qsv_fourcc_from_pix_fmt(enum AVPixelFormat pix_fmt)
@@ -773,7 +785,19 @@ static int map_frame_to_surface(const AVFrame *frame, 
mfxFrameSurface1 *surface)
 surface->Data.R = frame->data[0] + 2;
 surface->Data.A = frame->data[0] + 3;
 break;
+#if CONFIG_VAAPI
+case AV_PIX_FMT_YUYV422:
+surface->Data.Y = frame->data[0];
+surface->Data.U = frame->data[0] + 1;
+surface->Data.V = frame->data[0] + 3;
+break;
 
+case AV_PIX_FMT_Y210:
+surface->Data.Y16 = (mfxU16 *)frame->data[0];
+surface->Data.U16 = (mfxU16 *)frame->data[0] + 1;
+surface->Data.V16 = (mfxU16 *)frame->data[0] + 3;
+break;
+#endif
 default:
 return MFX_ERR_UNSUPPORTED;
 }
-- 
2.7.4

___
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, v2 2/2] lavc/qsvenc: add encode support for HEVC 4:2:2 8-bit and 10-bit

2020-02-26 Thread Linjie Fu
Enables HEVC Range Extension encoding support (Linux) for 4:2:2 8/10 bit
on ICL+ (gen11 +) platform with VMEPAK.

Signed-off-by: Linjie Fu 
---
[v2]: restrict to support on Linux

 libavcodec/qsv.c | 2 ++
 libavcodec/qsvenc.c  | 4 +++-
 libavcodec/qsvenc_hevc.c | 1 +
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 171a8d6..1772007 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -219,10 +219,12 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t 
*fourcc)
 return AV_PIX_FMT_P010;
 #if CONFIG_VAAPI
 case AV_PIX_FMT_YUV422P:
+case AV_PIX_FMT_YUYV422:
 *fourcc = MFX_FOURCC_YUY2;
 return AV_PIX_FMT_YUYV422;
 #if QSV_VERSION_ATLEAST(1, 27)
 case AV_PIX_FMT_YUV422P10:
+case AV_PIX_FMT_Y210:
 *fourcc = MFX_FOURCC_Y210;
 return AV_PIX_FMT_Y210;
 #endif
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 52b4e43..571a711 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -66,6 +66,7 @@ static const struct {
 { MFX_PROFILE_HEVC_MAIN,"main"  },
 { MFX_PROFILE_HEVC_MAIN10,  "main10"},
 { MFX_PROFILE_HEVC_MAINSP,  "mainsp"},
+{ MFX_PROFILE_HEVC_REXT,"rext"  },
 #endif
 };
 
@@ -544,7 +545,8 @@ static int init_video_param(AVCodecContext *avctx, 
QSVEncContext *q)
 q->param.mfx.FrameInfo.CropH  = avctx->height;
 q->param.mfx.FrameInfo.AspectRatioW   = avctx->sample_aspect_ratio.num;
 q->param.mfx.FrameInfo.AspectRatioH   = avctx->sample_aspect_ratio.den;
-q->param.mfx.FrameInfo.ChromaFormat   = MFX_CHROMAFORMAT_YUV420;
+q->param.mfx.FrameInfo.ChromaFormat   = MFX_CHROMAFORMAT_YUV420 +
+!desc->log2_chroma_w + 
!desc->log2_chroma_h;
 q->param.mfx.FrameInfo.BitDepthLuma   = desc->comp[0].depth;
 q->param.mfx.FrameInfo.BitDepthChroma = desc->comp[0].depth;
 q->param.mfx.FrameInfo.Shift  = desc->comp[0].depth > 8;
diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
index 27e2232..298b575 100644
--- a/libavcodec/qsvenc_hevc.c
+++ b/libavcodec/qsvenc_hevc.c
@@ -240,6 +240,7 @@ static const AVOption options[] = {
 { "main",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAIN
}, INT_MIN, INT_MAX, VE, "profile" },
 { "main10",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAIN10  
}, INT_MIN, INT_MAX, VE, "profile" },
 { "mainsp",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAINSP  
}, INT_MIN, INT_MAX, VE, "profile" },
+{ "rext",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_REXT
}, INT_MIN, INT_MAX, VE, "profile" },
 
 { "gpb", "1: GPB (generalized P/B frame); 0: regular P frame", 
OFFSET(qsv.gpb), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VE},
 
-- 
2.7.4

___
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] [avfomat/rtp: source ips lost when specified as URL options] Patch for ffmpeg using rtp protocol where sources option is not retained

2020-02-26 Thread Ross Nicholson
Thanks, just thought you might have another idea, as it works just was not sure 
if I was accomplishing it in the right way.

Ya, I submitted the patch formally. Let’s see what’s a review comes back like.

Thanks 

> On 26 Feb 2020, at 05:10, Jun Li  wrote:
> 
> 
> 
> 
>> On Tue, Feb 25, 2020 at 5:01 AM Ross Nicholson  wrote:
>> Hey Jun Li,
>> 
>> I noticed you have submitted some patches which work around the same code 
>> area's that I submitted for. Your patches look quite tidy and well thought 
>> out so I was wondering if you could look at this patch and see if I'm going 
>> about it in the right way.
>> 
>> I'm not sure this area of ffmpeg currently has a maintainer currently so the 
>> patches may be difficult to progress.
>> 
>> Ross
>> 
>>> On Tue, 11 Feb 2020 at 22:42, Ross Nicholson  wrote:
>>> The patch was created as a workaround to an issue from in kodi (apologies, 
>>> it's a rather long thread): 
>>> https://forum.kodi.tv/showthread.php?tid=350901&pid=2923550#pid2923550
>>> 
>>> As an example, here is a URL: rtp://87.141.215.251@232.0.10.234:1
>>> 
>>> Taking this URL we should be able to either reformat it to: 
>>> rtp://232.0.10.234:1?sources=87.141.215.251 or pass the sources as an 
>>> av_dict to avfomat_open_input.
>>> 
>>> Neither option works however. Instead the above workaround was created but 
>>> it's not really the right way to fix this. Would be great to get some 
>>> guidance on the right place to fix this in the right way.
>>> 
>>> Thanks in advance.
>>> 
 On Tue, 11 Feb 2020 at 22:30, phunkyfish  wrote:
 ---
  libavformat/rtsp.c | 26 --
  1 file changed, 24 insertions(+), 2 deletions(-)
 
 diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
 index 859defa592..f922055134 100644
 --- a/libavformat/rtsp.c
 +++ b/libavformat/rtsp.c
 @@ -2334,7 +2334,9 @@ static int sdp_read_header(AVFormatContext *s)
  RTSPStream *rtsp_st;
  int size, i, err;
  char *content;
 +const char *p, *sp="", *sources="", *sp2, *sources2;
  char url[1024];
 +char sources_buf[1024];
 
  if (!ff_network_init())
  return AVERROR(EIO);
 @@ -2360,6 +2362,16 @@ static int sdp_read_header(AVFormatContext *s)
  av_freep(&content);
  if (err) goto fail;
 
 +/* Search for sources= tag in original URL for rtp protocol only */
 +if (strncmp(s->url, "rtp://", 6) == 0) {
 +p = strchr(s->url, '?');
 +if (p && av_find_info_tag(sources_buf, sizeof(sources_buf), 
 "sources", p)) {
 +/* av_log(s, AV_LOG_VERBOSE, "sdp_read_header found sources 
 %s\n", sources_buf);  */
 +sp = sources_buf;
 +sources = "&sources=";
 +}
 +}
 +
  /* open each RTP stream */
  for (i = 0; i < rt->nb_rtsp_streams; i++) {
  char namebuf[50];
 @@ -2377,12 +2389,22 @@ static int sdp_read_header(AVFormatContext *s)
  av_dict_free(&opts);
  goto fail;
  }
 +
 +/* Prepare to add sources to the url to be opened.
 +   Otherwise the join to the source specific muliticast will 
 be missing */
 +sources2 = sources;
 +sp2 = sp;
 +/* ignore sources from original URL, when sources are already 
 set in rtsp_st */
 +if (rtsp_st->nb_include_source_addrs > 0)
 +sources2 = sp2 = "";
 +
  ff_url_join(url, sizeof(url), "rtp", NULL,
  namebuf, rtsp_st->sdp_port,
 -
 "?localport=%d&ttl=%d&connect=%d&write_to_source=%d",
 +
 "?localport=%d&ttl=%d&connect=%d&write_to_source=%d%s%s",
  rtsp_st->sdp_port, rtsp_st->sdp_ttl,
  rt->rtsp_flags & RTSP_FLAG_FILTER_SRC ? 1 : 0,
 -rt->rtsp_flags & RTSP_FLAG_RTCP_TO_SOURCE ? 1 : 
 0);
 +rt->rtsp_flags & RTSP_FLAG_RTCP_TO_SOURCE ? 1 : 0,
 +sources2, sp2);
 
  append_source_addrs(url, sizeof(url), "sources",
  rtsp_st->nb_include_source_addrs,
 -- 
 2.20.1 (Apple Git-117)
 
> 
> Hi Ross,
> I am not sure I understand your requirement clearly, an alternative way is to 
> save the url in sdp(maybe in rtp_read_header?) and read it out in 
> sdp_read_header. But I am not sure which field can carry this info (maybe uri 
> attribute ?).
> 
> Since you already have the code change, why now send it as a formal patch so 
> that FFmpeg maintainers/experts can have a review ?
> 
> -Jun
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avfilter/vf_program_opencl: allow setting kernel per plane

2020-02-26 Thread Paul B Mahol
On 2/25/20, Mark Thompson  wrote:
> On 24/02/2020 10:01, Paul B Mahol wrote:
>> Fixes #7190
>>
>> Signed-off-by: Paul B Mahol 
>> ---
>>  doc/filters.texi| 22 
>>  libavfilter/vf_program_opencl.c | 64 ++---
>>  2 files changed, 65 insertions(+), 21 deletions(-)
>>
>> diff --git a/doc/filters.texi b/doc/filters.texi
>> index 70fd7a4cc7..6b10f649b9 100644
>> --- a/doc/filters.texi
>> +++ b/doc/filters.texi
>> @@ -21302,6 +21302,17 @@ Number of inputs to the filter.  Defaults to 1.
>>  @item size, s
>>  Size of output frames.  Defaults to the same as the first input.
>>
>> +@item kernel2
>> +Kernel name in program for 2nd plane, if not set kernel from option
>> +@var{kernel} is used.
>> +
>> +@item kernel3
>> +Kernel name in program for 3nd plane, if not set kernel from option
>> +@var{kernel} is used.
>
> Why this default?  The kernel for the second plane feels a more obvious
> choice to me for cases like yuv420p.

It is easier.

>
>> +
>> +@item kernel4
>> +Kernel name in program for 4nd plane, if not set kernel from option
>> +@var{kernel} is used.
>>  @end table
>>
>>  The program source file must contain a kernel function with the given
>> name,
>
> An example using it would be nice to show the intended setup.

Example is omitted because its trivial.

>
>> @@ -22488,6 +22499,17 @@ Pixel format to use for the generated frames.
>> This must be set.
>>  @item rate, r
>>  Number of frames generated every second.  Default value is '25'.
>>
>> +@item kernel2
>> +Kernel name in program for 2nd plane, if not set kernel from option
>> +@var{kernel} is used.
>> +
>> +@item kernel3
>> +Kernel name in program for 3nd plane, if not set kernel from option
>> +@var{kernel} is used.
>> +
>> +@item kernel4
>> +Kernel name in program for 4nd plane, if not set kernel from option
>> +@var{kernel} is used.
>>  @end table
>>
>>  For details of how the program loading works, see the
>> @ref{program_opencl}
>> diff --git a/libavfilter/vf_program_opencl.c
>> b/libavfilter/vf_program_opencl.c
>> index ec25e931f5..f748b15037 100644
>> --- a/libavfilter/vf_program_opencl.c
>> +++ b/libavfilter/vf_program_opencl.c
>> @@ -33,14 +33,14 @@ typedef struct ProgramOpenCLContext {
>>
>>  int loaded;
>>  cl_uint index;
>> -cl_kernel   kernel;
>> +cl_kernel   kernel[4];
>>  cl_command_queuecommand_queue;
>>
>>  FFFrameSync fs;
>>  AVFrame   **frames;
>>
>>  const char *source_file;
>> -const char *kernel_name;
>> +const char *kernel_name[4];
>>  int nb_inputs;
>>  int width, height;
>>  enum AVPixelFormat  source_format;
>> @@ -66,15 +66,17 @@ static int program_opencl_load(AVFilterContext *avctx)
>>  return AVERROR(EIO);
>>  }
>>
>> -ctx->kernel = clCreateKernel(ctx->ocf.program, ctx->kernel_name,
>> &cle);
>> -if (!ctx->kernel) {
>> -if (cle == CL_INVALID_KERNEL_NAME) {
>> -av_log(avctx, AV_LOG_ERROR, "Kernel function '%s' not found
>> in "
>> -   "program.\n", ctx->kernel_name);
>> -} else {
>> -av_log(avctx, AV_LOG_ERROR, "Failed to create kernel: %d.\n",
>> cle);
>> +for (int i = 0; i < 4; i++) {
>
> I don't think it's a good idea to make kernel objects for absent planes, and
> it should be an error to provide more kernels than planes.

I disagree.

>
>> +ctx->kernel[i] = clCreateKernel(ctx->ocf.program,
>> ctx->kernel_name[i] ? ctx->kernel_name[i] : ctx->kernel_name[0], &cle);
>
> Since the kernel you end up with is exactly the same, perhaps you would be
> better making only the named kernels and then choosing later which one to
> use rather than having many copies of the same object.
>

My way is much simpler.

> (Also, please avoid overlong lines.)
>
>> +if (!ctx->kernel[i]) {
>> +if (cle == CL_INVALID_KERNEL_NAME) {
>> +av_log(avctx, AV_LOG_ERROR, "Kernel function '%s' not
>> found in "
>> +   "program.\n", ctx->kernel_name[i] ?
>> ctx->kernel_name[i] : ctx->kernel_name[0]);
>> +} else {
>> +av_log(avctx, AV_LOG_ERROR, "Failed to create kernel%d:
>> %d.\n", i, cle);
>> +}
>> +return AVERROR(EIO);
>>  }
>> -return AVERROR(EIO);
>>  }
>>
>>  ctx->loaded = 1;
>> @@ -108,14 +110,14 @@ static int program_opencl_run(AVFilterContext
>> *avctx)
>>  if (!dst)
>>  break;
>>
>> -cle = clSetKernelArg(ctx->kernel, 0, sizeof(cl_mem), &dst);
>> +cle = clSetKernelArg(ctx->kernel[plane], 0, sizeof(cl_mem),
>> &dst);
>>  if (cle != CL_SUCCESS) {
>>  av_log(avctx, AV_LOG_ERROR, "Failed to set kernel "
>> "destination image argument: %d.\n", cle);
>>  err = AVERROR_UNKNOWN;
>>  goto fail;
>>  }
>> -

Re: [FFmpeg-devel] [PATCH V2] libswscale/x86/yuv2rgb: Fix Segmentation Fault when load unaligned data

2020-02-26 Thread Carl Eugen Hoyos
Am Mi., 26. Feb. 2020 um 03:58 Uhr schrieb Ting Fu :
>
> Fixes ticket #8532

Patch applied.

Thank you, Carl Eugen
___
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 001/244] Add a new channel layout API

2020-02-26 Thread Nicolas George
Hendrik Leppkes (12020-02-25):
> Standards designed by committee like all this MPEG stuff are full of
> features that noone uses. Its usually indicative of the following
> replacement standard dumping them again. Instead, they threw in a
> bunch of new things of questionable use that will disappear in the
> next standard once again.

I agree, it's a very weak argument. But it's still infinitely superior
to the absence of arguments in "I don't think anything uses".

> I don't think we should be blindly following what some other group
> thinks, but critically judge everything we're implementing here.

I am not suggesting following anything blindly. But files using this
feature can exist out there, so the question is whether to accept an API
that cannot handle them without loss of information.

Regards,

-- 
  Nicolas George


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 001/244] Add a new channel layout API

2020-02-26 Thread Nicolas George
Anton Khirnov (12020-02-25):
> As far as I can tell, the Apple API linked above does not support that
> either. The way of describing the channel layout is given by
> mChannelLayoutTag, which can be either
> - kAudioChannelLayoutTag_UseChannelBitmap, which is effectively
>   equivalent to our current API, or the new API's LAYOUT_NATIVE
> - one of several predefined layouts, which can be mapped either to
>   LAYOUT_NATIVE or LAYOUT_CUSTOM
> - kAudioChannelLayoutTag_UseChannelDescriptions, which cannot be
>   represented in the current API, but is effectively equivalent to the
>   new API's LAYOUT_CUSTOM
>   The AudioChannelDescription struct contains:
> * AudioChannelFlags, which apply to coordinates
> * three floats, which are the coordinates
> * AudioChannelLabel, which is uint32 similar to our AVChannel
> 
> I see no support for any custom free-form text labels of the kind you
> want me to add.

The link above does not describe an API, it describe a format. A format
that can contain several channels with the FL (example) disposition.
Even if there are no labels attached, users need an interface to specify
one: "the first FL channel", "the second FL channel", for example. Your
proposal does not have it, it needs it.

> In addition to Hendrik's reply (which I agree with), support for this
> can be later added through a new layout type if someone really needs it.
> I see no reason to spend effort implementing functionality that is not
> actually used for anything.

It's the second time you propose to extend the API later like that. I am
glad you realize the API you proposed is insufficient and needs
extending, but I am worried that you don't realize that extending later
for needs that we see now is a terrible idea.

It's a terrible idea because it requires more work, and because the
extension will always stay second class compared to the initial code,
and unsupported in all the places in the code that will not be updated
for it.

Since we were lucky to see we need a way of attaching data to channels
before including the API, we'll include it in the API from the start.

It's too bad it will require dynamic allocation and make the handling of
the structure as a whole more clumsy, but it seems it was unavoidable.

We could use simply a per-channel metadata dictionary, it would allow
both the speaker coordinate in this spec and the free-form label that I
want. Alternatively, we can use a more typed approach, like side data.

Regards,

-- 
  Nicolas George


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] Fixing rare dshow input crash

2020-02-26 Thread Carl Eugen Hoyos
Am Mi., 26. Feb. 2020 um 06:57 Uhr schrieb Roger Pack :
>
> Original bigger patch is enough for now.  Please merge, thanks!

What happened to your git account?

Carl Eugen
___
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 v3] avfilter: add overlay vaapi filter

2020-02-26 Thread Moritz Barsnick
On Wed, Feb 26, 2020 at 13:53:34 +0800, Xinpeng Sun wrote:
>  configure  |   3 +
>  doc/filters.texi   |  51 
>  libavfilter/Makefile   |   1 +
>  libavfilter/allfilters.c   |   1 +
>  libavfilter/vf_overlay_vaapi.c | 426 +

This will ultimately also require a Changelog entry and a minor version
bump. But wait for more reviews first before reposting.

Cheers,
Moritz
___
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 03/12] lavfi: drop vf_qp

2020-02-26 Thread Thilo Borgmann
Am 25.02.20 um 11:28 schrieb Anton Khirnov:
> Quoting Thilo Borgmann (2020-02-24 23:07:48)
>> Am 24.02.20 um 22:41 schrieb Lou Logan:
>>> On Mon, Feb 24, 2020, at 3:37 AM, Anton Khirnov wrote:
 It fundamentally depends on an API that has been deprecated for five
 years, has seen no commits since that time and is of highly dubious
 usefulness.
 ---
  doc/filters.texi|  32 ---
  libavfilter/Makefile|   1 -
  libavfilter/allfilters.c|   1 -
  libavfilter/vf_qp.c | 183 
  tests/fate/filter-video.mak |   7 +-
  tests/ref/fate/filter-pp2   |   1 -
  tests/ref/fate/filter-pp3   |   1 -
  7 files changed, 1 insertion(+), 225 deletions(-)
  delete mode 100644 libavfilter/vf_qp.c
  delete mode 100644 tests/ref/fate/filter-pp2
  delete mode 100644 tests/ref/fate/filter-pp3
>>>
>>> Fine with me. I've never seen it used by anyone.
>>
>> I'm not fine with it. Declaring it's {use | use case} not existent is
>> no arguments whatsoever in reality.
>>
>> Also, removing some functionality needs an argument - it is not
>> keeping some functionality needs an argument.
> 
> I disagree with that. Keeping code around is not free, as Vittorio
> already said - it is a burden in many ways. So I believe all code needs
> continued justification for its existence - not just "it was added in
> the past so it stays in forever". Note that I'm not saying it needs to
> be mainstream or very popular - I am fine with obscure features that
> are only useful to a few people in highly special cases (given they are
> not unduly intrusive and those people are willing to maintain them). But
> so far in this thread, there has been no actual use presented for
> exporting and passing around QP tables. None whatsoever.
> 
> Most objections here are like yours - it's a) a feature and b) someone
> somewhere sometime might conceivably want to use it, so it must not be
> removed. Michael's reponse is the only one that comes close to having a
> use case, but even he says that he's unsure of the usefulness of the
> actual QP tables and that it's largely theoretical.
> 
> I believe I did more structural changes to the libraries than most
> people and in my experience these obsolete features from mplayer days
> are a MASSIVE maintenance pain. The amount of effort required to keep
> them working is simply not justified when essentially nobody uses them.
> 
> IMO these demands that they all be preserved forever is endangering the
> project. If making changes becomes too hard, people stop making them.
> They move to other places that are less hostile to change. We are at
> risk of turning into a repository of obscure old codecs and filters and
> getting overtaken by leaner projects like dav1d (yes it's supposed to be
> AV1-only, but that can change).
> 
>>
>> Nobody technically elaborates Paul's statement that it should go into side 
>> data. WTF? The compromise isn't even considered?
>>
>> Let's dig some trenches, shall we?
>>
>> And how come some obvious "use cases" / "needs" like [1] come into play? Or 
>> do we declare not continued discussions non-existent now, too?
> 
> The patch in your link is not using this API. Precisely because this API
> is inadequate for anything newer than MPEG4 ASP. If anything, it's an
> additional argument in favor of my patches.

My actual point about that patch was that there is a use case to extract QP 
tables for more current codecs. Suggests this use case is also there for less 
current ones which says we should not just remove this possibility.

If that patch is avoiding the deprecated things, could it be applied to the 
older codes and supersede vf_qp? (And I have no clue whether or not)
And would that not go into the direction Paul suggested?


>> And how comes, if Michael's investigation, that all of this is based on use 
>> of _a function_ that is deprecated instead of direct access of AVFrame's 
>> fields is the cause of all of this?
>>
>> Shame on all of us.
> 
> WTF? What shame?

I am ashamed that I do read most arguments here as merely black-and-white 
statements.
That might be considered, as I admit, as an overreaction and I probably should 
not have written.
However, that is also why I suggested to dig trenches.


> I am sending patches, in good faith, that I believe will improve the
> project. People may (and do) object to them. As long as the discussion
> is civil, constructive and in good faith (so far it mostly is), I see no
> reason for any shame.

Yes and please continue to do so. That I did not criticize.
Also yes, I don't see it non-civil and hopefully it will stay that way.
I see it, however, way less constructive as it could and should be.

-Thilo
___
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 sub

Re: [FFmpeg-devel] [PATCH 03/12] lavfi: drop vf_qp

2020-02-26 Thread Jean-Baptiste Kempf
Yo,

On Wed, Feb 26, 2020, at 14:27, Thilo Borgmann wrote:
> > The patch in your link is not using this API. Precisely because this API
> > is inadequate for anything newer than MPEG4 ASP. If anything, it's an
> > additional argument in favor of my patches.
> 
> My actual point about that patch was that there is a use case to 
> extract QP tables for more current codecs. Suggests this use case is 
> also there for less current ones which says we should not just remove 
> this possibility.

I think this is the right question:
"Are there actual valid use cases to do it?"

I remember that last year, there was an extractqp for h264 patches from Google, 
for example.

Any other question is basically less important.

If that is useful, then, we should update the API and remove the old API.
If it is not, then, let's remove everything.

Best,

-- 
Jean-Baptiste Kempf -  President
+33 672 704 734
___
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 4/4] avfilter/vf_paletteuse: Forward error codes

2020-02-26 Thread Andreas Rheinhardt
Andreas Rheinhardt:
> Signed-off-by: Andreas Rheinhardt 
> ---
>  libavfilter/vf_paletteuse.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/libavfilter/vf_paletteuse.c b/libavfilter/vf_paletteuse.c
> index 255c9d79e3..408cff786e 100644
> --- a/libavfilter/vf_paletteuse.c
> +++ b/libavfilter/vf_paletteuse.c
> @@ -912,12 +912,12 @@ static int apply_palette(AVFilterLink *inlink, AVFrame 
> *in, AVFrame **outf)
>s->last_out, out, &x, &y, &w, &h);
>  av_frame_unref(s->last_in);
>  av_frame_unref(s->last_out);
> -if (av_frame_ref(s->last_in, in) < 0 ||
> -av_frame_ref(s->last_out, out) < 0 ||
> -av_frame_make_writable(s->last_in) < 0) {
> +if ((ret = av_frame_ref(s->last_in, in))   < 0 ||
> +(ret = av_frame_ref(s->last_out, out)) < 0 ||
> +(ret = av_frame_make_writable(s->last_in)) < 0) {
>  av_frame_free(&out);
>  *outf = NULL;
> -return AVERROR(ENOMEM);
> +return ret;
>  }
>  
>  ff_dlog(ctx, "%dx%d rect: (%d;%d) -> (%d,%d) [area:%dx%d]\n",
> 
Ping.

- Andreas
___
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 4/4] avfilter/vf_paletteuse: Forward error codes

2020-02-26 Thread Paul B Mahol
lgtm

On 1/27/20, Andreas Rheinhardt  wrote:
> Signed-off-by: Andreas Rheinhardt 
> ---
>  libavfilter/vf_paletteuse.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libavfilter/vf_paletteuse.c b/libavfilter/vf_paletteuse.c
> index 255c9d79e3..408cff786e 100644
> --- a/libavfilter/vf_paletteuse.c
> +++ b/libavfilter/vf_paletteuse.c
> @@ -912,12 +912,12 @@ static int apply_palette(AVFilterLink *inlink, AVFrame
> *in, AVFrame **outf)
>s->last_out, out, &x, &y, &w, &h);
>  av_frame_unref(s->last_in);
>  av_frame_unref(s->last_out);
> -if (av_frame_ref(s->last_in, in) < 0 ||
> -av_frame_ref(s->last_out, out) < 0 ||
> -av_frame_make_writable(s->last_in) < 0) {
> +if ((ret = av_frame_ref(s->last_in, in))   < 0 ||
> +(ret = av_frame_ref(s->last_out, out)) < 0 ||
> +(ret = av_frame_make_writable(s->last_in)) < 0) {
>  av_frame_free(&out);
>  *outf = NULL;
> -return AVERROR(ENOMEM);
> +return ret;
>  }
>
>  ff_dlog(ctx, "%dx%d rect: (%d;%d) -> (%d,%d) [area:%dx%d]\n",
> --
> 2.20.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 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 03/12] lavfi: drop vf_qp

2020-02-26 Thread Paul B Mahol
On 2/26/20, Jean-Baptiste Kempf  wrote:
> Yo,
>
> On Wed, Feb 26, 2020, at 14:27, Thilo Borgmann wrote:
>> > The patch in your link is not using this API. Precisely because this API
>> > is inadequate for anything newer than MPEG4 ASP. If anything, it's an
>> > additional argument in favor of my patches.
>>
>> My actual point about that patch was that there is a use case to
>> extract QP tables for more current codecs. Suggests this use case is
>> also there for less current ones which says we should not just remove
>> this possibility.
>
> I think this is the right question:
> "Are there actual valid use cases to do it?"
>
> I remember that last year, there was an extractqp for h264 patches from
> Google, for example.
>
> Any other question is basically less important.
>
> If that is useful, then, we should update the API and remove the old API.
> If it is not, then, let's remove everything.
>

It is useful as already proved. Please refrain from ignoring obvious facts.


> Best,
>
> --
> Jean-Baptiste Kempf -  President
> +33 672 704 734
> ___
> 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] avformat/mux: allow non-monotonic ts with AVFMT_NOTIMESTAMPS

2020-02-26 Thread Andreas Rheinhardt
Anssi Hannula:
> Allow non-monotonic input timestamps for muxers with no timestamps at
> all (AVFMT_NOTIMESTAMPS).
> 
> This is frequently hit when muxing TrueHD with spdifenc as many MKV
> files use 1ms timestamps while TrueHD frames are shorter than that
> (1/1200 sec for 48kHz-based and 1/1102.5 sec for 44.1kHz-based rates).
> ---
>  libavformat/mux.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/mux.c b/libavformat/mux.c
> index 3533932a58..ba6695badb 100644
> --- a/libavformat/mux.c
> +++ b/libavformat/mux.c
> @@ -622,7 +622,7 @@ static int compute_muxer_pkt_fields(AVFormatContext *s, 
> AVStream *st, AVPacket *
>  }
>  
>  if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE &&
> -((!(s->oformat->flags & AVFMT_TS_NONSTRICT) &&
> +((!(s->oformat->flags & (AVFMT_NOTIMESTAMPS | AVFMT_TS_NONSTRICT)) &&
>st->codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE &&
>st->codecpar->codec_type != AVMEDIA_TYPE_DATA &&
>st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts)) {
> 
The change looks good, but the description is suboptimal: Your change
does not blindly allow non-monotonic timestamps. It just drops the
requirement of strictly monotonic dts for muxers with
AVFMT_NOTIMESTAMPS. This is enough to fix the issue with TrueHD and
1/1000 timebases (which also exists for the null muxer).

- Andreas
___
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 03/12] lavfi: drop vf_qp

2020-02-26 Thread Jean-Baptiste Kempf
On Wed, Feb 26, 2020, at 15:46, Paul B Mahol wrote:
> On 2/26/20, Jean-Baptiste Kempf  wrote:
> > Yo,
> >
> > On Wed, Feb 26, 2020, at 14:27, Thilo Borgmann wrote:
> >> > The patch in your link is not using this API. Precisely because this API
> >> > is inadequate for anything newer than MPEG4 ASP. If anything, it's an
> >> > additional argument in favor of my patches.
> >>
> >> My actual point about that patch was that there is a use case to
> >> extract QP tables for more current codecs. Suggests this use case is
> >> also there for less current ones which says we should not just remove
> >> this possibility.
> >
> > I think this is the right question:
> > "Are there actual valid use cases to do it?"
> >
> > I remember that last year, there was an extractqp for h264 patches from
> > Google, for example.
> >
> > Any other question is basically less important.
> >
> > If that is useful, then, we should update the API and remove the old API.
> > If it is not, then, let's remove everything.
> >
> 
> It is useful as already proved. Please refrain from ignoring obvious facts.

Please learn how to talk nicely to people, that will help quite a bit.

-- 
Jean-Baptiste Kempf -  President
+33 672 704 734
___
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 03/12] lavfi: drop vf_qp

2020-02-26 Thread Thilo Borgmann
Am 26.02.20 um 16:26 schrieb Jean-Baptiste Kempf:
> On Wed, Feb 26, 2020, at 15:46, Paul B Mahol wrote:
>> On 2/26/20, Jean-Baptiste Kempf  wrote:
>>> Yo,
>>>
>>> On Wed, Feb 26, 2020, at 14:27, Thilo Borgmann wrote:
> The patch in your link is not using this API. Precisely because this API
> is inadequate for anything newer than MPEG4 ASP. If anything, it's an
> additional argument in favor of my patches.

 My actual point about that patch was that there is a use case to
 extract QP tables for more current codecs. Suggests this use case is
 also there for less current ones which says we should not just remove
 this possibility.
>>>
>>> I think this is the right question:
>>> "Are there actual valid use cases to do it?"
>>>
>>> I remember that last year, there was an extractqp for h264 patches from
>>> Google, for example.

That should be the patch I linked to.

-Thilo

___
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] Add .mailmap

2020-02-26 Thread Josh de Kock
Hi Steven,

On Mon, Feb 24, 2020, at 2:03 AM, Steven Liu wrote:
> [...]
> How can I get the script :D
> 
> Thanks
> 
> Steven

I won't be looking to upstream this script (the other one yes), but I will
share it here for you. You'll have to excuse my poor scripting :)

-- 
Josh

#!/usr/bin/env perl

use warnings;
use strict;

# cpan List::MoreUtils JSON
use Encode qw(decode);
use List::MoreUtils qw(uniq);

sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };

my @shortlog = split /\n/, decode('UTF-8', `git shortlog -sne --since="last 36 
months"`, Encode::FB_CROAK);

my %assembly = ();
my %developers = ();

foreach my $line (@shortlog) {
my ($count, $name, $email) = $line =~ m/^ *(\d+) *(.*?) <(.*?)>/;

# ignore
$email =~ s/ at /@/;
$name = trim $name;

if (exists($developers{$name})) {
$developers{$name}{commit_count} += $count;

push @{$developers{$name}{email}}, $email;
} else {
$developers{$name} = {
commit_count => $count,
email => [$email],
};
}
}

foreach my $key (keys %developers) {
# many people with different emails, only care about frequent committers
if ($developers{$key}{commit_count} >= 20) {
$developers{$key}{email} = [uniq @{$developers{$key}{email}}];
if (scalar @{$developers{$key}{email}} > 1) {
foreach my $email (@{$developers{$key}{email}}) {
print "$email ";
}
print "\n";
}
}
}
___
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] avformat/mp3dec: Count last partial frame in probe.

2020-02-26 Thread Michael Niedermayer
Fixes: regression
Fixes: Ticket8511

Signed-off-by: Michael Niedermayer 
---
 libavformat/mp3dec.c | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index 71a4ed706d..70cceb79f8 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -87,20 +87,26 @@ static int mp3_read_probe(const AVProbeData *p)
 for (framesizes = frames = 0; buf2 < end; frames++) {
 MPADecodeHeader h;
 int header_emu = 0;
+int available;
 
 header = AV_RB32(buf2);
 ret = avpriv_mpegaudio_decode_header(&h, header);
-if (ret != 0 || end - buf2 < h.frame_size)
+if (ret != 0)
 break;
 
-for (buf3 = buf2 + 4; buf3 < buf2 + h.frame_size; buf3++) {
+available = FFMIN(h.frame_size, end - buf2);
+for (buf3 = buf2 + 4; buf3 < buf2 + available; buf3++) {
 uint32_t next_sync = AV_RB32(buf3);
 header_emu += (next_sync & MP3_MASK) == (header & MP3_MASK);
 }
 if (header_emu > 2)
 break;
-buf2 += h.frame_size;
 framesizes += h.frame_size;
+if (end - buf2 < h.frame_size) {
+frames++;
+break;
+}
+buf2 += h.frame_size;
 }
 max_frames = FFMAX(max_frames, frames);
 max_framesizes = FFMAX(max_framesizes, framesizes);
-- 
2.17.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 03/12] lavfi: drop vf_qp

2020-02-26 Thread Thierry Foucu
First of all, thanks for trying to clean up deprecated API

On Wed, Feb 26, 2020 at 6:03 AM Jean-Baptiste Kempf  wrote:

> Yo,
>
> On Wed, Feb 26, 2020, at 14:27, Thilo Borgmann wrote:
> > > The patch in your link is not using this API. Precisely because this
> API
> > > is inadequate for anything newer than MPEG4 ASP. If anything, it's an
> > > additional argument in favor of my patches.
> >
> > My actual point about that patch was that there is a use case to
> > extract QP tables for more current codecs. Suggests this use case is
> > also there for less current ones which says we should not just remove
> > this possibility.
>
> I think this is the right question:
> "Are there actual valid use cases to do it?"
>

yes, there is a use case for extracting QP per block:
To analyze and visualize QP to validate/analyze Rate Control when we enable
Adaptive QP and ROI for example.
Most people who works on Rate Control know that the choice of the right
MV/QP/block type is really important for quality.
In today world, you will have to license existing software to visualize the
QP, but if you want to do this over +10k video, and analyze QP based on
some stats we expect to have, you need some libraries to do it.
People could write some codec parser to extract the QP per block, but this
is almost re-implementing part of libavcodec.
Today, for example, when we want to visualize QP, we use libavcodec to
decode the frame, use another piece of code to extract the QP and overlay
both of them. This is almost (and i say ALMOST) decoding the frame twice.
(BTW, we can do that already with libavcodec for MV, so why not for QP)

Last summer, an intern from google tried to come up with a metadata
structure to store information per block.
This would have allow to store per block, the MV, QP, block type, etc.. And
it could have work for any codec with any different block size.
He was trying to implement what was done for MV and replace the QP with
this new metadata.

I agree that the current QP code (not feature) should be deprecated as it
does not work with newer codec.
But before removing the deprecated code, it will be nice to have the same
feature available with a newer API, so the features of
extracting/analyzing/overlaying QP still work.

>
> I remember that last year, there was an extractqp for h264 patches from
> Google, for example.
>
> Any other question is basically less important.
>
> If that is useful, then, we should update the API and remove the old API.
> If it is not, then, let's remove everything.
>
> Best,
>
> --
> Jean-Baptiste Kempf -  President
> +33 672 704 734
> ___
> 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".



-- 

Thierry Foucu
___
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]lsws/input: Do not change transparency range

2020-02-26 Thread Carl Eugen Hoyos
Am Sa., 15. Feb. 2020 um 20:21 Uhr schrieb Michael Niedermayer
:
>
> On Sat, Feb 15, 2020 at 10:10:45AM +0100, Carl Eugen Hoyos wrote:
> > Hi!
> >
> > Transparency levels are currently changed when reading bgra and
> > friends, this patch changes behaviour and fixes ticket #8509.
> >
> > Please comment, Carl Eugen
>
> >  libswscale/input.c|6
> >  tests/ref/fate/ffmpeg-filter_colorkey |   20 +-
> >  tests/ref/fate/filter-overlay-dvdsub-2397 |  180 
> > +-
> >  tests/ref/fate/filter-overlay_gbrap_gbrap |2
> >  tests/ref/fate/filter-overlay_gbrp_gbrap  |2
> >  tests/ref/fate/filter-overlay_yuv420_yuva420  |2
> >  tests/ref/fate/filter-overlay_yuv422_yuva422  |2
> >  tests/ref/fate/filter-overlay_yuv444_yuva444  |2
> >  tests/ref/fate/filter-overlay_yuva420_yuva420 |2
> >  tests/ref/fate/filter-overlay_yuva422_yuva422 |2
> >  tests/ref/fate/filter-overlay_yuva444_yuva444 |2
> >  11 files changed, 111 insertions(+), 111 deletions(-)
> > d8ed3bafeca2ed15b41a2fca0dc5600e3aeab671  
> > 0001-lsws-input-Do-not-change-transparency-range.patch
> > From a71053df9131be803d9a359a7232e5193747f351 Mon Sep 17 00:00:00 2001
> > From: Carl Eugen Hoyos 
> > Date: Sat, 15 Feb 2020 10:07:51 +0100
> > Subject: [PATCH] lsws/input: Do not change transparency range.
> >
> > Fixes ticket #8509.
> [...]
>
> > @@ -457,7 +457,7 @@ static void palToA_c(uint8_t *_dst, const uint8_t *src, 
> > const uint8_t *unused1,
> >  for (i=0; i >  int d= src[i];
> >
> > -dst[i]= (pal[d] >> 24)<<6;
> > +dst[i]= (pal[d] >> 24)<<6 | pal[d]>>2;
>
> this looks wrong, theres a 24 missing in some form

New patch attached, thank you!

Carl Eugen
From a71053df9131be803d9a359a7232e5193747f351 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos 
Date: Sat, 15 Feb 2020 10:07:51 +0100
Subject: [PATCH] lsws/input: Do not change transparency range.

Fixes ticket #8509.
---
 libswscale/input.c|   6 +-
 tests/ref/fate/ffmpeg-filter_colorkey |  20 +-
 tests/ref/fate/filter-overlay-dvdsub-2397 | 180 +-
 tests/ref/fate/filter-overlay_gbrap_gbrap |   2 +-
 tests/ref/fate/filter-overlay_gbrp_gbrap  |   2 +-
 tests/ref/fate/filter-overlay_yuv420_yuva420  |   2 +-
 tests/ref/fate/filter-overlay_yuv422_yuva422  |   2 +-
 tests/ref/fate/filter-overlay_yuv444_yuva444  |   2 +-
 tests/ref/fate/filter-overlay_yuva420_yuva420 |   2 +-
 tests/ref/fate/filter-overlay_yuva422_yuva422 |   2 +-
 tests/ref/fate/filter-overlay_yuva444_yuva444 |   2 +-
 11 files changed, 111 insertions(+), 111 deletions(-)

diff --git a/libswscale/input.c b/libswscale/input.c
index 159f70307d..7d7e6b7f36 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -437,7 +437,7 @@ static void abgrToA_c(uint8_t *_dst, const uint8_t *src, const uint8_t *unused1,
 int16_t *dst = (int16_t *)_dst;
 int i;
 for (i=0; i>2;
 }
 }
 
@@ -446,7 +446,7 @@ static void rgbaToA_c(uint8_t *_dst, const uint8_t *src, const uint8_t *unused1,
 int16_t *dst = (int16_t *)_dst;
 int i;
 for (i=0; i>2;
 }
 }
 
@@ -457,7 +457,7 @@ static void palToA_c(uint8_t *_dst, const uint8_t *src, const uint8_t *unused1,
 for (i=0; i> 24)<<6;
+dst[i]= (pal[d] >> 24)<<6 | pal[d]>>26;
 }
 }
 
diff --git a/tests/ref/fate/ffmpeg-filter_colorkey b/tests/ref/fate/ffmpeg-filter_colorkey
index effc13b12f..490a0f9aa6 100644
--- a/tests/ref/fate/ffmpeg-filter_colorkey
+++ b/tests/ref/fate/ffmpeg-filter_colorkey
@@ -3,13 +3,13 @@
 #codec_id 0: rawvideo
 #dimensions 0: 720x576
 #sar 0: 0/1
-0,  0,  0,1,   622080, 0x4e30accb
-0,  1,  1,1,   622080, 0x7d941c14
-0,  2,  2,1,   622080, 0xf7451c5b
-0,  3,  3,1,   622080, 0xb2c74319
-0,  4,  4,1,   622080, 0xc9b80b79
-0,  5,  5,1,   622080, 0x92ce1194
-0,  6,  6,1,   622080, 0x43ae99ac
-0,  7,  7,1,   622080, 0x4ec3a554
-0,  8,  8,1,   622080, 0x3200250c
-0,  9,  9,1,   622080, 0x94ebb3f3
+0,  0,  0,1,   622080, 0x78efb628
+0,  1,  1,1,   622080, 0x641f2564
+0,  2,  2,1,   622080, 0x348f25c3
+0,  3,  3,1,   622080, 0x6afc485a
+0,  4,  4,1,   622080, 0xe949107f
+0,  5,  5,1,   622080, 0x171716e5
+0,  6,  6,1,   622080, 0x2985a01f
+0,  7,  7,1,   622080, 0xc5ddabd7
+0,  8,  8,1,   622080, 0xb4dd2b7f
+0,  9,  9,1,   622080, 0x6e75ba82
diff --git a/tests/ref/fate/filter-overlay-dvdsub-2397 b/tests/ref/fate/filter-overlay-dvdsub-2397
index b86a2184b7..483e5fa4e0 100644
--- a/tests/ref/fate/filter-overlay

[FFmpeg-devel] [PATCH] configure: Remove bitrig support

2020-02-26 Thread Brad Smith
configure: Remove bitrig support

Bitrig was an OpenBSD derivative that has been dead for awhile now.

Signed-off-by: Brad Smith 
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 06e3a7b2a8..9221621bd1 100755
--- a/configure
+++ b/configure
@@ -5303,7 +5303,7 @@ case $target_os in
 oss_outdev_extralibs="-lossaudio"
 enabled gcc || check_ldflags -Wl,-zmuldefs
 ;;
-openbsd|bitrig)
+openbsd)
 disable symver
 enable section_data_rel_ro
 striptype=""
-- 
2.25.0

___
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/2] avdevice/decklink_dec: fix stopping streams in read_close

2020-02-26 Thread Marton Balint



On Sat, 22 Feb 2020, Marton Balint wrote:


The capture_started variable was never set, it is simpler to call the stop
functions unconditionally if the interface is available.


Applied the series.

Regards,
Marton



Signed-off-by: Marton Balint 
---
libavdevice/decklink_common.h | 1 -
libavdevice/decklink_dec.cpp  | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/libavdevice/decklink_common.h b/libavdevice/decklink_common.h
index 8b3dbce2fb..27ce6a8a40 100644
--- a/libavdevice/decklink_common.h
+++ b/libavdevice/decklink_common.h
@@ -115,7 +115,6 @@ struct decklink_ctx {

/* Status */
int playback_started;
-int capture_started;
int64_t last_pts;
unsigned long frameCount;
unsigned int dropped;
diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
index 1fd5adf515..c8d931517e 100644
--- a/libavdevice/decklink_dec.cpp
+++ b/libavdevice/decklink_dec.cpp
@@ -983,7 +983,7 @@ av_cold int ff_decklink_read_close(AVFormatContext *avctx)
struct decklink_cctx *cctx = (struct decklink_cctx *)avctx->priv_data;
struct decklink_ctx *ctx = (struct decklink_ctx *)cctx->ctx;

-if (ctx->capture_started) {
+if (ctx->dli) {
ctx->dli->StopStreams();
ctx->dli->DisableVideoInput();
ctx->dli->DisableAudioInput();
--
2.16.4

___
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] Status and Plans for Subtitle Filters

2020-02-26 Thread Michael Niedermayer
On Tue, Feb 25, 2020 at 06:40:13PM +0100, Clément Bœsch wrote:
> On Sun, Feb 23, 2020 at 09:59:59PM +0100, Michael Niedermayer wrote:
> [...]
> > > The subtitles refactor requires to see the big picture and all the 
> > > problems at
> > > once. 
> > 
> > really ?
> > just hypothetically, and playing the devils advocat here.
> > what would happen if one problem or set of problems is solved at a time ?
> 
> The first requirement of everything following is to define a new
> structure/API for holding the subtitles within the AVFrame (which has to
> live in lavu and not lavc like current API). So you have to address all
> the current limitations in that new API first, unless you're ready to
> change that new API 10x in the near future. 

yes i realized this implication when i wrote my mail and while it gave me
pause iam not sure this is a problem. This would not necessarily be public
API for user applications to use. Rather a step toward implementing the
new final API. Done that way to simplify things.

This like other comments is also really just a suggestion to simplify
the work. If it doesnt simplify anything it makes no sense of course.



> And even if you keep most of
> the current design, you still have to at least come up with ways to remove
> all the current hacks that would go away while moving to the new design.
> 
> > 
> > Maybe the thinking should not be "what are all the things that might need
> > to be considered"
> > but rather "what is the minimum set of things that need to be considered"
> > to make the first step towards a better API/first git push
> > 
> > 
> > 
> > > Since the core change (subtitles in AVFrame) requires the introduction of
> > > a new subtitles structure and API, it also involve addressing the 
> > > shortcomings
> > > of the original API (or maybe we could tolerate a new API that actually 
> > > looks
> > > like the old?). So even if we ignore the subtitle-in-avframe thing, we 
> > > don't
> > > have a clear answer for a sane API that handles everything. Here is a
> > > non-exhaustive list of stuff that we have to take into account while 
> > > thinking
> > > about that:
> > > 
> > > - text subtitles with and without markup
> > 
> > > - sparsity, overlapping
> > 
> > heartbeat frames would eliminate sparsity
> 
> Yes, and like many aspect of this refactor: we need to come up and
> formalize a convention. Of course I can make a suggestion, but there are
> many other cases and exceptions.
> 
> > what happens if you forbid overlapping ?
> 
> You can't, it's too common. The classic "Hello, hello" was already
> mentioned, but I could also mention subtitles used to "legend" the
> environment (you know, like, signposts and stuff) in addition to
> dialogues.

I do think i misunderstand something here
because if we have a video with a signpost shown from 0:00 to 1:00
and another shown from 0:30 to 1:30 then the subtitles translating
or commenting that would overlap.
and also the video frames showing these signposts overlap , ehm i mean
they dont overlap. That is what i do not understand.
Video frames dont do that and its fine
and then theres audio
someone playing a note on the trumpet and another a note on the piano
again we have 2 AVFrame overlapp i mean not overlapping.
So why subtitles ?

and one could even argue why it would make sense for audio to be
overlapping with this information about instruments and it is in 
midi and mod files. And a filter writing notes for the instruments
would benefit from this and simlar a midi encoder



[...]
> > > - bitmap subtitles and their potential colorspaces (each rectangle as an
> > >   AVFrame is way overkill but technically that's exactly what it is)
> > 
> > then a AVFrame needs to represent a collection of rectangles.
> > Its either 1 or N for the design i think.
> > Our current subtitle structures already have a similar design so this
> > wouldnt be really different.
> 
> Yeah, the new API prototype ended up being:
> 
> +#define AV_NUM_DATA_POINTERS 8
> +
> +/**
> + * This structure describes decoded subtitle rectangle
> + */
> +typedef struct AVFrameSubtitleRectangle {
> +int x, y;
> +int w, h;
> +
> +/* image data for bitmap subtitles, in AVFrame.format (AVPixelFormat) */
> +uint8_t *data[AV_NUM_DATA_POINTERS];
> +int linesize[AV_NUM_DATA_POINTERS];
> +
> +/* decoded text for text subtitles, in ASS */
> +char *text;
> +

> +int flags;

is 32bit flags enough ?
just bringing this up as a int64 is less ugly than a flags2

Thanks

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Elect your leaders based on what they did after the last election, not
based on what they say before an election.



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 "unsu

Re: [FFmpeg-devel] Status and Plans for Subtitle Filters

2020-02-26 Thread Nicolas George
Michael Niedermayer (12020-02-26):
> I do think i misunderstand something here
> because if we have a video with a signpost shown from 0:00 to 1:00
> and another shown from 0:30 to 1:30 then the subtitles translating
> or commenting that would overlap.

The existence of signs implies that overlap does happen frequently and
needs to happen gracefully. The idea of speech synthesis implies that
splitting and merging cannot be used indiscriminately. Both are true,
they do not need to happen at the same time.

Yet, they can happen at the same time, if for example spoken dialogue
meant for speech synthesis is separate (with a different ASS style or
layer) from the signs.

Furthermore, speech synthesis was just one example among many to explain
why splitting and merging is not acceptable. There are many others. The
case of timed animations has been given.

> and also the video frames showing these signposts overlap , ehm i mean
> they dont overlap. That is what i do not understand.
> Video frames dont do that and its fine
> and then theres audio
> someone playing a note on the trumpet and another a note on the piano
> again we have 2 AVFrame overlapp i mean not overlapping.
> So why subtitles ?
> 
> and one could even argue why it would make sense for audio to be
> overlapping with this information about instruments and it is in 
> midi and mod files. And a filter writing notes for the instruments
> would benefit from this and simlar a midi encoder

You're hinting at the answer. If we worked with MIDI and mod files,
splitting or merging notes would be unacceptable. Same goes for frames:
if we were a vectorial drawing program, rasterizing the graphic objects
would be unacceptable. But we're not: we consider audio is just a stream
of sample going to the speakers, and if some codec tries to do something
fancy with notes, that's its problem and we don't try to help. Same goes
for video: it's just pixels going to the screen, we don't try to
preserve sprites.

But it's not the same with subtitles. Subtitles are not just a bunch of
pixels that get overlaid on top of the video. Well, they could be, but
it's not what the users expect. Subtitles are often hand-written,
partially or completely, and read directly. A tool that mangles it would
be useless for most usages.

Regards,

-- 
  Nicolas George


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] Add .mailmap

2020-02-26 Thread Josh de Kock
On Mon, Feb 24, 2020, at 11:19 AM, Thilo Borgmann wrote:
> Am 23.02.20 um 21:40 schrieb Josh de Kock:
> > On Sun, Feb 23, 2020, at 4:07 PM, Thilo Borgmann wrote:
> >> [...]
> >>
> >> How is it automatically generated?
> > 
> > I wrote a small script to parse author names/emails and group
> > emails together based on names. In the future, additions should
> > be added manually.
> 
> Having that script in tools/ shouldn't hurt, manual updates can get out of 
> sync.
> Also authors might be unaware of or forgetting about .mailmap.
> 
> If you scriptify the group of people for a general assembly like 
> specified during some earlier meeting, that should be committed, 
> too.
> 
> .mailmap patch itself LGTM.

Pushed.

I will send a patch to add the script to compute the general assembly soon.

-- 
Josh
___
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/2] avcodec/cdtoons: Remove superfluous ;

2020-02-26 Thread Andreas Rheinhardt
The second ; in a double ;; is actually a null statement. It triggers
the typical declaration-after-statement compiler-warnings if it occurs
in the middle of several declarations (like here).

Signed-off-by: Andreas Rheinhardt 
---
 libavcodec/cdtoons.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/cdtoons.c b/libavcodec/cdtoons.c
index d5dce6351f..13f9a60f0f 100644
--- a/libavcodec/cdtoons.c
+++ b/libavcodec/cdtoons.c
@@ -61,7 +61,7 @@ static int cdtoons_render_sprite(AVCodecContext *avctx, const 
uint8_t *data,
 {
 CDToonsContext *c = avctx->priv_data;
 const uint8_t *next_line = data;
-const uint8_t *end = data + data_size;;
+const uint8_t *end = data + data_size;
 uint16_t line_size;
 uint8_t *dest;
 int skip = 0, to_skip, x;
-- 
2.20.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/2] avformat/ivfenc: Don't use size_t for size of file

2020-02-26 Thread Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt 
---
 libavformat/ivfenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/ivfenc.c b/libavformat/ivfenc.c
index eb70421c44..45e5b238dc 100644
--- a/libavformat/ivfenc.c
+++ b/libavformat/ivfenc.c
@@ -80,7 +80,7 @@ static int ivf_write_trailer(AVFormatContext *s)
 IVFEncContext *ctx = s->priv_data;
 
 if ((pb->seekable & AVIO_SEEKABLE_NORMAL) && ctx->frame_cnt > 1) {
-size_t end = avio_tell(pb);
+int64_t end = avio_tell(pb);
 
 avio_seek(pb, 24, SEEK_SET);
 // overwrite the "length" field (duration)
-- 
2.20.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/2] avcodec/cdtoons: Remove superfluous ;

2020-02-26 Thread Fu, Linjie
> -Original Message-
> From: ffmpeg-devel  On Behalf Of
> Andreas Rheinhardt
> Sent: Thursday, February 27, 2020 13:34
> To: ffmpeg-devel@ffmpeg.org
> Cc: Andreas Rheinhardt 
> Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/cdtoons: Remove
> superfluous ;
> 
> The second ; in a double ;; is actually a null statement. It triggers
> the typical declaration-after-statement compiler-warnings if it occurs
> in the middle of several declarations (like here).
> 
> Signed-off-by: Andreas Rheinhardt 
> ---
>  libavcodec/cdtoons.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/cdtoons.c b/libavcodec/cdtoons.c
> index d5dce6351f..13f9a60f0f 100644
> --- a/libavcodec/cdtoons.c
> +++ b/libavcodec/cdtoons.c
> @@ -61,7 +61,7 @@ static int cdtoons_render_sprite(AVCodecContext
> *avctx, const uint8_t *data,
>  {
>  CDToonsContext *c = avctx->priv_data;
>  const uint8_t *next_line = data;
> -const uint8_t *end = data + data_size;;
> +const uint8_t *end = data + data_size;
>  uint16_t line_size;
>  uint8_t *dest;
>  int skip = 0, to_skip, x;
> --

lgtm, same issue exists in vf_cas.c maybe could be fixed in one commit.

libavfilter/vf_cas.c:61:const int w1 = w - 1;;
libavfilter/vf_cas.c:128:const int w1 = w - 1;;

- Linjie
___
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] lavfi/vf_zscale: remove unused code

2020-02-26 Thread Fu, Linjie
> -Original Messages-
> From: "Linjie Fu" 
> Sent Time: 2019-12-12 17:14:59 (Thursday)
> To: ffmpeg-devel@ffmpeg.org
> Cc: "Linjie Fu" 
> Subject: [FFmpeg-devel] [PATCH,v2] lavfi/vf_zscale: remove unused code
> 
> Signed-off-by: Linjie Fu 
> ---
>  libavfilter/vf_zscale.c | 7 ---
>  1 file changed, 7 deletions(-)
> 
> diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c
> index db2dd17..bd5825f 100644
> --- a/libavfilter/vf_zscale.c
> +++ b/libavfilter/vf_zscale.c
> @@ -287,13 +287,6 @@ static int config_props(AVFilterLink *outlink)
>  outlink->w = w;
>  outlink->h = h;
> 
> -if (inlink->w == outlink->w &&
> -inlink->h == outlink->h &&
> -inlink->format == outlink->format)
> -;
> -else {
> -}
> -
>  if (inlink->sample_aspect_ratio.num){
>  outlink->sample_aspect_ratio = av_mul_q((AVRational){outlink->h *
> inlink->w, outlink->w * inlink->h}, inlink->sample_aspect_ratio);
>  } else
> --
> 2.7.4

Ping.

___
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".