Re: [FFmpeg-devel] [PATCH] nvenc: Compensate for hardware trying to mess with aspect ratio of DVD content.

2015-01-21 Thread Reimar Döffinger
On 21.01.2015, at 07:17, Agatha Hu  wrote:
> On 2015/1/18 4:01, Philip Langdale wrote:
>> There is a long sad story behind all this, but it's somewhat ambiguous as to
>> whether DVD content should be treated as 720 pixels wide or 704 pixels, with
>> 16 pixels cut off. If you decide is should be 704 pixels wide, you need to
>> adjust the sample aspect ratio to keep the final display aspect ratio 
>> correct.
>> 
>> For reasons we are not privy too, nvidia decided that the nvenc encoder 
>> should
>> apply this aspect correction, whether you want it to or not. (I guess there
>> might be a flag for it, but if there is it's not documented). So, if you want
>> to transcode DVD content at the original size, you need to adjust the aspect
>> ratio information you pass to the encoder to compensate for their 
>> 'correction'.
>> 
>> This 'correction' is only applied to 720x480 and 720x576 content - and it 
>> does
>> so regardless of the input aspect ratio.
>> ---
>>  libavcodec/nvenc.c | 12 
>>  1 file changed, 12 insertions(+)
>> 
>> diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
>> index efa3f04..8a0d584 100644
>> --- a/libavcodec/nvenc.c
>> +++ b/libavcodec/nvenc.c
>> @@ -587,6 +587,18 @@ static av_cold int nvenc_encode_init(AVCodecContext 
>> *avctx)
>>  ctx->init_encode_params.darWidth = avctx->width;
>>  }
>> 
>> +// De-compensate for hardware, dubiously, trying to compensate for
>> +// playback at 704 pixel width.
>> +if (avctx->width == 720 &&
>> +(avctx->height == 480 || avctx->height == 576)) {
>> +av_reduce(&dw, &dh,
>> +  ctx->init_encode_params.darWidth * 44,
>> +  ctx->init_encode_params.darHeight * 45,
>> +  1024 * 1204);
>> +ctx->init_encode_params.darHeight = dh;
>> +ctx->init_encode_params.darWidth = dw;
>> +}
>> +
>>  ctx->init_encode_params.frameRateNum = avctx->time_base.den;
>>  ctx->init_encode_params.frameRateDen = avctx->time_base.num * 
>> avctx->ticks_per_frame;
>> 
>> 
> 
> Here's the reply from NVENC engineers
> It is not same thing as SAR. It is the display aspect ratio i.e width/height 
> = DAR/SAR
> 
> The calculation below should be like
> 
> If (avctx->sample_aspect_ratio.num > 0  && avctx->sample_aspect_ratio.den > 0 
> )
>av_reduce(&dw, &dh, avctx->sample_aspect_ratio.num * avctx->width, 
> avctx->sample_aspect_ratio.den * avctx->height, INT_MAX);

That doesn't answer anything.
Doing that, to keep the problem description short, creates different results 
from libx264 and any other encoder we have for DVD resolution which is highly 
undesirable for consistency and compatibility reasons if nothing else.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Post-processing filter Documentation

2015-01-21 Thread Stefano Sabatini
On date Tuesday 2015-01-20 22:34:15 +0530, Arwa Arif encoded:
> >
> > Still missing benchmarks and pp filter covering.
> >
> >

> What is meant by pp filter covering?

I mean that there are no images obtained by applying pp (and uspp as
well).
 
> Do you want benchmark for each image? And by benchmark you mean runtime,
> right?

No, I think you should use a complete video as benchmark. You can show
the values in a separate dedicated section. For example you could use
a low-quality matrix_bench.mpg.

For example:
ffmpeg -i matrixbench_mpeg2.mpg -b:v 200k matrixbench_mpeg2-lq.mpg 

ffmpeg -i matrixbench_mpeg2-lq.mpg -an -c:v rawvideo 
matrixbench_mpeg2-lq.rawvideo.nut
(the output is 2.8GiB here)

ffmpeg -benchmark -i matrixbench_mpeg2-lq.rawvideo.nut -vf PP -f null -

You should automate the lattest step, so that you run the command with
all the PP commands you want to test and automatically extract the
benchmark times.
-- 
FFmpeg = Funny and Freak Monstrous Problematic Extended Geisha
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Port mp=eq/eq2 to FFmpeg

2015-01-21 Thread Stefano Sabatini
On date Tuesday 2015-01-20 22:30:54 +0530, Arwa Arif encoded:
[...]
> > Add also an entry to add support to .process_command(). You can
> > implement it in a later patch.
> >
> >
> What is meant by adding support to process_command?

grep for .process_command in the libavfilter dir, and you will know. 
eq is meant to be used interactively, that's why having a
process_command callback is particuarly useful in this case.

[...]
> > > +static void set_saturation(EQ2Context *eq2)
> > > +{
> > > +int i;
> > > +/* saturation already set as AVOpt */
> > > +
> > > +for (i = 1; i < 3; i++) {
> > > +eq2->param[i].contrast = eq2->saturation;
> > > +eq2->param[i].lut_clean = 0;
> > > +check_values(&eq2->param[i]);
> > > +}
> >
> > Is this really working with gray8 or crashing (like mp=eq does)?
> >
> 
> Yes, I checked the formats, it is working with gray8.
> 
> > You should store in the context the number of planes.
> >
> > Also, please add a fate test.
> >
> 

> I am not able to run rsync, maybe because of proxy settings. I tried
> various ways of bypassing the proxy, but I am still unable to use it. Is
> there any other way of adding the fate test?

You don't need to have the complete fate repository to run the
test. Give me some time and try to come with a patch (it's been a
while I'm not hacking in tests, and things moved).
 
> Updated the patch.

> From b54fd33b1d4ad68487ce20480c7865ad95ac19d8 Mon Sep 17 00:00:00 2001
> From: Arwa Arif 
> Date: Mon, 19 Jan 2015 03:56:48 +0530

> Subject: [PATCH] Port mp=eq/eq2 to FFmpeg Code

> adapted from James Darnley's
>  previous commits

This can stay in a separate line.

> 
> ---
>  configure|2 +
>  doc/filters.texi |   65 ++
>  libavfilter/Makefile |2 +
>  libavfilter/allfilters.c |2 +
>  libavfilter/vf_eq.c  |  325 
> ++
>  libavfilter/vf_eq.h  |   63 +
>  libavfilter/x86/Makefile |1 +
>  libavfilter/x86/vf_eq.c  |   94 ++
>  8 files changed, 554 insertions(+)
>  create mode 100644 libavfilter/vf_eq.c
>  create mode 100644 libavfilter/vf_eq.h
>  create mode 100644 libavfilter/x86/vf_eq.c
> 
> diff --git a/configure b/configure
> index c73562b..a8042b2 100755
> --- a/configure
> +++ b/configure
> @@ -2579,6 +2579,8 @@ delogo_filter_deps="gpl"
>  deshake_filter_select="pixelutils"
>  drawtext_filter_deps="libfreetype"
>  ebur128_filter_deps="gpl"
> +eq_filter_deps="gpl"
> +eq2_filter_deps="gpl"
>  flite_filter_deps="libflite"
>  frei0r_filter_deps="frei0r dlopen"
>  frei0r_src_filter_deps="frei0r dlopen"
> diff --git a/doc/filters.texi b/doc/filters.texi
> index d7b2273..ded154a 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -4320,6 +4320,71 @@ edgedetect=mode=colormix:high=0
>  @end example
>  @end itemize
>  
> +@anchor{eq}
> +@section eq
> +Control brightness and contrast. It can be used for fixing poorly captured 
> movies,
> +or for slightly reducing contrast to mask artifacts and get by with lower 
> bitrates.
> +
> +The filter accepts the following options:
> +
> +@table @option
> +
> +@item brightness
> +Set the brightness value. It accepts a float value in range @code{-1.0} to
> +@code{1.0}. The default value is @code{0.0}.
> +
> +@item contrast
> +Set the contrast value. It accepts a float value in range @code{-1.0} to
> +@code{1.0}. The default value is @code{0.0}.
> +@end table
> +
> +@section eq2
> +Equalizer that uses lookup tables (very slow), allowing gamma correction
> +in addition to simple brightness and contrast adjustment.
> +
> +Note that it uses the same optimized code as @ref{eq} if all gamma values
> +are 1.0. The parameters are given as floating point values.
> +
> +The filter accepts the following options:
> +
> +@table @option
> +@item brightness
> +Set the brightness value. It accepts a float value in range @code{-1.0} to
> +@code{1.0}. The default value is @code{0.0}.
> +
> +@item contrast
> +Set the contrast value. It accepts a float value in range @code{-2.0} to
> +@code{2.0}. The default value is @code{0.0}.
> +
> +@item gamma
> +Set the gamma value. It accepts a float value in range @code{0.1} to 
> @code{10.0}.
> +The default value is @code{1.0}.
> +
> +@item gamma_y
> +Set the gamma value for the luma plane. It accepts a float value in range
> +@code{0.1} to @code{10.0}. The default value is @code{1.0}.
> +
> +@item gamma_u
> +Set the gamma value for 1st chroma plane. It accepts a float value in range
> +@code{0.1} to @code{10.0}. The default value is @code{1.0}.
> +
> +@item gamma_v
> +Set the gamma value for 2nd chroma plane. It accepts a float value in range
> +@code{0.1} to @code{10.0}. The default value is @code{1.0}.
> +
> +@item saturation
> +Set the saturation value. It accepts a float value in range @code{0.0} to
> +@code{3.0}. The default value is @code{1.0}.
> +
> +@item weight
> +Can be used to reduce the effect of a high gamma value on bright image 

Re: [FFmpeg-devel] OpenCL device selection documentation

2015-01-21 Thread Stefano Sabatini
On date Monday 2015-01-19 12:00:06 +, Gupta, Maneesh encoded:
> Hi,
> 
> I was searching the FFMPEG documentation on enabling OpenCL & 
> selecting/specifying an OpenCL device. Here is what I could find:
> 
> 1) Enabling OpenCL while building OpenCL: 
> https://trac.ffmpeg.org/wiki/HWAccelIntro
> 2) Specifying an OpenCL device to be used: 
> /share/doc/ffmpeg/ffmpeg-utils.html#OpenCL-Options
> 

> I did not find much information on the auto-selection of an OpenCL
> device using the -opencl_bench. What is the best way to update this
> documentation to include information regarding the auto-selection
> logic from a user perspective?

> I would use assume it would be a patch that modifies the files used
> to generate ffmpeg.html and ffmpeg-utils.html (i.e. doc/ffmpeg.texi
> and doc/ffmpeg-utils.texi).

You have to edit doc/utils.texi. The file is automatically included in
all the other relevant texi files.
 
> Please let me know your thoughts on this before I proceed with
> working on a patch for this documentation.
-- 
FFmpeg = Fundamental and Faithful Multimedia Political Extroverse Gymnast
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] ffprobe: fix memleaks on errors

2015-01-21 Thread Stefano Sabatini
On date Wednesday 2015-01-21 05:47:13 +0100, Michael Niedermayer encoded:
> Found-by: Andreas Cadhalpun 
> Signed-off-by: Michael Niedermayer 
> ---
>  ffprobe.c |   19 ---
>  1 file changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/ffprobe.c b/ffprobe.c
> index faddc16..38879f1 100644
> --- a/ffprobe.c
> +++ b/ffprobe.c
> @@ -2398,6 +2398,7 @@ static int open_input_file(AVFormatContext 
> **fmt_ctx_ptr, const char *filename)
>  print_error(filename, err);
>  return err;
>  }
> +*fmt_ctx_ptr = fmt_ctx;
>  if (scan_all_pmts_set)
>  av_dict_set(&format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE);
>  if ((t = av_dict_get(format_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
> @@ -2409,14 +2410,17 @@ static int open_input_file(AVFormatContext 
> **fmt_ctx_ptr, const char *filename)
>  opts = setup_find_stream_info_opts(fmt_ctx, codec_opts);
>  orig_nb_streams = fmt_ctx->nb_streams;
>  
> -if ((err = avformat_find_stream_info(fmt_ctx, opts)) < 0) {
> -print_error(filename, err);
> -return err;
> -}
> +err = avformat_find_stream_info(fmt_ctx, opts);
> +
>  for (i = 0; i < orig_nb_streams; i++)
>  av_dict_free(&opts[i]);
>  av_freep(&opts);
>  
> +if (err < 0) {
> +print_error(filename, err);
> +return err;
> +}
> +
>  av_dump_format(fmt_ctx, 0, filename, 0);
>  
>  /* bind a decoder to each input stream */
> @@ -2466,7 +2470,7 @@ static void close_input_file(AVFormatContext **ctx_ptr)
>  
>  static int probe_file(WriterContext *wctx, const char *filename)
>  {
> -AVFormatContext *fmt_ctx;
> +AVFormatContext *fmt_ctx = NULL;
>  int ret, i;
>  int section_id;
>  
> @@ -2475,7 +2479,7 @@ static int probe_file(WriterContext *wctx, const char 
> *filename)
>  
>  ret = open_input_file(&fmt_ctx, filename);
>  if (ret < 0)
> -return ret;
> +goto end;
>  
>  #define CHECK_END if (ret < 0) goto end
>  
> @@ -2533,7 +2537,8 @@ static int probe_file(WriterContext *wctx, const char 
> *filename)
>  }
>  
>  end:
> -close_input_file(&fmt_ctx);
> +if (fmt_ctx)
> +close_input_file(&fmt_ctx);
>  av_freep(&nb_streams_frames);
>  av_freep(&nb_streams_packets);
>  av_freep(&selected_streams);
> -- 
> 1.7.9.5

LGTM, thanks.
-- 
FFmpeg = Fast & Fierce Mere Political Efficient Gospel
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] doc/APIchanges: Add av_find_best_pix_fmt_of_2() and av_get_pix_fmt_loss()

2015-01-21 Thread Michael Niedermayer
Found-by: wm4
Signed-off-by: Michael Niedermayer 
---
 doc/APIchanges |3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/APIchanges b/doc/APIchanges
index 7d25679..ca923de 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -312,6 +312,9 @@ API changes, most recent first:
 2014-04-29 - xxx - lavu 52.80.0 - hash.h
   Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().
 
+2014-04-26 - 617e866 - lavu 52.81.100 - pixdesc.h
+  Add av_find_best_pix_fmt_of_2(), av_get_pix_fmt_loss()
+
 2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
   Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs.
 
-- 
1.7.9.5

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] doc/APIchanges: Add av_find_best_pix_fmt_of_2() and av_get_pix_fmt_loss()

2015-01-21 Thread wm4
On Wed, 21 Jan 2015 12:29:04 +0100
Michael Niedermayer  wrote:

> Found-by: wm4
> Signed-off-by: Michael Niedermayer 
> ---
>  doc/APIchanges |3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/doc/APIchanges b/doc/APIchanges
> index 7d25679..ca923de 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -312,6 +312,9 @@ API changes, most recent first:
>  2014-04-29 - xxx - lavu 52.80.0 - hash.h
>Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().
>  
> +2014-04-26 - 617e866 - lavu 52.81.100 - pixdesc.h
> +  Add av_find_best_pix_fmt_of_2(), av_get_pix_fmt_loss()
> +
>  2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
>Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs.
>  

The lavu version number is higher than that of the following entry.
Since lavu wasn't bumped when this function was added, I guess you
chose the next version (which is ok).

av_get_pix_fmt_loss() was introduced by the same commit.

The following functions were deprecated in the same commit:
avcodec_get_pix_fmt_loss()
avcodec_find_best_pix_fmt_of_2()
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Post-processing filter Documentation

2015-01-21 Thread Michael Niedermayer
On Wed, Jan 21, 2015 at 09:42:03AM +0100, Stefano Sabatini wrote:
> On date Tuesday 2015-01-20 22:34:15 +0530, Arwa Arif encoded:
> > >
> > > Still missing benchmarks and pp filter covering.
> > >
> > >
> 
> > What is meant by pp filter covering?
> 
> I mean that there are no images obtained by applying pp (and uspp as
> well).
>  
> > Do you want benchmark for each image? And by benchmark you mean runtime,
> > right?
> 
> No, I think you should use a complete video as benchmark. You can show
> the values in a separate dedicated section. For example you could use
> a low-quality matrix_bench.mpg.
> 
> For example:
> ffmpeg -i matrixbench_mpeg2.mpg -b:v 200k matrixbench_mpeg2-lq.mpg 
> 

> ffmpeg -i matrixbench_mpeg2-lq.mpg -an -c:v rawvideo 
> matrixbench_mpeg2-lq.rawvideo.nut
> (the output is 2.8GiB here)
> 
> ffmpeg -benchmark -i matrixbench_mpeg2-lq.rawvideo.nut -vf PP -f null -

this could end up being limited by disk speed and not *pp

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

The real ebay dictionary, page 3
"Rare item" - "Common item with rare defect or maybe just a lie"
"Professional" - "'Toy' made in china, not functional except as doorstop"
"Experts will know" - "The seller hopes you are not an expert"


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] ffprobe: fix memleaks on errors

2015-01-21 Thread Michael Niedermayer
On Wed, Jan 21, 2015 at 10:41:11AM +0100, Stefano Sabatini wrote:
> On date Wednesday 2015-01-21 05:47:13 +0100, Michael Niedermayer encoded:
> > Found-by: Andreas Cadhalpun 
> > Signed-off-by: Michael Niedermayer 
> > ---
> >  ffprobe.c |   19 ---
> >  1 file changed, 12 insertions(+), 7 deletions(-)
> > 
> > diff --git a/ffprobe.c b/ffprobe.c
> > index faddc16..38879f1 100644
> > --- a/ffprobe.c
> > +++ b/ffprobe.c
> > @@ -2398,6 +2398,7 @@ static int open_input_file(AVFormatContext 
> > **fmt_ctx_ptr, const char *filename)
> >  print_error(filename, err);
> >  return err;
> >  }
> > +*fmt_ctx_ptr = fmt_ctx;
> >  if (scan_all_pmts_set)
> >  av_dict_set(&format_opts, "scan_all_pmts", NULL, 
> > AV_DICT_MATCH_CASE);
> >  if ((t = av_dict_get(format_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
> > @@ -2409,14 +2410,17 @@ static int open_input_file(AVFormatContext 
> > **fmt_ctx_ptr, const char *filename)
> >  opts = setup_find_stream_info_opts(fmt_ctx, codec_opts);
> >  orig_nb_streams = fmt_ctx->nb_streams;
> >  
> > -if ((err = avformat_find_stream_info(fmt_ctx, opts)) < 0) {
> > -print_error(filename, err);
> > -return err;
> > -}
> > +err = avformat_find_stream_info(fmt_ctx, opts);
> > +
> >  for (i = 0; i < orig_nb_streams; i++)
> >  av_dict_free(&opts[i]);
> >  av_freep(&opts);
> >  
> > +if (err < 0) {
> > +print_error(filename, err);
> > +return err;
> > +}
> > +
> >  av_dump_format(fmt_ctx, 0, filename, 0);
> >  
> >  /* bind a decoder to each input stream */
> > @@ -2466,7 +2470,7 @@ static void close_input_file(AVFormatContext 
> > **ctx_ptr)
> >  
> >  static int probe_file(WriterContext *wctx, const char *filename)
> >  {
> > -AVFormatContext *fmt_ctx;
> > +AVFormatContext *fmt_ctx = NULL;
> >  int ret, i;
> >  int section_id;
> >  
> > @@ -2475,7 +2479,7 @@ static int probe_file(WriterContext *wctx, const char 
> > *filename)
> >  
> >  ret = open_input_file(&fmt_ctx, filename);
> >  if (ret < 0)
> > -return ret;
> > +goto end;
> >  
> >  #define CHECK_END if (ret < 0) goto end
> >  
> > @@ -2533,7 +2537,8 @@ static int probe_file(WriterContext *wctx, const char 
> > *filename)
> >  }
> >  
> >  end:
> > -close_input_file(&fmt_ctx);
> > +if (fmt_ctx)
> > +close_input_file(&fmt_ctx);
> >  av_freep(&nb_streams_frames);
> >  av_freep(&nb_streams_packets);
> >  av_freep(&selected_streams);
> > -- 
> > 1.7.9.5
> 
> LGTM, thanks.

applied

thanks

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

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/nvenc: add repeatSPSPPS flag for streaming

2015-01-21 Thread Michael Niedermayer
On Wed, Jan 21, 2015 at 08:32:07AM +0100, Timo Rothenpieler wrote:
> >Still using attachment to prevent word-wrapping.
> >For video streaming, repeatSPSPPS flag should be set as 1 besides
> >disableSPSPPS=0, elsewise if running ffmpeg before vlc/ffmpeg, there
> >will be no video header, decoder can't work properly.
> >
> >Agatha Hu
> >
> 
> Looks good to merge.

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] doc/APIchanges: Add av_find_best_pix_fmt_of_2() and av_get_pix_fmt_loss()

2015-01-21 Thread Michael Niedermayer
On Wed, Jan 21, 2015 at 12:59:03PM +0100, wm4 wrote:
> On Wed, 21 Jan 2015 12:29:04 +0100
> Michael Niedermayer  wrote:
> 
> > Found-by: wm4
> > Signed-off-by: Michael Niedermayer 
> > ---
> >  doc/APIchanges |3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/doc/APIchanges b/doc/APIchanges
> > index 7d25679..ca923de 100644
> > --- a/doc/APIchanges
> > +++ b/doc/APIchanges
> > @@ -312,6 +312,9 @@ API changes, most recent first:
> >  2014-04-29 - xxx - lavu 52.80.0 - hash.h
> >Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().
> >  
> > +2014-04-26 - 617e866 - lavu 52.81.100 - pixdesc.h
> > +  Add av_find_best_pix_fmt_of_2(), av_get_pix_fmt_loss()
> > +
> >  2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
> >Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs.
> >  
> 
> The lavu version number is higher than that of the following entry.
> Since lavu wasn't bumped when this function was added, I guess you
> chose the next version (which is ok).
> 
> av_get_pix_fmt_loss() was introduced by the same commit.
> 

> The following functions were deprecated in the same commit:
> avcodec_get_pix_fmt_loss()
> avcodec_find_best_pix_fmt_of_2()

added

also fixed the date, it was the 30th on which it was comited

pushed

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/h264: Partially decode and display single fields try #2

2015-01-21 Thread Kieran Kunhya
> yes, its overall 3 lines shorter as well
> ive locally changed it to this:

Thanks, much easier to understand.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Port mp=eq/eq2 to FFmpeg

2015-01-21 Thread arwa arif
>
> I still expect that eq and eq2 should have the same performances,
> since the adjust callback is set depending on the parameter values. So
> we should have a single eq filter.
>
> Please investigate about why you get different benchmark values.
>

I used this command: ffmpeg -benchmark -i  matrixbench_mpeg2.mpg -vf mp=eq2
-f null -
And everytime I am running this command, I am getting a different result
even for the same input and same filter.

So, I tried using the time.h library for getting the time, the results for
eq and eq2 are 37.71 and 35.56 seconds respectively.

I don't know why eq is coming out to be slower than eq2. (In fact, eq2 is
accessing more functions than eq).


> --
> FFmpeg = Fancy Fancy Multipurpose Pacific Elitist Game
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] libx265: Pass through user-set frame type

2015-01-21 Thread Derek Buitenhuis
Signed-off-by: Derek Buitenhuis 
---
 libavcodec/libx265.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 923c750..5e4931a 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -226,6 +226,11 @@ static int libx265_encode_frame(AVCodecContext *avctx, 
AVPacket *pkt,
 x265pic.bitDepth = 
av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
 }
 
+x265pic.sliceType = pic->pict_type == AV_PICTURE_TYPE_I ? X265_TYPE_I :
+pic->pict_type == AV_PICTURE_TYPE_P ? X265_TYPE_P :
+pic->pict_type == AV_PICTURE_TYPE_B ? X265_TYPE_B :
+X265_TYPE_AUTO;
+
 ret = x265_encoder_encode(ctx->encoder, &nal, &nnal,
   pic ? &x265pic : NULL, &x265pic_out);
 if (ret < 0)
-- 
1.8.3.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/dashenc: fix format string generation

2015-01-21 Thread Rodger Combs
---
 libavformat/dashenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index fa497fd..6e5a41b 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -276,7 +276,7 @@ static DASHTmplId dash_read_tmpl_id(const char *identifier, 
char *format_tag,
 // next parse the dash format-tag and generate a c-string format tag
 // (next_ptr now points at the first '%' at the beginning of the 
format-tag)
 if (id_type != DASH_TMPL_ID_UNDEFINED) {
-const char *number_format = DASH_TMPL_ID_TIME ? "lld" : "d";
+const char *number_format = (id_type == DASH_TMPL_ID_TIME) ? "lld" 
: "d";
 if (next_ptr[0] == '$') { // no dash format-tag
 snprintf(format_tag, format_tag_size, "%%%s", number_format);
 *ptr = &next_ptr[1];
-- 
2.2.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/dashenc: fix format string generation

2015-01-21 Thread Derek Buitenhuis
On 1/21/2015 3:36 PM, Rodger Combs wrote:
> -const char *number_format = DASH_TMPL_ID_TIME ? "lld" : "d";
> +const char *number_format = (id_type == DASH_TMPL_ID_TIME) ? 
> "lld" : "d";

Why not inttypes.h format?

- Derek
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/mov: Stricter sanity checks on the display_matrix

2015-01-21 Thread Michael Niedermayer
Fixes "broken" tkhd
Found-by: koda
Signed-off-by: Michael Niedermayer 
---
 libavformat/mov.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 556411f..6851947 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2874,7 +2874,8 @@ static int mov_read_tkhd(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 for (i = 0; i < 2; i++)
 disp_transform[i] = sqrt(SQR(display_matrix[i][0]) + 
SQR(display_matrix[i][1]));
 
-if (disp_transform[0] > 0 && disp_transform[1] > 0 &&
+if (disp_transform[0] > 0   && disp_transform[1] > 0 &&
+disp_transform[0] < (1<<24) && disp_transform[1] < (1<<24) &&
 fabs((disp_transform[0] / disp_transform[1]) - 1.0) > 0.01)
 st->sample_aspect_ratio = av_d2q(
 disp_transform[0] / disp_transform[1],
-- 
1.7.9.5

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avfilter/vf_lenscorrection: support 8bit planar RGB formats

2015-01-21 Thread Michael Niedermayer
On Tue, Jan 20, 2015 at 05:17:16PM +, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol 
> ---
>  libavfilter/vf_lenscorrection.c | 1 +
>  1 file changed, 1 insertion(+)

LGTM

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

No great genius has ever existed without some touch of madness. -- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libx265: Pass through user-set frame type

2015-01-21 Thread Michael Niedermayer
On Wed, Jan 21, 2015 at 03:18:48PM +, Derek Buitenhuis wrote:
> Signed-off-by: Derek Buitenhuis 
> ---
>  libavcodec/libx265.c | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
> index 923c750..5e4931a 100644
> --- a/libavcodec/libx265.c
> +++ b/libavcodec/libx265.c
> @@ -226,6 +226,11 @@ static int libx265_encode_frame(AVCodecContext *avctx, 
> AVPacket *pkt,
>  x265pic.bitDepth = 
> av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
>  }
>  
> +x265pic.sliceType = pic->pict_type == AV_PICTURE_TYPE_I ? X265_TYPE_I :
> +pic->pict_type == AV_PICTURE_TYPE_P ? X265_TYPE_P :
> +pic->pict_type == AV_PICTURE_TYPE_B ? X265_TYPE_B :
> +X265_TYPE_AUTO;
> +

this is missing pic==NULL checks or should be under the if() above
or something like that

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

The real ebay dictionary, page 1
"Used only once"- "Some unspecified defect prevented a second use"
"In good condition" - "Can be repaird by experienced expert"
"As is" - "You wouldnt want it even if you were payed for it, if you knew ..."


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libx265: Pass through user-set frame type

2015-01-21 Thread Derek Buitenhuis
On 1/21/2015 4:28 PM, Michael Niedermayer wrote:
> this is missing pic==NULL checks or should be under the if() above
> or something like that

No? It has X265_TYPE_AUTO as the fallback if it is NULL. Just like libx264.c:

https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/libx264.c;h=4da0ee0d84ce42c0f6a9b0234c168826fee50ce3;hb=HEAD#l182

- Derek
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libx265: Pass through user-set frame type

2015-01-21 Thread Timo Rothenpieler
> No? It has X265_TYPE_AUTO as the fallback if it is NULL. Just like libx264.c:

Is falls back to that if pic->pict_type is NULL, but if pic is NULL, it
will just crash.




signature.asc
Description: OpenPGP digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Parallelization

2015-01-21 Thread Derek Buitenhuis
On 12/31/2014 3:53 AM, Derek Buitenhuis wrote:
> On 12/31/2014 10:00 PM, David Ison wrote:
>> 3.  I am planning initial implementations using OpenMP.  There is good 
>> support on Gnu, LLVM and other compilers 
>> .
> 
> I think it is probably unlikely that OMP will be accepted for a bunch of
> reasons (compiler support, too high level, etc.)
> 
> As it stands, the current parallelization is written using pthreads, and
> you're likely better off looking into that.

Woops I misread. Will send a v2.

- Derek

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libx265: Pass through user-set frame type

2015-01-21 Thread Derek Buitenhuis
On 1/21/2015 4:46 PM, Timo Rothenpieler wrote:
>> No? It has X265_TYPE_AUTO as the fallback if it is NULL. Just like libx264.c:
> 
> Is falls back to that if pic->pict_type is NULL, but if pic is NULL, it
> will just crash.

I meant to send a reply saying I misread,
but responded to the wrong mail in my haste.
I blame writing email over RDP on my phome,
on a bus.

- Derek

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Parallelization

2015-01-21 Thread Derek Buitenhuis
On 1/21/2015 4:46 PM, Derek Buitenhuis wrote:
> On 12/31/2014 3:53 AM, Derek Buitenhuis wrote:
>> On 12/31/2014 10:00 PM, David Ison wrote:
>>> 3.  I am planning initial implementations using OpenMP.  There is good 
>>> support on Gnu, LLVM and other compilers 
>>> .
>>
>> I think it is probably unlikely that OMP will be accepted for a bunch of
>> reasons (compiler support, too high level, etc.)
>>
>> As it stands, the current parallelization is written using pthreads, and
>> you're likely better off looking into that.
> 
> Woops I misread. Will send a v2.

Ignore this reply.

-Derek

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avfilter/vf_lenscorrection: support 8bit planar RGB formats

2015-01-21 Thread Paul B Mahol
On 1/21/15, Michael Niedermayer  wrote:
> On Tue, Jan 20, 2015 at 05:17:16PM +, Paul B Mahol wrote:
>> Signed-off-by: Paul B Mahol 
>> ---
>>  libavfilter/vf_lenscorrection.c | 1 +
>>  1 file changed, 1 insertion(+)
>
> LGTM

applied

> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> No great genius has ever existed without some touch of madness. --
> Aristotle
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Port mp=eq/eq2 to FFmpeg

2015-01-21 Thread Paul B Mahol
On 1/21/15, arwa arif  wrote:
>>
>> I still expect that eq and eq2 should have the same performances,
>> since the adjust callback is set depending on the parameter values. So
>> we should have a single eq filter.
>>
>> Please investigate about why you get different benchmark values.
>>
>
> I used this command: ffmpeg -benchmark -i  matrixbench_mpeg2.mpg -vf mp=eq2
> -f null -
> And everytime I am running this command, I am getting a different result
> even for the same input and same filter.
>
> So, I tried using the time.h library for getting the time, the results for
> eq and eq2 are 37.71 and 35.56 seconds respectively.
>
> I don't know why eq is coming out to be slower than eq2. (In fact, eq2 is
> accessing more functions than eq).

Just remove eq code and rename eq2 to eq.

>
>
>> --
>> FFmpeg = Fancy Fancy Multipurpose Pacific Elitist Game
>> ___
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] libavformat/img2dec: fix warning when !HAVE_GLOB

2015-01-21 Thread Christophe Gisquet
Hi,

the attached patch fixes a warning under MinGW (no idea about msys2).

-- 
Christophe
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] ffmpeg_opt: expand format for strftime

2015-01-21 Thread Christophe Gisquet
Hi,

another warning under MinGW fixed, because the format specifiers are
not supported, cf. for instance:
https://msdn.microsoft.com/en-us/library/fe06s4ak.aspx

-- 
Christophe
From 6d3e4eb5df0eacf3df011dbe3e05a82f814f63b1 Mon Sep 17 00:00:00 2001
From: Christophe Gisquet 
Date: Tue, 20 Jan 2015 22:33:00 +0100
Subject: [PATCH 2/2] ffmpeg_opt: expand format for strftime

While the shortened format specifiers are valid C99 ones, they are
not supported by e.g. some Visual Studio runtimes (and thus mingw).
---
 ffmpeg_opt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index a0c977b..9fe54ff 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -519,7 +519,7 @@ static int opt_recording_timestamp(void *optctx, const char *opt, const char *ar
 char buf[128];
 int64_t recording_timestamp = parse_time_or_die(opt, arg, 0) / 1E6;
 struct tm time = *gmtime((time_t*)&recording_timestamp);
-if (!strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time))
+if (!strftime(buf, sizeof(buf), "creation_time=%Y-%m-%dT%H:%M:%S%z", &time))
 return -1;
 parse_option(o, "metadata", buf, options);
 
-- 
1.9.2.msysgit.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libavformat/img2dec: fix warning when !HAVE_GLOB

2015-01-21 Thread Christophe Gisquet
2015-01-21 20:06 GMT+01:00 Christophe Gisquet :
> Hi,
>
> the attached patch fixes a warning under MinGW (no idea about msys2).

With aforementioned patch.

-- 
Christophe
From 54b6d1b588d4a15f51345f8ca1fc5b8ab0660b7e Mon Sep 17 00:00:00 2001
From: Christophe Gisquet 
Date: Tue, 20 Jan 2015 22:03:18 +0100
Subject: [PATCH 1/2] libavformat/img2dec: fix warning when !HAVE_GLOB

Variables are unused in this case.
---
 libavformat/img2dec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index 329e61d..68cbefd 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -227,8 +227,10 @@ int ff_img_read_header(AVFormatContext *s1)
 if (s->pattern_type == PT_GLOB_SEQUENCE) {
 s->use_glob = is_glob(s->path);
 if (s->use_glob) {
+#if HAVE_GLOB
 char *p = s->path, *q, *dup;
 int gerr;
+#endif
 
 av_log(s1, AV_LOG_WARNING, "Pattern type 'glob_sequence' is deprecated: "
"use pattern_type 'glob' instead\n");
@@ -494,8 +496,8 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)
 
 static int img_read_close(struct AVFormatContext* s1)
 {
-VideoDemuxData *s = s1->priv_data;
 #if HAVE_GLOB
+VideoDemuxData *s = s1->priv_data;
 if (s->use_glob) {
 globfree(&s->globstate);
 }
-- 
1.9.2.msysgit.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libx265: Pass through user-set frame type

2015-01-21 Thread Reimar Döffinger
On Wed, Jan 21, 2015 at 04:52:33PM +, Derek Buitenhuis wrote:
> On 1/21/2015 4:46 PM, Timo Rothenpieler wrote:
> >> No? It has X265_TYPE_AUTO as the fallback if it is NULL. Just like 
> >> libx264.c:
> > 
> > Is falls back to that if pic->pict_type is NULL, but if pic is NULL, it
> > will just crash.
> 
> I meant to send a reply saying I misread,
> but responded to the wrong mail in my haste.
> I blame writing email over RDP on my phome,
> on a bus.

Maybe you should try standing on your head and drinking a coke at the
same time, you know, just to not make it too easy or convenient :P
Sorry, it was just impossible to resist...
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Port mp=eq/eq2 to FFmpeg

2015-01-21 Thread arwa arif
On Thu, Jan 22, 2015 at 12:09 AM, Paul B Mahol  wrote:

> On 1/21/15, arwa arif  wrote:
> >>
> >> I still expect that eq and eq2 should have the same performances,
> >> since the adjust callback is set depending on the parameter values. So
> >> we should have a single eq filter.
> >>
> >> Please investigate about why you get different benchmark values.
> >>
> >
> > I used this command: ffmpeg -benchmark -i  matrixbench_mpeg2.mpg -vf
> mp=eq2
> > -f null -
> > And everytime I am running this command, I am getting a different result
> > even for the same input and same filter.
> >
> > So, I tried using the time.h library for getting the time, the results
> for
> > eq and eq2 are 37.71 and 35.56 seconds respectively.
> >
> > I don't know why eq is coming out to be slower than eq2. (In fact, eq2 is
> > accessing more functions than eq).
>
> Just remove eq code and rename eq2 to eq.
>
>
Updated the patch.


> >
> >
> >> --
> >> FFmpeg = Fancy Fancy Multipurpose Pacific Elitist Game
> >> ___
> >> ffmpeg-devel mailing list
> >> ffmpeg-devel@ffmpeg.org
> >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >>
> > ___
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
From 703cc1887903c2868537e19e99b76927bec07884 Mon Sep 17 00:00:00 2001
From: Arwa Arif 
Date: Mon, 19 Jan 2015 03:56:48 +0530
Subject: [PATCH] Port mp=eq/eq2 to FFmpeg

Code adapted from James Darnley's previous commits
---
 configure|1 +
 doc/filters.texi |   44 
 libavfilter/Makefile |1 +
 libavfilter/allfilters.c |1 +
 libavfilter/vf_eq.c  |  282 ++
 libavfilter/vf_eq.h  |   63 +++
 libavfilter/x86/Makefile |1 +
 libavfilter/x86/vf_eq.c  |   94 
 8 files changed, 487 insertions(+)
 create mode 100644 libavfilter/vf_eq.c
 create mode 100644 libavfilter/vf_eq.h
 create mode 100644 libavfilter/x86/vf_eq.c

diff --git a/configure b/configure
index c73562b..138852e 100755
--- a/configure
+++ b/configure
@@ -2579,6 +2579,7 @@ delogo_filter_deps="gpl"
 deshake_filter_select="pixelutils"
 drawtext_filter_deps="libfreetype"
 ebur128_filter_deps="gpl"
+eq_filter_deps="gpl"
 flite_filter_deps="libflite"
 frei0r_filter_deps="frei0r dlopen"
 frei0r_src_filter_deps="frei0r dlopen"
diff --git a/doc/filters.texi b/doc/filters.texi
index d7b2273..70e0557 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -4320,6 +4320,50 @@ edgedetect=mode=colormix:high=0
 @end example
 @end itemize
 
+@section eq
+Equalizer that uses lookup tables (very slow), allowing gamma correction
+in addition to simple brightness and contrast adjustment.
+
+The filter accepts the following options:
+
+@table @option
+@item brightness
+Set the brightness value. It accepts a float value in range @code{-1.0} to
+@code{1.0}. The default value is @code{0.0}.
+
+@item contrast
+Set the contrast value. It accepts a float value in range @code{-2.0} to
+@code{2.0}. The default value is @code{0.0}.
+
+@item gamma
+Set the gamma value. It accepts a float value in range @code{0.1} to @code{10.0}.
+The default value is @code{1.0}.
+
+@item gamma_y
+Set the gamma value for the luma plane. It accepts a float value in range
+@code{0.1} to @code{10.0}. The default value is @code{1.0}.
+
+@item gamma_u
+Set the gamma value for 1st chroma plane. It accepts a float value in range
+@code{0.1} to @code{10.0}. The default value is @code{1.0}.
+
+@item gamma_v
+Set the gamma value for 2nd chroma plane. It accepts a float value in range
+@code{0.1} to @code{10.0}. The default value is @code{1.0}.
+
+@item saturation
+Set the saturation value. It accepts a float value in range @code{0.0} to
+@code{3.0}. The default value is @code{1.0}.
+
+@item weight
+Can be used to reduce the effect of a high gamma value on bright image areas,
+e.g. keep them from getting overamplified and just plain white. It accepts a
+float value in range @code{0.0} to @code{1.0}.A value of @code{0.0} turns the
+gamma correction all the way down while @code{1.0} leaves it at its full strength.
+Default is @code{1.0}.
+
+@end table
+
 @section extractplanes
 
 Extract color channel components from input video stream into
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index e43d76d..8e94033 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -116,6 +116,7 @@ OBJS-$(CONFIG_DRAWGRID_FILTER)   += vf_drawbox.o
 OBJS-$(CONFIG_DRAWTEXT_FILTER)   += vf_drawtext.o
 OBJS-$(CONFIG_ELBG_FILTER)   += vf_elbg.o
 OBJS-$(CONFIG_EDGEDETECT_FILTER) += vf_edgedetect.o
+OBJS-$(CONFIG_EQ_FILTER) += vf_eq.o
 OBJS-$(CONFIG_EXTRACTPLANES_FILTER) 

Re: [FFmpeg-devel] [PATCH] avfilter/vf_showinfo: show timebase & framerate too

2015-01-21 Thread Michael Niedermayer
On Sat, Jan 17, 2015 at 03:17:13PM +0100, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer 
> ---
>  libavfilter/vf_showinfo.c |   28 +++-
>  1 file changed, 27 insertions(+), 1 deletion(-)

applied

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

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libavformat/img2dec: fix warning when !HAVE_GLOB

2015-01-21 Thread Michael Niedermayer
On Wed, Jan 21, 2015 at 08:11:19PM +0100, Christophe Gisquet wrote:
> 2015-01-21 20:06 GMT+01:00 Christophe Gisquet :
> > Hi,
> >
> > the attached patch fixes a warning under MinGW (no idea about msys2).
> 
> With aforementioned patch.
> 
> -- 
> Christophe

>  img2dec.c |4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 48b6bb55f1a547bb914544f90ac99489df757346  
> 0001-libavformat-img2dec-fix-warning-when-HAVE_GLOB.patch
> From 54b6d1b588d4a15f51345f8ca1fc5b8ab0660b7e Mon Sep 17 00:00:00 2001
> From: Christophe Gisquet 
> Date: Tue, 20 Jan 2015 22:03:18 +0100
> Subject: [PATCH 1/2] libavformat/img2dec: fix warning when !HAVE_GLOB
> 
> Variables are unused in this case.

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

He who knows, does not speak. He who speaks, does not know. -- Lao Tsu


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] configure: add --build-date and --build-time options

2015-01-21 Thread Andreas Cadhalpun

Hi,

Debian tries to make binary packages build reproducible [1].

FFmpeg embeds date and time in the program and documentation, which 
makes it hard to have binary reproducible packages.


The attached patch allows to specify the build date and time to use with 
a configure option, solving this problem.


Best regards,
Andreas

1: https://wiki.debian.org/ReproducibleBuilds/About
>From 285003006eb2b9cd1a6e2dcd6351c7f8b3090366 Mon Sep 17 00:00:00 2001
From: Andreas Cadhalpun 
Date: Wed, 21 Jan 2015 22:31:04 +0100
Subject: [PATCH] configure: add --build-date and --build-time options

These allow to make the build binary reproducible by specifying the
date/time that should be used instead of the current date/time.

Signed-off-by: Andreas Cadhalpun 
---
 cmdutils.c   |  2 +-
 configure| 14 ++
 doc/Makefile |  9 +
 ffprobe.c|  4 ++--
 4 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/cmdutils.c b/cmdutils.c
index 53268d8..2b467ea 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1082,7 +1082,7 @@ static void print_program_info(int flags, int level)
program_birth_year, CONFIG_THIS_YEAR);
 av_log(NULL, level, "\n");
 av_log(NULL, level, "%sbuilt on %s %s with %s\n",
-   indent, __DATE__, __TIME__, CC_IDENT);
+   indent, BUILD_DATE, BUILD_TIME, CC_IDENT);
 
 av_log(NULL, level, "%sconfiguration: " FFMPEG_CONFIGURATION "\n", indent);
 }
diff --git a/configure b/configure
index a0dbafb..4f44cea 100755
--- a/configure
+++ b/configure
@@ -108,6 +108,8 @@ Configuration options:
   --disable-alldisable building components, libraries and programs
   --enable-incompatible-libav-abi enable incompatible Libav fork ABI [no]
   --enable-raise-major increase major version numbers in sonames [no]
+  --build-date=DATEDATE is used instead of the build date
+  --build-time=TIMETIME is used instead of the build time
 
 Program options:
   --disable-programs   do not build command line programs
@@ -1950,6 +1952,8 @@ CMDLINE_SET="
 optflags
 pkg_config
 pkg_config_flags
+build_date
+build_time
 progs_suffix
 random_seed
 ranlib
@@ -5712,6 +5716,16 @@ cat > $TMPH <> $TMPH
+echo "#define BUILD_TIME \"${build_time}\"" >> $TMPH
+echo "BUILD_DATE=$build_date" >> config.mak
+echo "BUILD_TIME=$build_time" >> config.mak
+else
+echo "#define BUILD_DATE __DATE__" >> $TMPH
+echo "#define BUILD_TIME __TIME__" >> $TMPH
+fi
+
 test -n "$assert_level" &&
 echo "#define ASSERT_LEVEL $assert_level" >>$TMPH
 
diff --git a/doc/Makefile b/doc/Makefile
index 2502922..cef09be 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -88,10 +88,16 @@ ifdef HAVE_MAKEINFO_HTML
 doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
 	$(Q)$(TEXIDEP)
 	$(M)makeinfo --html -I doc --no-split -D config-not-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $<
+ifdef BUILD_DATE
+	sed -i 's_This document was generated on .* using_This document was generated on $(BUILD_DATE) using_' $@
+endif
 
 doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
 	$(Q)$(TEXIDEP)
 	$(M)makeinfo --html -I doc --no-split -D config-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $<
+ifdef BUILD_DATE
+	sed -i 's_This document was generated on .* using_This document was generated on $(BUILD_DATE) using_' $@
+endif
 else
 doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
 	$(Q)$(TEXIDEP)
@@ -127,6 +133,9 @@ DOXY_INPUT  = $(addprefix $(SRC_PATH)/, $(INSTHEADERS) $(DOC_EXAMPLES:%$(EXE
 doc/doxy/html: TAG = DOXY
 doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(SRC_PATH)/doc/doxy-wrapper.sh $(DOXY_INPUT)
 	$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $< $(DOXYGEN) $(DOXY_INPUT)
+ifdef BUILD_DATE
+	for file in $(M)$(SRC_PATH)/doc/doxy/html/*.html; do sed -i 's/Generated on .* for FFmpeg by/Generated on $(BUILD_DATE) $(BUILD_TIME) for FFmpeg by/' "$$file"; done
+endif
 
 install-doc: install-html install-man
 
diff --git a/ffprobe.c b/ffprobe.c
index 38879f1..f27380d 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -2562,8 +2562,8 @@ static void ffprobe_show_program_version(WriterContext *w)
 print_str("version", FFMPEG_VERSION);
 print_fmt("copyright", "Copyright (c) %d-%d the FFmpeg developers",
   program_birth_year, CONFIG_THIS_YEAR);
-print_str("build_date", __DATE__);
-print_str("build_time", __TIME__);
+print_str("build_date", BUILD_DATE);
+print_str("build_time", BUILD_TIME);
 print_str("compiler_ident", CC_IDENT);
 print_str("configuration", FFMPEG_CONFIGURATION);
 writer_print_section_footer(w);
-- 
2.1.4

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] configure: use ar and ranlib in deterministic mode

2015-01-21 Thread Andreas Cadhalpun

Hi,

ar and ranlib add timestamp and uid/gid for the object files in static 
libraries.
If used in deterministic mode, these are set to zero, making the 
binaries reproducible.

Attached patch achieves that.

Best regards,
Andreas
>From 1dfc47cb27ae6f3d88b8b7ca690b980842003ee7 Mon Sep 17 00:00:00 2001
From: Andreas Cadhalpun 
Date: Wed, 21 Jan 2015 22:32:58 +0100
Subject: [PATCH] configure: use ar and ranlib in deterministic mode

this makes the static libraries binary reproducible

Signed-off-by: Andreas Cadhalpun 
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 4f44cea..f60ca88 100755
--- a/configure
+++ b/configure
@@ -2705,7 +2705,7 @@ ln_s="ln -s -f"
 nm_default="nm -g"
 objformat="elf"
 pkg_config_default=pkg-config
-ranlib_default="ranlib"
+ranlib_default="ranlib -D"
 strip_default="strip"
 yasmexe_default="yasm"
 windres_default="windres"
@@ -3604,7 +3604,7 @@ elif $ar 2>&1 | grep -q 'Usage: ar.*-X.*any'; then
 arflags='-Xany -r -c'
 ar_o='$@'
 else
-arflags="rc"
+arflags="Drc"
 ar_o='$@'
 fi
 
-- 
2.1.4

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] librtmp: Allow changing the socket send buffer size

2015-01-21 Thread Michael Niedermayer
On Mon, Jan 19, 2015 at 09:13:15PM -0600, Brian Brice wrote:
> While streaming with librtmp within Windows, the 8K default size of
> SO_SNDBUF affects network performance negatively. Being able to adjust
> this value can improve things greatly.
> 
> This patch adds the -rtmp_buffer_size option to lavf/librtmp.c.
> 
> -- 
> Brian Brice
> http://heapify.org/

>  librtmp.c |8 
>  1 file changed, 8 insertions(+)
> 2fd82aed2a99bd622e1413ae02f34bec0bb4  
> 0001-librtmp-Allow-changing-the-socket-send-buffer-size.patch
> From 661689c03ecd944ff22ba5ca40e406bec06e4982 Mon Sep 17 00:00:00 2001
> From: Brian Brice 
> Date: Mon, 19 Jan 2015 21:01:00 -0600
> Subject: [PATCH] librtmp: Allow changing the socket send buffer size

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Port mp=eq/eq2 to FFmpeg

2015-01-21 Thread James Almer
On 21/01/15 5:08 PM, arwa arif wrote:
> diff --git a/libavfilter/x86/Makefile b/libavfilter/x86/Makefile
> index b93154e..8222e3f 100644
> --- a/libavfilter/x86/Makefile
> +++ b/libavfilter/x86/Makefile
> @@ -1,3 +1,4 @@
> +OBJS-$(CONFIG_EQ_FILTER) += x86/vf_eq.o
>  OBJS-$(CONFIG_FSPP_FILTER)   += x86/vf_fspp.o
>  OBJS-$(CONFIG_GRADFUN_FILTER)+= x86/vf_gradfun_init.o
>  OBJS-$(CONFIG_HQDN3D_FILTER) += x86/vf_hqdn3d_init.o
> diff --git a/libavfilter/x86/vf_eq.c b/libavfilter/x86/vf_eq.c
> new file mode 100644
> index 000..3396c33
> --- /dev/null
> +++ b/libavfilter/x86/vf_eq.c
> @@ -0,0 +1,94 @@
> +/*
> + *
> + * Original MPlayer filters by Richard Felker.
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License along
> + * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
> + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> + */
> +
> +#include "libavutil/attributes.h"
> +#include "libavutil/cpu.h"
> +#include "libavutil/mem.h"
> +#include "libavutil/x86/asm.h"
> +#include "libavfilter/vf_eq.h"
> +
> +#if HAVE_MMX && HAVE_6REGS

Again, "HAVE_MMX_INLINE && HAVE_6REGS".
Otherwise, compilation will fail with compilers like msvc where HAVE_MMX is 
true but 
HAVE_MMX_INLINE isn't.

> +static void process_MMX(EQParameters *param, uint8_t *dst, int dst_stride,
> +uint8_t *src, int src_stride, int w, int h)
> +{
> +int i;
> +int pel;
> +int dstep = dst_stride - w;
> +int sstep = src_stride - w;
> +short brvec[4];
> +short contvec[4];
> +
> +brvec[0] = brvec[1] = brvec[2] = brvec[3] = param->b;
> +contvec[0] = contvec[1] = contvec[2] = contvec[3] = param->c;
> +
> +while (h--) {
> +__asm__ volatile (
> +"movq (%5), %%mm3  \n\t"
> +"movq (%6), %%mm4  \n\t"
> +"pxor %%mm0, %%mm0 \n\t"
> +"movl %4, %%eax\n\t"
> +//ASMALIGN(4)

".p2align 4 \n\t", or copy the define line for ASMALIGN() from 
libavfilter/libmpcodecs/mp_image.h 
to libavutil/x86/asm.h and uncomment this line.

> +"1:\n\t"
> +"movq (%0), %%mm1  \n\t"
> +"movq (%0), %%mm2  \n\t"
> +"punpcklbw %%mm0, %%mm1\n\t"
> +"punpckhbw %%mm0, %%mm2\n\t"
> +"psllw $4, %%mm1   \n\t"
> +"psllw $4, %%mm2   \n\t"
> +"pmulhw %%mm4, %%mm1   \n\t"
> +"pmulhw %%mm4, %%mm2   \n\t"
> +"paddw %%mm3, %%mm1\n\t"
> +"paddw %%mm3, %%mm2\n\t"
> +"packuswb %%mm2, %%mm1 \n\t"
> +"add $8, %0\n\t"
> +"movq %%mm1, (%1)  \n\t"
> +"add $8, %1\n\t"
> +"decl %%eax\n\t"
> +"jnz 1b\n\t"
> +: "=r" (src), "=r" (dst)
> +: "0" (src), "1" (dst), "r" (w>>3), "r" (brvec), "r" 
> (contvec)
> +: "%eax"
> +);
> +
> +for (i = w&7; i; i--) {
> +pel = ((*src++ * param->c) >> 12) + param->b;
> +if (pel & 768) 
> +pel = (-pel) >> 31;
> +*dst++ = pel;
> +}
> +
> +src += sstep;
> +dst += dstep;
> +}
> +__asm__ volatile ( "emms \n\t" ::: "memory" );
> +}
> +#endif
> +
> +av_cold void ff_eq_init_x86(EQContext *eq)
> +{
> +#if HAVE_MMX_INLINE

Check for HAVE_6REGS here as well.

> +int cpu_flags = av_get_cpu_flags();
> +
> +if (cpu_flags & AV_CPU_FLAG_MMX) {
> +eq->process = process_MMX;
> +}
> +#endif
> +}

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] configure: add --build-date and --build-time options

2015-01-21 Thread Timothy Gu
On Wed Jan 21 2015 at 2:11:09 PM Andreas Cadhalpun <
andreas.cadhal...@googlemail.com> wrote:

> Hi,
>
> Debian tries to make binary packages build reproducible [1].
>
> FFmpeg embeds date and time in the program and documentation, which
> makes it hard to have binary reproducible packages.
>
> The attached patch allows to specify the build date and time to use with
> a configure option, solving this problem.


I'd rather have an option disabling it. Sounds cleaner.

Timothy
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] nvenc: Compensate for hardware trying to mess with aspect ratio of DVD content.

2015-01-21 Thread Agatha Hu

On 2015/1/21 16:00, Reimar Döffinger wrote:

On 21.01.2015, at 07:17, Agatha Hu  wrote:

On 2015/1/18 4:01, Philip Langdale wrote:






Here's the reply from NVENC engineers
It is not same thing as SAR. It is the display aspect ratio i.e width/height = 
DAR/SAR

The calculation below should be like

If (avctx->sample_aspect_ratio.num > 0  && avctx->sample_aspect_ratio.den > 0 )
av_reduce(&dw, &dh, avctx->sample_aspect_ratio.num * avctx->width, 
avctx->sample_aspect_ratio.den * avctx->height, INT_MAX);


That doesn't answer anything.
Doing that, to keep the problem description short, creates different results 
from libx264 and any other encoder we have for DVD resolution which is highly 
undesirable for consistency and compatibility reasons if nothing else.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

We will fix the issue in driver, overscan compensation will be applied 
to input DAR *only* if the DAR is 4:3 or 16:9, otherwise won't 
unnecessarily modify the aspect ratio for resolutions like 720x480 and 
720x576.
The fix will be on future driver, I'll let you know when the branch is 
released.


Agatha Hu

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] nvenc: Compensate for hardware trying to mess with aspect ratio of DVD content.

2015-01-21 Thread Philip Langdale
On Thu, 22 Jan 2015 12:15:44 +0800
Agatha Hu  wrote:

> We will fix the issue in driver, overscan compensation will be
> applied to input DAR *only* if the DAR is 4:3 or 16:9, otherwise
> won't unnecessarily modify the aspect ratio for resolutions like
> 720x480 and 720x576.
> The fix will be on future driver, I'll let you know when the branch
> is released.

Please, no. We do not want overscan compensation to be done by nvenc at
all. The compensation makes nvenc inconsistent with *all* other
encoders in ffmpeg. For every other encoder, if my input is 720x576 at
[64/45], then my output is the same. It does not do anyone any favours
for nvenc to implicitly alter the output DAR.

There is a separate discussion about whether DAR 'compensation' is
desirable in an encoder or not, but even if that discussion results in
a decision to apply DAR compensation at encode time, it will be done
globally in ffmpeg for all encoders - ie: at a layer above any
individual codec.

If nvidia feels it is important to offer this compensation 'feature',
then I would ask for a configuration option to turn it off - otherwise
we will need the 'de-compensation' logic in the patch I posted.

Thanks,

--phil
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] nvenc: Compensate for hardware trying to mess with aspect ratio of DVD content.

2015-01-21 Thread Reimar Döffinger
On 22.01.2015, at 05:15, Agatha Hu  wrote:
> On 2015/1/21 16:00, Reimar Döffinger wrote:
>> On 21.01.2015, at 07:17, Agatha Hu  wrote:
>>> On 2015/1/18 4:01, Philip Langdale wrote:
> 
 
>>> 
>>> Here's the reply from NVENC engineers
>>> It is not same thing as SAR. It is the display aspect ratio i.e 
>>> width/height = DAR/SAR
>>> 
>>> The calculation below should be like
>>> 
>>> If (avctx->sample_aspect_ratio.num > 0  && avctx->sample_aspect_ratio.den > 
>>> 0 )
>>>av_reduce(&dw, &dh, avctx->sample_aspect_ratio.num * avctx->width, 
>>> avctx->sample_aspect_ratio.den * avctx->height, INT_MAX);
>> 
>> That doesn't answer anything.
>> Doing that, to keep the problem description short, creates different results 
>> from libx264 and any other encoder we have for DVD resolution which is 
>> highly undesirable for consistency and compatibility reasons if nothing else.
>> 
> We will fix the issue in driver, overscan compensation will be applied to 
> input DAR *only* if the DAR is 4:3 or 16:9, otherwise won't unnecessarily 
> modify the aspect ratio for resolutions like 720x480 and 720x576.

While that will make the issue more rare, my problem description description 
above and the issue we have with it will not be fixed by that. In fact it will 
just make the work-around more messy.
nvenc would still be the only encoder to modify DAR in this way and DAR will 
change when people switch between x264 (or any other codec) and nvenc.
As a result, nvenc cannot be used as a drop-in replacement for x264 without a 
hack to undo your DAR modifications.
As said: it doesn't even matter whether what you do is correct or not, the fact 
that you are doing it while nobody else does is an issue in itself.
(if everyone agreed that it was clearly without question the right thing to do 
then changing all other encoder implementations would be an option, however 
that isn't the case and it would be quite some code duplication to do it in the 
encoders instead of a level or two above)
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] Duration/bitrate estimation

2015-01-21 Thread Marcus Johnson
What functions are used to estimate the duration and bit rate of a file?
I'd like to add support for these features for the DTS format, and would
rather not dig around the source looking for it.

thanks in advance.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] nvenc: Compensate for hardware trying to mess with aspect ratio of DVD content.

2015-01-21 Thread Agatha Hu

在 2015/1/22 12:29, Philip Langdale 写道:

On Thu, 22 Jan 2015 12:15:44 +0800
Agatha Hu  wrote:


We will fix the issue in driver, overscan compensation will be
applied to input DAR *only* if the DAR is 4:3 or 16:9, otherwise
won't unnecessarily modify the aspect ratio for resolutions like
720x480 and 720x576.
The fix will be on future driver, I'll let you know when the branch
is released.


Please, no. We do not want overscan compensation to be done by nvenc at
all. The compensation makes nvenc inconsistent with *all* other
encoders in ffmpeg. For every other encoder, if my input is 720x576 at
[64/45], then my output is the same. It does not do anyone any favours
for nvenc to implicitly alter the output DAR.

There is a separate discussion about whether DAR 'compensation' is
desirable in an encoder or not, but even if that discussion results in
a decision to apply DAR compensation at encode time, it will be done
globally in ffmpeg for all encoders - ie: at a layer above any
individual codec.

If nvidia feels it is important to offer this compensation 'feature',
then I would ask for a configuration option to turn it off - otherwise
we will need the 'de-compensation' logic in the patch I posted.

Thanks,

--phil

Disabling compensation is the best result, adding a flag is acceptable, 
but NVENC5.0 has just released, such option won't be available until 6.0 
is available, so...
Still waiting for nvenc teams feedback, the worst case is adding the 
'de-compensation' logic for 4:3 and 16:9


Agatha Hu
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [shan...@gmail.com: [libav-devel] Decoder for CEA-608 and World System Teletext]

2015-01-21 Thread Anshul


On 01/22/2015 12:12 PM, Shan wrote:

On 2015-01-20T11:52:39+0100 u...@pkh.me relayed:


The patches are welcome though, it might be easier to
work with.

Here's a base64 patch for the  CEA-608, EIA-708, Teletext, DVB VBI and
MXF VANC decoder, as well as some other related changes as well as
support in mpegts for Fortis OEM recordings with no PAT.

Shan


Thanks Shan.

I will try to take good part of the patch from it.

-Anshul
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel