Re: [FFmpeg-devel] [PATCH] avformat: Add multi protocol

2016-07-22 Thread Michael Niedermayer
On Thu, Jul 21, 2016 at 10:27:35PM -0300, James Almer wrote:
> On 7/19/2016 1:42 PM, Michael Niedermayer wrote:
> > fixed
> > 
> > applied
> > 
> > thx
> 
> CClibavformat/teeproto.o
> src/libavformat/teeproto.c: In function ‘tee_open’:
> src/libavformat/teeproto.c:105:52: warning: argument to "sizeof" in "memset" 
> call is the same expression as the destination; did you mean to dereference 
> it? [-Wsizeof-pointer-memaccess]
>  memset(&c->child[c->child_count], 0, 
> sizeof(&c->child[c->child_count]));

fixed

thx

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

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- 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 1/2] doc/muxers: add hls_flags option description

2016-07-22 Thread Steven Liu
2016-07-18 20:13 GMT+08:00 Steven Liu :

>
> Signed-off-by: Steven Liu 
> Reviewed-by: Moritz Barsnick 
> ---
>  doc/muxers.texi | 11 +++
>  1 file changed, 11 insertions(+)
>
> diff --git a/doc/muxers.texi b/doc/muxers.texi
> index 1b99c7e..66539c1 100644
> --- a/doc/muxers.texi
> +++ b/doc/muxers.texi
> @@ -495,6 +495,17 @@ Will produce the playlist, @file{out.m3u8}, and a
> single segment file,
>  Segment files removed from the playlist are deleted after a period of time
>  equal to the duration of the segment plus the duration of the playlist.
>
> +@item hls_flags round_durations
> +Round the duration info in the playlist file segment info to integer
> +values, instead of using floating point.
> +
> +@item hls_flags discont_starts
> +Add the @code{#EXT-X-DISCONTINUITY} tag to the playlist, before the
> +first segment's information.
> +
> +@item hls_flags omit_endlist
> +Do not append the @code{EXT-X-ENDLIST} tag at the end of the playlist.
> +
>  @item hls_flags split_by_time
>  If this flags is set, allow segments to start on frames other than
> keyframes.
>  This improves behavior on some players when the time between keyframes is
> --
> 2.7.4 (Apple Git-66)
>

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


[FFmpeg-devel] [PATCH] fate: add test for extrastereo filter

2016-07-22 Thread Petru Rares Sincraian
Hi there,


Here is a patch for extrastereo filter.



Regards,

Petru Rares.
From 24d3a378d839b7e0a165f8cd53eb28acd843cf54 Mon Sep 17 00:00:00 2001
From: Petru Rares Sincraian 
Date: Thu, 21 Jul 2016 07:21:01 +0200
Subject: [PATCH] fate: add test for extrastereo filter

---
 tests/fate/filter-audio.mak   |  5 +
 tests/ref/fate/filter-extrastereo | 25 +
 2 files changed, 30 insertions(+)
 create mode 100644 tests/ref/fate/filter-extrastereo

diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak
index 1a52320..b5663da 100644
--- a/tests/fate/filter-audio.mak
+++ b/tests/fate/filter-audio.mak
@@ -94,6 +94,11 @@ fate-filter-asetrate: tests/data/asynth-44100-2.wav
 fate-filter-asetrate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-filter-asetrate: CMD = framecrc -i $(SRC) -aframes 20 -af asetrate=2
 
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, EXTRASTEREO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-extrastereo
+fate-filter-extrastereo: tests/data/asynth-44100-2.wav
+fate-filter-extrastereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-filter-extrastereo: CMD = framecrc -i $(SRC) -aframes 20 -af extrastereo=m=2
+
 tests/data/hls-list.m3u8: TAG = GEN
 tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
diff --git a/tests/ref/fate/filter-extrastereo b/tests/ref/fate/filter-extrastereo
new file mode 100644
index 000..e43de2d
--- /dev/null
+++ b/tests/ref/fate/filter-extrastereo
@@ -0,0 +1,25 @@
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 44100
+#channel_layout 0: 3
+0,  0,  0, 1024, 4096, 0x29e3eecf
+0,   1024,   1024, 1024, 4096, 0x18390b96
+0,   2048,   2048, 1024, 4096, 0xc477fa99
+0,   3072,   3072, 1024, 4096, 0x3bc0f14f
+0,   4096,   4096, 1024, 4096, 0x2379ed91
+0,   5120,   5120, 1024, 4096, 0xfd6a0070
+0,   6144,   6144, 1024, 4096, 0x0b01f4cf
+0,   7168,   7168, 1024, 4096, 0x6716fd93
+0,   8192,   8192, 1024, 4096, 0x1840f25b
+0,   9216,   9216, 1024, 4096, 0x9c1ffaf1
+0,  10240,  10240, 1024, 4096, 0xcbedefaf
+0,  11264,  11264, 1024, 4096, 0x3e050390
+0,  12288,  12288, 1024, 4096, 0xb30e0090
+0,  13312,  13312, 1024, 4096, 0x26b8f75b
+0,  14336,  14336, 1024, 4096, 0xd706e311
+0,  15360,  15360, 1024, 4096, 0x0c480138
+0,  16384,  16384, 1024, 4096, 0x6c9a0216
+0,  17408,  17408, 1024, 4096, 0x7abce54f
+0,  18432,  18432, 1024, 4096, 0xda45f63f
+0,  19456,  19456, 1024, 4096, 0x50d5ff87
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH 2/2] doc/muxers: improve hlsenc description

2016-07-22 Thread Steven Liu
2016-07-18 20:15 GMT+08:00 Steven Liu :

> Signed-off-by: Moritz Barsnick 
> ---
>  doc/muxers.texi | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/doc/muxers.texi b/doc/muxers.texi
> index 66539c1..5873269 100644
> --- a/doc/muxers.texi
> +++ b/doc/muxers.texi
> @@ -396,8 +396,8 @@ which can be cyclic, for example if the @option{wrap}
> option is
>  specified.
>
>  @item hls_segment_filename @var{filename}
> -Set the segment filename. Unless hls_flags single_file is set
> @var{filename}
> -is used as a string format with the segment number:
> +Set the segment filename. Unless @code{hls_flags single_file} is set,
> +@var{filename} is used as a string format with the segment number:
>  @example
>  ffmpeg in.nut -hls_segment_filename 'file%03d.ts' out.m3u8
>  @end example
> @@ -507,10 +507,10 @@ first segment's information.
>  Do not append the @code{EXT-X-ENDLIST} tag at the end of the playlist.
>
>  @item hls_flags split_by_time
> -If this flags is set, allow segments to start on frames other than
> keyframes.
> -This improves behavior on some players when the time between keyframes is
> -inconsistent, but may make things worse on others, and can cause some
> oddities
> -during seeking. This flag should be used with hls_time option.
> +Allow segments to start on frames other than keyframes. This improves
> +behavior on some players when the time between keyframes is inconsistent,
> +but may make things worse on others, and can cause some oddities during
> +seeking. This flag should be used with the @code{hls_time} option.
>
>  @item hls_playlist_type event
>  Emit @code{#EXT-X-PLAYLIST-TYPE:EVENT} in the m3u8 header. Forces
> --
> 2.7.4 (Apple Git-66)
>
>
ping
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] fate: add test for extrastereo filter

2016-07-22 Thread Michael Niedermayer
On Fri, Jul 22, 2016 at 10:53:41AM +, Petru Rares Sincraian wrote:
> Hi there,
> 
> 
> Here is a patch for extrastereo filter.
> 
> 
> 
> Regards,
> 
> Petru Rares.

>  fate/filter-audio.mak   |5 +
>  ref/fate/filter-extrastereo |   25 +
>  2 files changed, 30 insertions(+)
> 45b0b1b0593d171de01bc76ad08f91ce3cda5986  
> 0001-fate-add-test-for-extrastereo-filter.patch
> From 24d3a378d839b7e0a165f8cd53eb28acd843cf54 Mon Sep 17 00:00:00 2001
> From: Petru Rares Sincraian 
> Date: Thu, 21 Jul 2016 07:21:01 +0200
> Subject: [PATCH] fate: add test for extrastereo filter

applied

thx

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Into a blind darkness they enter who follow after the Ignorance,
they as if into a greater darkness enter who devote themselves
to the Knowledge alone. -- Isha Upanishad


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/alsdec: implement floating point decoding

2016-07-22 Thread Umair Khan
On Thu, Jul 21, 2016 at 6:18 PM, Michael Niedermayer
 wrote:
> On Sun, Jul 17, 2016 at 12:06:03AM +0530, Umair Khan wrote:
>> Hi,
>>
>> Patch attached.
>>
>> - Umair
>
>>  libavcodec/Makefile   |2
>>  libavcodec/alsdec.c   |  284 
>> +-
>>  libavcodec/mlz.c  |  171 +
>>  libavcodec/mlz.h  |   69 ++
>>  libavutil/softfloat_ieee754.h |  115 +
>>  5 files changed, 638 insertions(+), 3 deletions(-)
>> 0282267108d74681f1bff6b5e6a85c603ac7052e  
>> 0001-avcodec-alsdec-implement-floating-point-decoding.patch
>> From 70e65b26cc3f84c9c664c30808b43a5e1cf16eaa Mon Sep 17 00:00:00 2001
>> From: Umair Khan 
>> Date: Sat, 16 Jul 2016 23:52:39 +0530
>> Subject: [PATCH 1/1] avcodec/alsdec: implement floating point decoding
>>
>> It conforms to RM22 version of the reference codec.
>>
>> Signed-off-by: Umair Khan 
>> ---
>>  libavcodec/Makefile   |   2 +-
>>  libavcodec/alsdec.c   | 284 
>> +-
>>  libavcodec/mlz.c  | 171 +
>>  libavcodec/mlz.h  |  69 ++
>>  libavutil/softfloat_ieee754.h | 115 +
>
> missing update to Changelog
>
> [...]
>> @@ -1356,6 +1366,237 @@ static int revert_channel_correlation(ALSDecContext 
>> *ctx, ALSBlockData *bd,
>>  }
>>
>>
>> +/** multiply two softfloats and handle the rounding off
>> + */
>> +static SoftFloat_IEEE754 multiply(SoftFloat_IEEE754 a, SoftFloat_IEEE754 b) 
>> {
>> +uint64_t mantissa_temp;
>> +uint64_t mask_64;
>> +int bit_count;
>> +int cutoff_bit_count;
>> +unsigned char last_2_bits;
>> +unsigned int mantissa;
>> +uint32_t return_val = 0;
>> +int32_t sign;
>> +
>> +sign = a.sign ^ b.sign;
>> +
>> +// Multiply mantissa bits in a 64-bit register
>> +mantissa_temp = (uint64_t)a.mant * (uint64_t)b.mant;
>> +
>> +// Count the valid bit count
>
>> +for (bit_count=48, mask_64=(uint64_t)0x1 << 47; !(mantissa_temp & 
>> mask_64) && mask_64; bit_count--, mask_64>>=1);
>
> this needs some newlines for readability
>
>
>> +
>> +// Round off
>> +cutoff_bit_count = bit_count - 24;
>> +if (cutoff_bit_count > 0) {
>> +last_2_bits = (unsigned char)(((unsigned int)mantissa_temp >> 
>> (cutoff_bit_count - 1)) & 0x3 );
>> +if ((last_2_bits == 0x3) || ((last_2_bits == 0x1) && ((unsigned 
>> int)mantissa_temp & ((0x1UL << (cutoff_bit_count - 1)) - 1 {
>> +// Need to round up
>> +mantissa_temp += (uint64_t)0x1 << cutoff_bit_count;
>> +}
>> +}
>> +
>> +mantissa = (unsigned int)(mantissa_temp >> cutoff_bit_count);
>> +
>> +// Need one more shift?
>> +if (mantissa & 0x0100ul) {
>> +bit_count++;
>> +mantissa >>= 1;
>> +}
>> +
>> +if (!sign) {
>> +return_val = 0x8000U;
>> +}
>> +
>> +return_val |= (a.exp + b.exp + bit_count - 47) << 23;
>> +return_val |= mantissa;
>> +return av_bits2sf_ieee754(return_val);
>> +}
>> +
>> +
>> +/** Read and decode the floating point sample data
>> + */
>> +static int read_diff_float_data(ALSDecContext *ctx, unsigned int ra_frame) {
>> +AVCodecContext *avctx   = ctx->avctx;
>> +GetBitContext *gb   = &ctx->gb;
>> +SoftFloat_IEEE754 *acf  = ctx->acf;
>> +int *shift_value= ctx->shift_value;
>> +int *last_shift_value   = ctx->last_shift_value;
>> +int *last_acf_mantissa  = ctx->last_acf_mantissa;
>> +int **raw_mantissa  = ctx->raw_mantissa;
>> +int *nbits  = ctx->nbits;
>> +unsigned char *larray   = ctx->larray;
>> +int frame_length= ctx->cur_frame_length;
>> +SoftFloat_IEEE754 scale = av_int2sf_ieee754(0x1u, 23);
>> +unsigned int partA_flag;
>> +unsigned int highest_byte;
>> +unsigned int shift_amp;
>> +uint32_t tmp_32;
>> +int use_acf;
>> +int nchars;
>> +int i;
>> +int c;
>> +long k;
>> +long nbits_aligned;
>> +unsigned long acc;
>> +unsigned long j;
>> +uint32_t sign;
>> +uint32_t e;
>> +uint32_t mantissa;
>> +
>> +skip_bits_long(gb, 32); //num_bytes_diff_float
>> +use_acf = get_bits1(gb);
>> +
>> +if (ra_frame) {
>
>> +for (c = 0; c < avctx->channels; ++c) {
>> +last_acf_mantissa[c] = 0;
>> +last_shift_value[c] = 0;
>> +}
>
> memset()
>
>
>> +ff_mlz_flush_dict(ctx->mlz);
>> +}
>> +
>> +for (c = 0; c < avctx->channels; ++c) {
>> +if (use_acf) {
>> +//acf_flag
>> +if (get_bits1(gb)) {
>> +tmp_32 = get_bits(gb, 23);
>> +last_acf_mantissa[c] = tmp_32;
>> +} else {
>> +tmp_32 = last_acf_mantissa[c];
>> +}
>> +acf[c] = av_bits2sf_ieee754(tmp_32);
>> +} else {
>> +acf[c] = FLOAT_1;
>> +}
>> +
>> +   

[FFmpeg-devel] [PATCH] MAINTAINERS: add myself to the project server

2016-07-22 Thread Nikolay Aleksandrov
I've been helping out with the project servers' maintenance and migration
to the new machine hosted in Telepoint's data center in Sofia, BG.

Signed-off-by: Nikolay Aleksandrov 
---
note: the patch is against the master branch

 MAINTAINERS | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index a7e606e39a35..6d4c9f906ace 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -43,7 +43,7 @@ Miscellaneous Areas
 ===
 
 documentation   Stefano Sabatini, Mike Melanson, 
Timothy Gu, Lou Logan
-project server  Árpád Gereöffy, Michael Niedermayer, 
Reimar Doeffinger, Alexander Strasser
+project server  Árpád Gereöffy, Michael Niedermayer, 
Reimar Doeffinger, Alexander Strasser, Nikolay Aleksandrov
 presets Robert Swain
 metadata subsystem  Aurelien Jacobs
 release management  Michael Niedermayer
@@ -546,6 +546,7 @@ Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 
1540 DAA7 060F 56DE
 Lou Logan 7D68 DC73 CBEF EABB 671A B6CF 621C 2E28 82F8 DC3A
 Michael Niedermayer   9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
 Nicolas George24CE 01CE 9ACC 5CEB 74D8 8D9D B063 D997 36E5 4C93
+Nikolay Aleksandrov   8978 1D8C FB71 588E 4B27 EAA8 C4F0 B5FC E011 13B1
 Panagiotis Issaris6571 13A3 33D9 3726 F728 AA98 F643 B12E ECF3 E029
 Peter RossA907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
 Philip Langdale   5DC5 8D66 5FBA 3A43 18EC 045E F8D6 B194 6A75 682E
-- 
2.1.4

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


Re: [FFmpeg-devel] [PATCH 2/2] doc/muxers: improve hlsenc description

2016-07-22 Thread Michael Niedermayer
On Mon, Jul 18, 2016 at 08:15:25PM +0800, Steven Liu wrote:
> Signed-off-by: Moritz Barsnick 
> ---
>  doc/muxers.texi | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Dictatorship: All citizens are under surveillance, all their steps and
actions recorded, for the politicians to enforce control.
Democracy: All politicians are under surveillance, all their steps and
actions recorded, for the citizens to enforce control.


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


Re: [FFmpeg-devel] [PATCH 1/2] doc/muxers: add hls_flags option description

2016-07-22 Thread Michael Niedermayer
On Mon, Jul 18, 2016 at 08:13:46PM +0800, Steven Liu wrote:
> Signed-off-by: Steven Liu 
> Reviewed-by: Moritz Barsnick 
> ---
>  doc/muxers.texi | 11 +++
>  1 file changed, 11 insertions(+)

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

It is what and why we do it that matters, not just one of them.


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


Re: [FFmpeg-devel] [PATCH] libx264: Increase x264 opts character limit to 4096

2016-07-22 Thread Michael Niedermayer
On Thu, Jul 21, 2016 at 06:52:41PM -0700, Sasi Inguva wrote:
> Signed-off-by: Sasi Inguva 
> ---
>  libavcodec/libx264.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

applied

thanks

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

Concerning the gods, I have no means of knowing whether they exist or not
or of what sort they may be, because of the obscurity of the subject, and
the brevity of human life -- Protagoras


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


[FFmpeg-devel] [PATCH] avdev/jack: remove duplicated dispatch macros

2016-07-22 Thread Josh de Kock
The macros were moved to compat/dispatch_semaphore/semaphore.h after a libav 
merge, and were never removed from jack.c
---
 libavdevice/jack.c | 10 --
 1 file changed, 10 deletions(-)

diff --git a/libavdevice/jack.c b/libavdevice/jack.c
index 34e2152..076078c 100644
--- a/libavdevice/jack.c
+++ b/libavdevice/jack.c
@@ -35,16 +35,6 @@
 #include "timefilter.h"
 #include "avdevice.h"
 
-#if HAVE_DISPATCH_DISPATCH_H
-#include 
-#define sem_t dispatch_semaphore_t
-#define sem_init(psem,x,val)  *psem = dispatch_semaphore_create(val)
-#define sem_post(psem)dispatch_semaphore_signal(*psem)
-#define sem_wait(psem)dispatch_semaphore_wait(*psem, 
DISPATCH_TIME_FOREVER)
-#define sem_timedwait(psem, val)  dispatch_semaphore_wait(*psem, 
dispatch_walltime(val, 0))
-#define sem_destroy(psem) dispatch_release(*psem)
-#endif
-
 /**
  * Size of the internal FIFO buffers as a number of audio packets
  */
-- 
2.7.4 (Apple Git-66)

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


Re: [FFmpeg-devel] [PATCH] avcodec/alsdec: implement floating point decoding

2016-07-22 Thread Michael Niedermayer
On Fri, Jul 22, 2016 at 06:22:30PM +0530, Umair Khan wrote:
> On Thu, Jul 21, 2016 at 6:18 PM, Michael Niedermayer
>  wrote:
> > On Sun, Jul 17, 2016 at 12:06:03AM +0530, Umair Khan wrote:
[...]
> >> +static int decode_string(MLZDict *dict, unsigned char *buff, int 
> >> string_code, int *first_char_code, unsigned long bufsize) {
> >> +unsigned long count, offset;
> >> +int current_code, parent_code, tmp_code;
> >> +
> >> +count= 0;
> >> +current_code = string_code;
> >> +*first_char_code = CODE_UNSET;
> >> +
> >> +while (count < bufsize) {
> >> +switch (current_code) {
> >> +case CODE_UNSET:
> >> +return count;
> >> +break;
> >> +default:
> >> +if (current_code < FIRST_CODE) {
> >> +*first_char_code = current_code;
> >> +buff[0] = current_code;
> >> +count++;
> >> +return count;
> >> +} else {
> >> +offset  = dict[current_code].match_len - 1;
> >> +tmp_code = dict[current_code].char_code;
> >> +buff[offset] = tmp_code;
> >> +count++;
> >> +}
> >> +current_code = dict[current_code].parent_code;
> >> +if ((current_code < 0) || (current_code > (DIC_INDEX_MAX - 
> >> 1))) {
> >
> >> +av_log(NULL, AV_LOG_ERROR, "MLZ dic index error.\n");
> >
> > it would be ideal if all av_log() would have a context instead of NULL
> 
> How to go ahead with this? Should I create MLZContext or something? If
> yes, could you please tell how?

possible or you pass a void *context

[...]
-- 
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


[FFmpeg-devel] [PATCH 1/2] avcodec/mpeg4_unpack_bframes_bsf: Copy packet props

2016-07-22 Thread sebechlebskyjan
From: Jan Sebechlebsky 

mpeg4_unpack_bframes_bsf bitstream filters constructs
resulting packet using av_packet_from_data() function.
This function however modifies only buffer (data) and leaves
other fields untouched, so the content of other fields
of the output packet is undefined.
It is working with old BSF API, since old API filters
just data and the packet fields are copied in
av_apply_bitstream_filters from input packet.

This change fixes the behaviour for the new BSF API.

Signed-off-by: Jan Sebechlebsky 
---
 libavcodec/mpeg4_unpack_bframes_bsf.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/mpeg4_unpack_bframes_bsf.c 
b/libavcodec/mpeg4_unpack_bframes_bsf.c
index 0615621..aee8ccb 100644
--- a/libavcodec/mpeg4_unpack_bframes_bsf.c
+++ b/libavcodec/mpeg4_unpack_bframes_bsf.c
@@ -120,6 +120,12 @@ static int mpeg4_unpack_bframes_filter(AVBSFContext *ctx, 
AVPacket *out)
 
 if (nb_vop == 1 && s->b_frame_buf) {
 /* use frame from BSFContext */
+ret = av_packet_copy_props(out, in);
+if (ret < 0) {
+av_packet_free(&in);
+return ret;
+}
+
 av_packet_from_data(out, s->b_frame_buf, s->b_frame_buf_size);
 if (in->size <= MAX_NVOP_SIZE) {
 /* N-VOP */
-- 
1.9.1

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


[FFmpeg-devel] [PATCH 2/2] avcodec/mpeg4_unpack_bframes_bsf: Check av_packet_from_data() return value

2016-07-22 Thread sebechlebskyjan
From: Jan Sebechlebsky 

Signed-off-by: Jan Sebechlebsky 
---
 libavcodec/mpeg4_unpack_bframes_bsf.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavcodec/mpeg4_unpack_bframes_bsf.c 
b/libavcodec/mpeg4_unpack_bframes_bsf.c
index aee8ccb..e227f58 100644
--- a/libavcodec/mpeg4_unpack_bframes_bsf.c
+++ b/libavcodec/mpeg4_unpack_bframes_bsf.c
@@ -126,7 +126,11 @@ static int mpeg4_unpack_bframes_filter(AVBSFContext *ctx, 
AVPacket *out)
 return ret;
 }
 
-av_packet_from_data(out, s->b_frame_buf, s->b_frame_buf_size);
+ret = av_packet_from_data(out, s->b_frame_buf, s->b_frame_buf_size);
+if (ret < 0) {
+av_packet_free(&in);
+return ret;
+}
 if (in->size <= MAX_NVOP_SIZE) {
 /* N-VOP */
 av_log(ctx, AV_LOG_DEBUG, "Skipping N-VOP.\n");
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH 1/2] avcodec/mpeg4_unpack_bframes_bsf: Copy packet props

2016-07-22 Thread Michael Niedermayer
On Fri, Jul 22, 2016 at 05:59:29PM +0200, sebechlebsky...@gmail.com wrote:
> From: Jan Sebechlebsky 
> 
> mpeg4_unpack_bframes_bsf bitstream filters constructs
> resulting packet using av_packet_from_data() function.
> This function however modifies only buffer (data) and leaves
> other fields untouched, so the content of other fields
> of the output packet is undefined.
> It is working with old BSF API, since old API filters
> just data and the packet fields are copied in
> av_apply_bitstream_filters from input packet.
> 
> This change fixes the behaviour for the new BSF API.
> 
> Signed-off-by: Jan Sebechlebsky 
> ---
>  libavcodec/mpeg4_unpack_bframes_bsf.c | 6 ++
>  1 file changed, 6 insertions(+)

applied

thx

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

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 


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


Re: [FFmpeg-devel] [PATCH 2/2] avcodec/mpeg4_unpack_bframes_bsf: Check av_packet_from_data() return value

2016-07-22 Thread Michael Niedermayer
On Fri, Jul 22, 2016 at 05:59:30PM +0200, sebechlebsky...@gmail.com wrote:
> From: Jan Sebechlebsky 
> 
> Signed-off-by: Jan Sebechlebsky 
> ---
>  libavcodec/mpeg4_unpack_bframes_bsf.c | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)

applied

thx

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

If you drop bombs on a foreign country and kill a hundred thousand
innocent people, expect your government to call the consequence
"unprovoked inhuman terrorist attacks" and use it to justify dropping
more bombs and killing more people. The technology changed, the idea is old.


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


Re: [FFmpeg-devel] Outreachy 2016 december

2016-07-22 Thread Michael Niedermayer
On Wed, Jul 06, 2016 at 11:25:21PM +0200, Michael Niedermayer wrote:
> Hi all
> 
> The next Outreachy round starts soon
> FFmpeg has till august 22 IIUC (https://www.gnome.org/outreachy/)
> to express interrest to participate.
> 
> We need an admin and backup admins.

ping!


> They need to create the wiki page(s) for this round, and make sure
> the pages are in shape by the time applicants start pouring in.
> make sure applicants questions (like "[FFmpeg-devel] need guidance")
> get awnsered
> recruite mentors,

> secure funding (as in confirming with the community and stefano that
> SPI/FFIS funding can be used for one slot or find another sponsor)

@stefano, do we have funding for a slot in the next outreachy round?

also if someone is against it speak now, before we contact Outreachy
and state that we want to participate and have funding ...


> contact the Outreachy admins and express that FFmpeg wants to
> participate, ...
> Reply to any questions the outreachy admins have
> Make sure that during the project nothing goes wrong like a mentor
> disappearing and if something goes wrong deal with it

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin


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


[FFmpeg-devel] [PATCH]lavc/h264_ps: Be more verbose when truncating likely oversized pps.

2016-07-22 Thread Carl Eugen Hoyos
Hi!

Attached patch prints the size of the oversized pps when truncating.

Please comment, Carl Eugen
From 0ac76e23c283103441f372590eba24d14b2977c2 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos 
Date: Fri, 22 Jul 2016 19:24:15 +0200
Subject: [PATCH] lavc/h264_ps: Be more verbose when truncating likely
 oversized PPS.

---
 libavcodec/h264_ps.c |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index 3bcc6e1..7d1cf19 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -732,7 +732,9 @@ int ff_h264_decode_picture_parameter_set(GetBitContext *gb, 
AVCodecContext *avct
 
 pps->data_size = gb->buffer_end - gb->buffer;
 if (pps->data_size > sizeof(pps->data)) {
-av_log(avctx, AV_LOG_WARNING, "Truncating likely oversized PPS\n");
+av_log(avctx, AV_LOG_WARNING, "Truncating likely oversized PPS "
+   "(%"SIZE_SPECIFIER" > %"SIZE_SPECIFIER")\n",
+   pps->data_size, sizeof(pps->data));
 pps->data_size = sizeof(pps->data);
 }
 memcpy(pps->data, gb->buffer, pps->data_size);
-- 
1.7.10.4

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


[FFmpeg-devel] [PATCH 1/2] avcodec/bsf: Check side data when setting BSF EOF flag.

2016-07-22 Thread sebechlebskyjan
From: Jan Sebechlebsky 

Set BSF EOF flag only if pkt == NULL or both data and
side data are not present in packet.

Signed-off-by: Jan Sebechlebsky 
---
 I believe that side data should be checked too, and 
 EOF flag set only when both data and side data are
 not present.

 I was testing new list BSF API I was working on,
 and with simple pass-though (empty list) BSF filter,
 some tests were failing because packets containing only
 side data were taken as EOF signal for bitsteam filter. 

 Also, I've added comment about this behaviour in next
 patch.

 libavcodec/bsf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
index 88b7f29..94f0122 100644
--- a/libavcodec/bsf.c
+++ b/libavcodec/bsf.c
@@ -172,7 +172,7 @@ int av_bsf_init(AVBSFContext *ctx)
 
 int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
 {
-if (!pkt || !pkt->data) {
+if (!pkt || (!pkt->data && !pkt->side_data_elems)) {
 ctx->internal->eof = 1;
 return 0;
 }
-- 
1.9.1

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


[FFmpeg-devel] [PATCH 2/2] avcodec/avcodec.h: Change av_bsf_send_packet() comment

2016-07-22 Thread sebechlebskyjan
From: Jan Sebechlebsky 

Specify av_bsf_packet() behaviour in case that the packet does
not contain any data more precisely in the comment.

Signed-off-by: Jan Sebechlebsky 
---
 libavcodec/avcodec.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index ca8dba8..09ca734 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -5900,9 +5900,9 @@ int av_bsf_init(AVBSFContext *ctx);
  *
  * @param pkt the packet to filter. The bitstream filter will take ownership of
  * the packet and reset the contents of pkt. pkt is not touched if an error 
occurs.
- * This parameter may be NULL, which signals the end of the stream (i.e. no 
more
- * packets will be sent). That will cause the filter to output any packets it
- * may have buffered internally.
+ * If the parameter is NULL, or packet does not contain any data or side data,
+ * it signals the end of the stream (i.e. no more packets will be sent).
+ * That will cause the filter to output any packets it may have buffered 
internally.
  *
  * @return 0 on success, a negative AVERROR on error.
  */
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH] avfilter: Add max stats to PSNR log

2016-07-22 Thread Michael Niedermayer
On Thu, Jul 21, 2016 at 03:58:30PM -0700, Lucas Cooper wrote:
> > Also that different information should possibly be optional
> > as in version 2 format, and with that the first line could specify
> > the version of the format
> 
> Given that this would be a backwards incompatible change (anything assuming
> every line is a stat line would break on the header), should I take
> "optional" here to mean "controlled by a flag"?
> 

> How about I add:
> - A 'stats_version' option, integer, defaults to '1', which outputs the
> existing format as is, without a version header.
> - A second version '2', which outputs a version header, perhaps a list of
> included fields?
> - A 'log_raw' flag, which, when enabled, adds the raw error and max numbers
> for each channel and averaged over all channels, from which MSE and PSNR
> can be calculated.

ok

if possible, please split this in multiple self contained patches
it sounds like this is has become more than one feature


thx


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

Observe your enemies, for they first find out your faults. -- Antisthenes


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


Re: [FFmpeg-devel] [PATCH 1/2] avcodec/bsf: Check side data when setting BSF EOF flag.

2016-07-22 Thread Nicolas George
Le quintidi 5 thermidor, an CCXXIV, sebechlebsky...@gmail.com a écrit :
>  I believe that side data should be checked too, and 
>  EOF flag set only when both data and side data are
>  not present.
> 
>  I was testing new list BSF API I was working on,
>  and with simple pass-though (empty list) BSF filter,
>  some tests were failing because packets containing only
>  side data were taken as EOF signal for bitsteam filter. 
> 
>  Also, I've added comment about this behaviour in next
>  patch.

I think we should be more strict, not less: pkt == NULL means EOF, pkt with
data and/or side data is normal, and pkt != NULL without data and side data
is forbidden and reserved for future extension.

Regards,

-- 
  Nicolas George


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


[FFmpeg-devel] [PATCH v2] avcodec/bsf: Set EOF flag only if pkt == NULL

2016-07-22 Thread sebechlebskyjan
From: Jan Sebechlebsky 

Set BSF EOF flag only if pkt == NULL in av_bsf_send_packet().

Signed-off-by: Jan Sebechlebsky 
---
 I agree, it seems cleaner that way.

 Thanks,
 please apply this version of patch then and ignore
 the patch changing the comment.

 Regards,
 Jan

 libavcodec/bsf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
index 88b7f29..9b9ada7 100644
--- a/libavcodec/bsf.c
+++ b/libavcodec/bsf.c
@@ -172,7 +172,7 @@ int av_bsf_init(AVBSFContext *ctx)
 
 int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
 {
-if (!pkt || !pkt->data) {
+if (!pkt) {
 ctx->internal->eof = 1;
 return 0;
 }
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH v2] avcodec/bsf: Set EOF flag only if pkt == NULL

2016-07-22 Thread Nicolas George
Le quintidi 5 thermidor, an CCXXIV, sebechlebsky...@gmail.com a écrit :
> From: Jan Sebechlebsky 
> 
> Set BSF EOF flag only if pkt == NULL in av_bsf_send_packet().
> 
> Signed-off-by: Jan Sebechlebsky 
> ---
>  I agree, it seems cleaner that way.
> 
>  Thanks,
>  please apply this version of patch then and ignore
>  the patch changing the comment.
> 
>  Regards,
>  Jan
> 
>  libavcodec/bsf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
> index 88b7f29..9b9ada7 100644
> --- a/libavcodec/bsf.c
> +++ b/libavcodec/bsf.c
> @@ -172,7 +172,7 @@ int av_bsf_init(AVBSFContext *ctx)
>  
>  int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
>  {

> -if (!pkt || !pkt->data) {
> +if (!pkt) {

It we make the case where pkt != NULL but no data nor side data forbidden, I
would suggest to detect it.

I know that others disagree, but I think an assert is the best solution for
that: if the caller pass a forbidden value, it can expect an undefined
behaviour, and an assert failure is the most sympathetic undefined
behaviours for developers.

>  ctx->internal->eof = 1;
>  return 0;
>  }

Regards,

-- 
  Nicolas George


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


[FFmpeg-devel] [PATCH v5 1/2] ffmpeg.c: copy video profile when using stream_copy

2016-07-22 Thread Mark Reid
---
 ffmpeg.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ffmpeg.c b/ffmpeg.c
index b29be1e..1367920 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3019,6 +3019,7 @@ static int transcode_init(void)
 enc_ctx->width  = dec_ctx->width;
 enc_ctx->height = dec_ctx->height;
 enc_ctx->has_b_frames   = dec_ctx->has_b_frames;
+enc_ctx->profile= dec_ctx->profile;
 if (ost->frame_aspect_ratio.num) { // overridden by the 
-aspect cli option
 sar =
 av_mul_q(ost->frame_aspect_ratio,
-- 
2.7.3

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


[FFmpeg-devel] [PATCH v5 0/2] libavformat/movenc: add dnxhr compatibility for apple players

2016-07-22 Thread Mark Reid
changes since v4:
* use profile to set codec tag

to test
ffmpeg -i lb_uhd.mxf -vcodec copy out.mov

here are some samples:
https://dl.dropboxusercontent.com/u/170952/ffmpeg_samples/mxf/UHD/lb_uhd.mxf
https://dl.dropboxusercontent.com/u/170952/ffmpeg_samples/mxf/UHD/hqx_uhd.mxf

Mark Reid (2):
  ffmpeg.c: copy video profile when using stream_copy
  libavformat/movenc: add dnxhr compatibility for apple players

 ffmpeg.c |  1 +
 libavformat/movenc.c | 31 ++-
 2 files changed, 27 insertions(+), 5 deletions(-)

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


[FFmpeg-devel] [PATCH v5 2/2] libavformat/movenc: add dnxhr compatibility for apple players

2016-07-22 Thread Mark Reid
---
 libavformat/movenc.c | 31 ++-
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index d614933..014b465 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -32,6 +32,7 @@
 #include "isom.h"
 #include "avc.h"
 #include "libavcodec/ac3_parser.h"
+#include "libavcodec/dnxhddata.h"
 #include "libavcodec/get_bits.h"
 #include "libavcodec/put_bits.h"
 #include "libavcodec/vc1_common.h"
@@ -1070,11 +1071,7 @@ static int mov_write_avid_tag(AVIOContext *pb, MOVTrack 
*track)
 int cid;
 
 if (track->vos_data && track->vos_len > 0x29) {
-if (track->vos_data[0] == 0x00 &&
-track->vos_data[1] == 0x00 &&
-track->vos_data[2] == 0x02 &&
-track->vos_data[3] == 0x80 &&
-(track->vos_data[4] == 0x01 || track->vos_data[4] == 0x02)) {
+if (avpriv_dnxhd_parse_header_prefix(track->vos_data) != 0) {
 /* looks like a DNxHD bit stream */
 interlaced = (track->vos_data[5] & 2);
 cid = AV_RB32(track->vos_data + 0x28);
@@ -1099,6 +1096,18 @@ static int mov_write_avid_tag(AVIOContext *pb, MOVTrack 
*track)
 }
 avio_wb32(pb, 0); /* unknown */
 
+if (track->tag == MKTAG('A','V','d','h')) {
+avio_wb32(pb, 32);
+ffio_wfourcc(pb, "ADHR");
+ffio_wfourcc(pb, "0001");
+avio_wb32(pb, cid);
+avio_wb32(pb, 0); /* unknown */
+avio_wb32(pb, 1); /* unknown */
+avio_wb32(pb, 0); /* unknown */
+avio_wb32(pb, 0); /* unknown */
+return 0;
+}
+
 avio_wb32(pb, 24); /* size */
 ffio_wfourcc(pb, "APRG");
 ffio_wfourcc(pb, "APRG");
@@ -1384,6 +1393,15 @@ static const struct {
 { AV_PIX_FMT_RGB48BE, MKTAG('b','4','8','r'), 48 },
 };
 
+static int mov_get_dnxhd_codec_tag(AVFormatContext *s, MOVTrack *track)
+{
+  int tag = MKTAG('A','V','d','n');
+  if (track->par->profile != FF_PROFILE_UNKNOWN &&
+  track->par->profile != FF_PROFILE_DNXHD)
+  tag = MKTAG('A','V','d','h');
+  return tag;
+}
+
 static int mov_get_rawvideo_codec_tag(AVFormatContext *s, MOVTrack *track)
 {
 int tag = track->par->codec_tag;
@@ -1418,6 +1436,7 @@ static int mov_get_codec_tag(AVFormatContext *s, MOVTrack 
*track)
   track->par->codec_id == AV_CODEC_ID_RAWVIDEO ||
   track->par->codec_id == AV_CODEC_ID_H263 ||
   track->par->codec_id == AV_CODEC_ID_H264 ||
+  track->par->codec_id == AV_CODEC_ID_DNXHD ||
   track->par->codec_id == AV_CODEC_ID_MPEG2VIDEO ||
   av_get_bits_per_sample(track->par->codec_id { // pcm 
audio
 if (track->par->codec_id == AV_CODEC_ID_DVVIDEO)
@@ -1428,6 +1447,8 @@ static int mov_get_codec_tag(AVFormatContext *s, MOVTrack 
*track)
 tag = mov_get_mpeg2_xdcam_codec_tag(s, track);
 else if (track->par->codec_id == AV_CODEC_ID_H264)
 tag = mov_get_h264_codec_tag(s, track);
+else if (track->par->codec_id == AV_CODEC_ID_DNXHD)
+tag = mov_get_dnxhd_codec_tag(s, track);
 else if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) {
 tag = ff_codec_get_tag(ff_codec_movvideo_tags, 
track->par->codec_id);
 if (!tag) { // if no mac fcc found, try with Microsoft tags
-- 
2.7.3

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


[FFmpeg-devel] [PATCH 1/2] avformat: read id3v2 comment tags

2016-07-22 Thread kode54
From: Chris Moeller 

---
 libavformat/id3v2.c | 44 
 1 file changed, 44 insertions(+)

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 46b9394..c38c610 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -400,6 +400,47 @@ error:
 }
 
 /**
+ * Parse a comment tag.
+ */
+static void read_comm(AVFormatContext *s, AVIOContext *pb, int taglen,
+  AVDictionary **metadata)
+{
+const char *key = "comment";
+uint8_t *dst;
+int encoding, dict_flags = AV_DICT_DONT_OVERWRITE | 
AV_DICT_DONT_STRDUP_VAL;
+int language;
+
+if (taglen < 4)
+return;
+
+encoding = avio_r8(pb);
+taglen--;
+
+language = avio_rl24(pb);
+taglen -= 3;
+
+if (decode_str(s, pb, encoding, &dst, &taglen) < 0) {
+av_log(s, AV_LOG_ERROR, "Error reading comment frame, skipped\n");
+return;
+}
+
+if (dst && dst[0]) {
+key = (const char *) dst;
+dict_flags |= AV_DICT_DONT_STRDUP_KEY;
+}
+
+if (decode_str(s, pb, encoding, &dst, &taglen) < 0) {
+av_log(s, AV_LOG_ERROR, "Error reading comment frame, skipped\n");
+if (dict_flags & AV_DICT_DONT_STRDUP_KEY)
+av_freep((void*)&key);
+return;
+}
+
+if (dst)
+av_dict_set(metadata, key, (const char *) dst, dict_flags);
+}
+
+/**
  * Parse GEOB tag into a ID3v2ExtraMetaGEOB struct.
  */
 static void read_geobtag(AVFormatContext *s, AVIOContext *pb, int taglen,
@@ -905,6 +946,9 @@ static void id3v2_parse(AVIOContext *pb, AVDictionary 
**metadata,
 
 av_log(s, AV_LOG_WARNING, "Skipping %s ID3v2 frame %s.\n", type, 
tag);
 avio_skip(pb, tlen);
+/* check for comment frame */
+} else if (!memcmp(tag, "COMM", 4)) {
+read_comm(s, pbx, tlen, metadata);
 /* check for text tag or supported special meta tag */
 } else if (tag[0] == 'T' ||
!memcmp(tag, "USLT", 4) ||
-- 
2.7.4 (Apple Git-66)

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


[FFmpeg-devel] [PATCH 2/2] avformat: parse iTunes gapless information

2016-07-22 Thread kode54
From: Chris Moeller 

---
 libavformat/mp3dec.c | 64 +++-
 1 file changed, 63 insertions(+), 1 deletion(-)

diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index 56c7f8c..3055e2c 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -295,6 +295,53 @@ static void mp3_parse_vbri_tag(AVFormatContext *s, 
AVStream *st, int64_t base)
 }
 }
 
+static void mp3_parse_itunes_tag(AVFormatContext *s, AVStream *st, 
MPADecodeHeader *c, int64_t base, int vbrtag_size, unsigned int *size, uint64_t 
*duration)
+{
+uint32_t v;
+AVDictionaryEntry *de;
+MP3DecContext *mp3 = s->priv_data;
+size_t length;
+uint32_t zero, start_pad, end_pad;
+uint64_t last_eight_frames_offset;
+int i;
+
+if (!s->metadata || !(de = av_dict_get(s->metadata, "iTunSMPB", NULL, 0)))
+  return;
+
+length = strlen(de->value);
+
+/* Minimum length is one digit per field plus the whitespace, maximum 
length should depend on field type
+ * There are four fields we need in the first six, the rest are currently 
zero padding */
+if (length < (12 + 11) || length > (10 * 8 + 2 * 16 + 11))
+return;
+
+if (sscanf(de->value, "%x %x %x %llx %x %llx", &zero, &start_pad, 
&end_pad, duration, &zero, &last_eight_frames_offset) < 6) {
+*duration = 0;
+return;
+}
+
+mp3->start_pad = start_pad;
+mp3->end_pad = end_pad;
+if (end_pad >= 528 + 1)
+mp3->end_pad = end_pad - (528 + 1);
+st->start_skip_samples = mp3->start_pad + 528 + 1;
+av_log(s, AV_LOG_DEBUG, "pad %d %d\n", mp3->start_pad, mp3->end_pad);
+if (!s->pb->seekable)
+return;
+
+*size = (unsigned int) last_eight_frames_offset;
+avio_seek(s->pb, base + vbrtag_size + last_eight_frames_offset, SEEK_SET);
+for (i = 0; i < 8; i++) {
+v = avio_rb32(s->pb);
+if (ff_mpa_check_header(v) < 0)
+return;
+if (avpriv_mpegaudio_decode_header(c, v) != 0)
+break;
+*size += c->frame_size;
+avio_skip(s->pb, c->frame_size - 4);
+}
+}
+
 /**
  * Try to find Xing/Info/VBRI tags and compute duration from info therein
  */
@@ -303,8 +350,10 @@ static int mp3_parse_vbr_tags(AVFormatContext *s, AVStream 
*st, int64_t base)
 uint32_t v, spf;
 MPADecodeHeader c;
 int vbrtag_size = 0;
+unsigned int size = 0;
 MP3DecContext *mp3 = s->priv_data;
 int ret;
+uint64_t duration = 0;
 
 ffio_init_checksum(s->pb, ff_crcA001_update, 0);
 
@@ -327,16 +376,29 @@ static int mp3_parse_vbr_tags(AVFormatContext *s, 
AVStream *st, int64_t base)
 mp3_parse_vbri_tag(s, st, base);
 
 if (!mp3->frames && !mp3->header_filesize)
+vbrtag_size = 0;
+
+mp3_parse_itunes_tag(s, st, &c, base, vbrtag_size, &size, &duration);
+
+if (!mp3->frames && !size && !duration)
 return -1;
 
 /* Skip the vbr tag frame */
 avio_seek(s->pb, base + vbrtag_size, SEEK_SET);
 
-if (mp3->frames)
+if (duration)
+st->duration = av_rescale_q(duration, (AVRational){1, c.sample_rate}, 
st->time_base);
+else if (mp3->frames)
 st->duration = av_rescale_q(mp3->frames, (AVRational){spf, 
c.sample_rate},
 st->time_base);
 if (mp3->header_filesize && mp3->frames && !mp3->is_cbr)
 st->codecpar->bit_rate = av_rescale(mp3->header_filesize, 8 * 
c.sample_rate, mp3->frames * (int64_t)spf);
+if (size) {
+if (duration)
+st->codecpar->bit_rate = av_rescale(size, 8 * c.sample_rate, 
duration);
+else if (mp3->frames)
+st->codecpar->bit_rate = av_rescale(size, 8 * c.sample_rate, 
mp3->frames * (int64_t)spf);
+}
 
 return 0;
 }
-- 
2.7.4 (Apple Git-66)

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


Re: [FFmpeg-devel] [PATCH 1/2] avformat: read id3v2 comment tags

2016-07-22 Thread Christopher Snowhill
Sorry for the noise, I made some poor assumptions. First, I wasn’t really 
paying attention when it mentioned the whitespace errors on apply, and didn’t 
correct them the first time. Second, I didn’t realize that it would ignore my 
—subject directive when sending the revised first patch. Now I learn that there 
is an —annotate switch. More knowledge for the future.

The second patch depends on the first, since the relevant metadata is in a COMM 
frame.


signature.asc
Description: Message signed with OpenPGP using GPGMail
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/2] avformat: read id3v2 comment tags

2016-07-22 Thread kode54
From: Chris Moeller 

---
 libavformat/id3v2.c | 44 
 1 file changed, 44 insertions(+)

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 46b9394..c38c610 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -400,6 +400,47 @@ error:
 }
 
 /**
+ * Parse a comment tag.
+ */
+static void read_comm(AVFormatContext *s, AVIOContext *pb, int taglen,
+  AVDictionary **metadata)
+{
+const char *key = "comment";
+uint8_t *dst;
+int encoding, dict_flags = AV_DICT_DONT_OVERWRITE | 
AV_DICT_DONT_STRDUP_VAL;
+int language;
+
+if (taglen < 4)
+return;
+
+encoding = avio_r8(pb);
+taglen--;
+
+language = avio_rl24(pb);
+taglen -= 3;
+
+if (decode_str(s, pb, encoding, &dst, &taglen) < 0) {
+av_log(s, AV_LOG_ERROR, "Error reading comment frame, skipped\n");
+return;
+}
+
+if (dst && dst[0]) {
+key = (const char *) dst;
+dict_flags |= AV_DICT_DONT_STRDUP_KEY;
+}
+
+if (decode_str(s, pb, encoding, &dst, &taglen) < 0) {
+av_log(s, AV_LOG_ERROR, "Error reading comment frame, skipped\n");
+if (dict_flags & AV_DICT_DONT_STRDUP_KEY)
+av_freep((void*)&key);
+return;
+}
+
+if (dst)
+av_dict_set(metadata, key, (const char *) dst, dict_flags);
+}
+
+/**
  * Parse GEOB tag into a ID3v2ExtraMetaGEOB struct.
  */
 static void read_geobtag(AVFormatContext *s, AVIOContext *pb, int taglen,
@@ -905,6 +946,9 @@ static void id3v2_parse(AVIOContext *pb, AVDictionary 
**metadata,
 
 av_log(s, AV_LOG_WARNING, "Skipping %s ID3v2 frame %s.\n", type, 
tag);
 avio_skip(pb, tlen);
+/* check for comment frame */
+} else if (!memcmp(tag, "COMM", 4)) {
+read_comm(s, pbx, tlen, metadata);
 /* check for text tag or supported special meta tag */
 } else if (tag[0] == 'T' ||
!memcmp(tag, "USLT", 4) ||
-- 
2.7.4 (Apple Git-66)

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


Re: [FFmpeg-devel] [PATCH 2/2] doc/examples/muxing: Fix packet duration

2016-07-22 Thread Gonzalo



El 21/07/16 a las 20:02, Michael Niedermayer escribió:

On Sun, Jul 17, 2016 at 04:10:39AM +0200, Michael Niedermayer wrote:

Set needed fields in st->codec

Fixes Ticket5684

Signed-off-by: Michael Niedermayer 

nevcairiel can you comment on this ?
is this ok or should i add teh fields to codecpar or do you see some
other solution ?

[...]
Ping.  Can you CC nevcairiel, as he may not read this?  The problem 
right now is that ffmpeg has an api that cannot work without deprecated 
warnings.


--
Gonzalo Garramuño
ggarr...@gmail.com

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


Re: [FFmpeg-devel] [PATCH v5 1/2] ffmpeg.c: copy video profile when using stream_copy

2016-07-22 Thread Michael Niedermayer
On Fri, Jul 22, 2016 at 01:30:14PM -0700, Mark Reid wrote:
> ---
>  ffmpeg.c | 1 +
>  1 file changed, 1 insertion(+)

applied

thanks

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

During times of universal deceit, telling the truth becomes a
revolutionary act. -- George Orwell


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


Re: [FFmpeg-devel] [PATCH 1/2] avformat: read id3v2 comment tags

2016-07-22 Thread Josh de Kock
On Sat, Jul 23, 2016, at 01:59 AM, kod...@gmail.com wrote:
> [...]
>  
>  /**
> + * Parse a comment tag.
> + */
> +static void read_comm(AVFormatContext *s, AVIOContext *pb, int taglen,
> +  AVDictionary **metadata)
This should probably be `read_comment`, it's not too long of a
function name, and `read_comm` sounds a little ambiguous.

> +{
> +const char *key = "comment";
> +uint8_t *dst;
> +int encoding, dict_flags = AV_DICT_DONT_OVERWRITE |
> AV_DICT_DONT_STRDUP_VAL;
> +int language;
> +
> +if (taglen < 4)
> +return;
> +
> +encoding = avio_r8(pb);
> +taglen--;
> +
> +language = avio_rl24(pb);
> +taglen -= 3;
Unless you intend to do checking of `encoding`/`language`, and 
proceed conditionally, this should probably combine both `taglen` 
statements. E.g.

encoding = avio_r8(pb);
language = avio_rl24(pb);
tagline -= 4;

> [...]

As far I can tell, that's it for this patch (someone else might
have some more comments).

--
Josh

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


Re: [FFmpeg-devel] ffprobe missing string in code

2016-07-22 Thread Dmitry Vagin
Hi Michael,

sorry for my mistake, updated patch in attachment.


21.07.2016, 22:01, "Michael Niedermayer" :
> On Fri, Jul 15, 2016 at 09:02:09AM +0300, Dmitry Vagin wrote:
>>  Hello, FFmpeg-devel!
>>
>>  ffprobe not show tags when set only '-show_entries programs'
>>
>>  Patch in attachment.
>>
>>  /Dmitry
>
>>   ffprobe.c | 1 +
>>   1 file changed, 1 insertion(+)
>>  bd733fe54031475470a40316396028bb91b735e2 patch-ffprobe.c
>>  --- ffprobe.c.orig 2016-04-29 17:08:17.0 +0500
>>  +++ ffprobe.c 2016-07-15 10:30:37.701155000 +0500
>>  @@ -3178,6 +3178,7 @@
>>   SET_DO_SHOW(FRAME_TAGS, frame_tags);
>>   SET_DO_SHOW(PROGRAM_TAGS, program_tags);
>>   SET_DO_SHOW(STREAM_TAGS, stream_tags);
>>  + SET_DO_SHOW(PROGRAM_STREAM_TAGS, stream_tags);
>
> this patch is not against git master
>
> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> The bravest are surely those who have the clearest vision
> of what is before them, glory and danger alike, and yet
> notwithstanding go out to meet it. -- Thucydides

/Dmitry
--- ffprobe.c.orig	2016-07-22 10:47:15.0 +0500
+++ ffprobe.c	2016-07-22 10:48:48.560774000 +0500
@@ -3277,6 +3277,7 @@
 SET_DO_SHOW(FRAME_TAGS, frame_tags);
 SET_DO_SHOW(PROGRAM_TAGS, program_tags);
 SET_DO_SHOW(STREAM_TAGS, stream_tags);
+SET_DO_SHOW(PROGRAM_STREAM_TAGS, stream_tags);
 SET_DO_SHOW(PACKET_TAGS, packet_tags);
 
 if (do_bitexact && (do_show_program_version || do_show_library_versions)) {
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] configure: fix checking libopenjpeg on win32

2016-07-22 Thread Aleksey Vasenev
On win32 libopenjpeg use __stdcall calling convention and linker can't find
forward declared function: int opj_version()

Signed-off-by: Aleksey Vasenev 
---
 configure | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configure b/configure
index 1b41303..fc2416c 100755
--- a/configure
+++ b/configure
@@ -5681,10 +5681,10 @@ enabled libopencv && { check_header 
opencv2/core/core_c.h &&
  require opencv opencv2/core/core_c.h 
cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
require_pkg_config opencv opencv/cxcore.h 
cvCreateImageHeader; }
 enabled libopenh264   && require_pkg_config openh264 wels/codec_api.h 
WelsGetCodecVersion
-enabled libopenjpeg   && { check_lib openjpeg-2.1/openjpeg.h opj_version 
-lopenjp2 -DOPJ_STATIC ||
-   check_lib openjpeg-2.0/openjpeg.h opj_version 
-lopenjp2 -DOPJ_STATIC ||
-   check_lib openjpeg-1.5/openjpeg.h opj_version 
-lopenjpeg -DOPJ_STATIC ||
-   check_lib openjpeg.h opj_version -lopenjpeg 
-DOPJ_STATIC ||
+enabled libopenjpeg   && { check_lib2 openjpeg-2.1/openjpeg.h opj_version 
-lopenjp2 -DOPJ_STATIC ||
+   check_lib2 openjpeg-2.0/openjpeg.h opj_version 
-lopenjp2 -DOPJ_STATIC ||
+   check_lib2 openjpeg-1.5/openjpeg.h opj_version 
-lopenjpeg -DOPJ_STATIC ||
+   check_lib2 openjpeg.h opj_version -lopenjpeg 
-DOPJ_STATIC ||
die "ERROR: libopenjpeg not found"; }
 enabled libopenmpt&& require_pkg_config "libopenmpt >= 0.2.6557" 
libopenmpt/libopenmpt.h openmpt_module_create
 enabled libopus   && require_pkg_config opus opus_multistream.h 
opus_multistream_decoder_create
-- 
2.9.0.windows.1

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


[FFmpeg-devel] [PATCH] avformat/matroskadec: return AVERROR(EIO) rather than AVERROR_EOF on parse error

2016-07-22 Thread Sophia Wang
Signed-off-by: Sophia Wang 
---
 libavformat/matroskadec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index f3d701f..c536605 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -3323,7 +3323,7 @@ static int matroska_read_packet(AVFormatContext *s, 
AVPacket *pkt)
 while (matroska_deliver_packet(matroska, pkt)) {
 int64_t pos = avio_tell(matroska->ctx->pb);
 if (matroska->done)
-return AVERROR_EOF;
+return avio_feof(s->pb) ? AVERROR_EOF : AVERROR(EIO);
 if (matroska_parse_cluster(matroska) < 0)
 matroska_resync(matroska, pos);
 }
-- 
2.8.0.rc3.226.g39d4020

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


[FFmpeg-devel] Questions about Video Memory in qsv decoders

2016-07-22 Thread ??????
Dear all,


I have a question when learning ffmpeg qsv decoder and Intel media sdk.


The intel media sdk suggest to use Video Memory while doing Hardware decoding, 
use System Memory while doing Software decoding.


FFmpeg only used System Memory to decode with qsv (Intel msdk) in file 
libavcodec/qsvdec.c. Is there any problem when use Video Memory? 


Actually, I am trying to add Video Memory to FFmpeg qsv. But too many problems. 
Is there any one can give me some instruction?


Best Wishes,


Yuxiao Zhang


--
Yuxiao Zhang
PHD candidate
National Lab for Superconductivity
Institute of Physics, Chinese Academy of Sciences (IOP,CAS)
Address: No.8 3rd South Street, Zhongguancun, Haidian District, P. O. Box 603, 
Beijing, 100190, China
Email: octopus...@gmail.com  y.x.zh...@hotmail.com. 
Phone:+86 15201306254
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Avoid sending packets to network when multicast ttl is 0 in udp

2016-07-22 Thread Omid Ghaffarinia
I'm sorry for that, it failed because it was prepared for release/2.8,
this one should work on master.


On Thu, Jul 21, 2016 at 3:48 AM, Michael Niedermayer
 wrote:
> On Wed, Jul 20, 2016 at 05:38:10PM +0430, Omid Ghaffarinia wrote:
>> Thanks for testing in mingw
>> New patch attached, which should work now.
>
> still fails, even on ubuntu:
> libavformat/udp.c: In function ‘udp_set_multicast_ttl’:
> libavformat/udp.c:367:13: warning: passing argument 1 of ‘udp_set_url’ from 
> incompatible pointer type [enabled by default]
> libavformat/udp.c:328:12: note: expected ‘struct URLContext *’ but argument 
> is of type ‘struct sockaddr_storage *’
> libavformat/udp.c:367:13: warning: passing argument 2 of ‘udp_set_url’ from 
> incompatible pointer type [enabled by default]
> libavformat/udp.c:328:12: note: expected ‘struct sockaddr_storage *’ but 
> argument is of type ‘const char *’
> libavformat/udp.c:367:13: error: too few arguments to function ‘udp_set_url’
> libavformat/udp.c:328:12: note: declared here
> libavformat/udp.c:376:13: warning: passing argument 1 of ‘udp_set_url’ from 
> incompatible pointer type [enabled by default]
> libavformat/udp.c:328:12: note: expected ‘struct URLContext *’ but argument 
> is of type ‘struct sockaddr_storage *’
> libavformat/udp.c:376:13: warning: passing argument 2 of ‘udp_set_url’ from 
> incompatible pointer type [enabled by default]
> libavformat/udp.c:328:12: note: expected ‘struct sockaddr_storage *’ but 
> argument is of type ‘const char *’
> libavformat/udp.c:376:13: error: too few arguments to function ‘udp_set_url’
> libavformat/udp.c:328:12: note: declared here
> libavformat/udp.c: In function ‘udp_open’:
> libavformat/udp.c:907:17: warning: passing argument 1 of ‘udp_set_url’ from 
> incompatible pointer type [enabled by default]
> libavformat/udp.c:328:12: note: expected ‘struct URLContext *’ but argument 
> is of type ‘struct sockaddr_storage *’
> libavformat/udp.c:907:17: warning: passing argument 2 of ‘udp_set_url’ from 
> incompatible pointer type [enabled by default]
> libavformat/udp.c:328:12: note: expected ‘struct sockaddr_storage *’ but 
> argument is of type ‘const char *’
> libavformat/udp.c:907:17: error: too few arguments to function ‘udp_set_url’
> libavformat/udp.c:328:12: note: declared here
>
>
> on mingw64:
> CC  libavformat/udp.o
> src/libavformat/udp.c: In function ‘udp_set_multicast_ttl’:
> src/libavformat/udp.c:367:13: warning: passing argument 1 of ‘udp_set_url’ 
> from incompatible pointer type [enabled by default]
> src/libavformat/udp.c:328:12: note: expected ‘struct URLContext *’ but 
> argument is of type ‘struct sockaddr_storage *’
> src/libavformat/udp.c:367:13: warning: passing argument 2 of ‘udp_set_url’ 
> from incompatible pointer type [enabled by default]
> src/libavformat/udp.c:328:12: note: expected ‘struct sockaddr_storage *’ but 
> argument is of type ‘const char *’
> src/libavformat/udp.c:367:13: error: too few arguments to function 
> ‘udp_set_url’
> src/libavformat/udp.c:328:12: note: declared here
> src/libavformat/udp.c:376:13: warning: passing argument 1 of ‘udp_set_url’ 
> from incompatible pointer type [enabled by default]
> src/libavformat/udp.c:328:12: note: expected ‘struct URLContext *’ but 
> argument is of type ‘struct sockaddr_storage *’
> src/libavformat/udp.c:376:13: warning: passing argument 2 of ‘udp_set_url’ 
> from incompatible pointer type [enabled by default]
> src/libavformat/udp.c:328:12: note: expected ‘struct sockaddr_storage *’ but 
> argument is of type ‘const char *’
> src/libavformat/udp.c:376:13: error: too few arguments to function 
> ‘udp_set_url’
> src/libavformat/udp.c:328:12: note: declared here
> src/libavformat/udp.c: In function ‘udp_open’:
> src/libavformat/udp.c:907:17: warning: passing argument 1 of ‘udp_set_url’ 
> from incompatible pointer type [enabled by default]
> src/libavformat/udp.c:328:12: note: expected ‘struct URLContext *’ but 
> argument is of type ‘struct sockaddr_storage *’
> src/libavformat/udp.c:907:17: warning: passing argument 2 of ‘udp_set_url’ 
> from incompatible pointer type [enabled by default]
> src/libavformat/udp.c:328:12: note: expected ‘struct sockaddr_storage *’ but 
> argument is of type ‘const char *’
> src/libavformat/udp.c:907:17: error: too few arguments to function 
> ‘udp_set_url’
> src/libavformat/udp.c:328:12: note: declared here
> make: *** [libavformat/udp.o] Error 1
> make: Target `all' not remade because of errors.
>
> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> When the tyrant has disposed of foreign enemies by conquest or treaty, and
> there is nothing more to fear from them, then he is always stirring up
> some war or other, in order that the people may require a leader. -- Plato
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
From f29e67b5702fbc6330127c7f9b57668d4e048473 Mon S