Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-29 Thread Michael Niedermayer
On Wed, Oct 29, 2014 at 10:27:25AM +0100, tomas.har...@codemill.se wrote:
> On 2014-10-28 23:38, Thomas Mundt wrote:
> >Carl Eugen, I changed the indentations and attached a unified diff.
> >Since I´m on windows I used turtoise git. I hope that´s okay.
> >
> >Regards,
> >Thomas
> 
> Looks good to me

applied

thanks

[...]
-- 
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] avformat/mxfenc: AVC Intra support

2014-10-29 Thread tomas . hardin

On 2014-10-28 23:38, Thomas Mundt wrote:

Carl Eugen, I changed the indentations and attached a unified diff.
Since I´m on windows I used turtoise git. I hope that´s okay.

Regards,
Thomas


Looks good to me

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


Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-28 Thread Thomas Mundt
Carl Eugen, I changed the indentations and attached a unified diff. Since I´m 
on windows I used turtoise git. I hope that´s okay.

Regards,
Thomas

avci_mxf.diff
Description: Binary data
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-28 Thread Thomas Mundt

Okay. I will do so next patch.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-28 Thread Carl Eugen Hoyos
On Tuesday 28 October 2014 03:36:05 pm Thomas Mundt wrote:
> -mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8+5);
> -// bit rate
> -mxf_write_local_tag(pb, 4, 0x8000);
> -avio_wb32(pb, sc->video_bit_rate);
> -
> -// profile and level
> -mxf_write_local_tag(pb, 1, 0x8007);
> -if (!st->codec->profile)
> -profile_and_level |= 0x80; // escape bit
> -avio_w8(pb, profile_and_level);

It makes reviewing your patch much easier if you do not re-indent 
these lines: Just leave them unchanged, consider sending a 
followup to fix the indentation.
(Or leave it to the committer.)

> +}
> +else
> +mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 0);

While here, please make this:
} else {
mxf_write_cdci_common(=;
}
to follow the preferred coding style.

And please consider to commit your patch locally, create a 
patchfile with "git format-patch HEAD^" and attach it to your 
mail.

Thank you, Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-28 Thread Thomas Mundt
I´m not happy with the for-loop I coded yesterday night, so I made a new patch.

Regards,
Thomas


--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -42,6 +42,8 @@
 #include "libavutil/time_internal.h"
 #include "libavcodec/bytestream.h"
 #include "libavcodec/dnxhddata.h"
+#include "libavcodec/h264.h"
+#include "libavcodec/internal.h"
 #include "audiointerleave.h"
 #include "avformat.h"
 #include "avio_internal.h"
@@ -98,6 +100,7 @@
 { AV_CODEC_ID_DVVIDEO,   15 },
 { AV_CODEC_ID_DNXHD, 24 },
 { AV_CODEC_ID_JPEG2000,  34 },
+{ AV_CODEC_ID_H264,  35 },
 { AV_CODEC_ID_NONE }
 };
 
@@ -274,6 +277,11 @@
   { 
0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0d,0x01,0x03,0x01,0x15,0x01,0x08,0x00 
},
   { 
0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x04,0x01,0x02,0x02,0x03,0x01,0x01,0x00 
},
   mxf_write_cdci_desc },
+// H.264
+{ { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x0D,0x01,0x03,0x01,0x02,0x10,0x60,0x01 
},
+  { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x15,0x01,0x05,0x00 
},
+  { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x00,0x00,0x00 
},
+  mxf_write_mpegvideo_desc },
 { { 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
},
   { 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
},
   { 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
},
@@ -989,17 +997,21 @@
 MXFStreamContext *sc = st->priv_data;
 int profile_and_level = (st->codec->profile<<4) | st->codec->level;
 
-mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8+5);
+if (st->codec->codec_id != AV_CODEC_ID_H264) {
+mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8+5);
 
-// bit rate
-mxf_write_local_tag(pb, 4, 0x8000);
-avio_wb32(pb, sc->video_bit_rate);
-
-// profile and level
-mxf_write_local_tag(pb, 1, 0x8007);
-if (!st->codec->profile)
-profile_and_level |= 0x80; // escape bit
-avio_w8(pb, profile_and_level);
+// bit rate
+mxf_write_local_tag(pb, 4, 0x8000);
+avio_wb32(pb, sc->video_bit_rate);
+
+// profile and level
+mxf_write_local_tag(pb, 1, 0x8007);
+if (!st->codec->profile)
+profile_and_level |= 0x80; // escape bit
+avio_w8(pb, profile_and_level);
+}
+else
+mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 0);
 }
 
 static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, 
const UID key, unsigned size)
@@ -1572,6 +1584,96 @@
 return 1;
 }
 
+static const struct {
+UID uid;
+int frame_size;
+int profile;
+uint8_t interlaced;
+} mxf_h264_codec_uls[] = {
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x20,0x01 
},  0, 110, 0 }, // AVC High 10 Intra
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x01 
}, 232960,   0, 1 }, // AVC Intra 50 1080i60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x02 
}, 281088,   0, 1 }, // AVC Intra 50 1080i50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x03 
}, 232960,   0, 0 }, // AVC Intra 50 1080p30
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x04 
}, 281088,   0, 0 }, // AVC Intra 50 1080p25
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x08 
}, 116736,   0, 0 }, // AVC Intra 50 720p60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x09 
}, 140800,   0, 0 }, // AVC Intra 50 720p50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x30,0x01 
},  0, 122, 0 }, // AVC High 422 Intra
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x01 
}, 472576,   0, 1 }, // AVC Intra 100 1080i60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x02 
}, 568832,   0, 1 }, // AVC Intra 100 1080i50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x03 
}, 472576,   0, 0 }, // AVC Intra 100 1080p30
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x04 
}, 568832,   0, 0 }, // AVC Intra 100 1080p25
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x08 
}, 236544,   0, 0 }, // AVC Intra 100 720p60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x09 
}, 284672,   0, 0 }, // AVC Intra 100 720p50
+};
+
+static int mxf_parse_h264_frame(AVFormatContext *s, AVStream *st,
+AVPacket *pkt, MXFIndexEntry *e)
+{
+MXFContext *mxf = s->priv_data;
+MXFStreamContext *sc = st->priv_data;
+static const int mxf_h264_num_codec_uls = 
sizeof(mxf_h264_codec_uls)/sizeof(mxf_h264_codec_uls[0]);

Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-27 Thread Thomas Mundt
@ Michael: Sorry, I`m subscribed now. CODEC_ID_H264 changed.

@ Kieran: Maybe this would make sense as an option. But in a future step. :-)

@ Tomas:Thanks for your suggestions!The component_depth part was taken from 
Michael´s patch last month. But it also can be changed to 10 bit fixed for AVCI.
Here is the new patch:

--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -42,6 +42,8 @@
 #include "libavutil/time_internal.h"
 #include "libavcodec/bytestream.h"
 #include "libavcodec/dnxhddata.h"
+#include "libavcodec/h264.h"
+#include "libavcodec/internal.h"
 #include "audiointerleave.h"
 #include "avformat.h"
 #include "avio_internal.h"
@@ -98,6 +100,7 @@
 { AV_CODEC_ID_DVVIDEO,   15 },
 { AV_CODEC_ID_DNXHD, 24 },
 { AV_CODEC_ID_JPEG2000,  34 },
+{ AV_CODEC_ID_H264,  35 },
 { AV_CODEC_ID_NONE }
 };
 
@@ -274,6 +277,11 @@
   { 
0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0d,0x01,0x03,0x01,0x15,0x01,0x08,0x00 
},
   { 
0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x04,0x01,0x02,0x02,0x03,0x01,0x01,0x00 
},
   mxf_write_cdci_desc },
+// H.264
+{ { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x0D,0x01,0x03,0x01,0x02,0x10,0x60,0x01 
},
+  { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x15,0x01,0x05,0x00 
},
+  { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x00,0x00,0x00 
},
+  mxf_write_mpegvideo_desc },
 { { 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
},
   { 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
},
   { 
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
},
@@ -989,17 +997,21 @@
 MXFStreamContext *sc = st->priv_data;
 int profile_and_level = (st->codec->profile<<4) | st->codec->level;
 
-mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8+5);
+if (st->codec->codec_id != AV_CODEC_ID_H264) {
+mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8+5);
 
-// bit rate
-mxf_write_local_tag(pb, 4, 0x8000);
-avio_wb32(pb, sc->video_bit_rate);
-
-// profile and level
-mxf_write_local_tag(pb, 1, 0x8007);
-if (!st->codec->profile)
-profile_and_level |= 0x80; // escape bit
-avio_w8(pb, profile_and_level);
+// bit rate
+mxf_write_local_tag(pb, 4, 0x8000);
+avio_wb32(pb, sc->video_bit_rate);
+
+// profile and level
+mxf_write_local_tag(pb, 1, 0x8007);
+if (!st->codec->profile)
+profile_and_level |= 0x80; // escape bit
+avio_w8(pb, profile_and_level);
+}
+else
+mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 0);
 }
 
 static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, 
const UID key, unsigned size)
@@ -1572,6 +1584,88 @@
 return 1;
 }
 
+static const struct {
+UID uid;
+int frame_size;
+int profile;
+uint8_t interlaced;
+} mxf_h264_codec_uls[] = {
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x01 
}, 232960,   0, 1 }, // AVC Intra 50 1080i60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x02 
}, 281088,   0, 1 }, // AVC Intra 50 1080i50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x03 
}, 232960,   0, 0 }, // AVC Intra 50 1080p30
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x04 
}, 281088,   0, 0 }, // AVC Intra 50 1080p25
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x08 
}, 116736,   0, 0 }, // AVC Intra 50 720p60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x09 
}, 140800,   0, 0 }, // AVC Intra 50 720p50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x01 
}, 472576,   0, 1 }, // AVC Intra 100 1080i60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x02 
}, 568832,   0, 1 }, // AVC Intra 100 1080i50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x03 
}, 472576,   0, 0 }, // AVC Intra 100 1080p30
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x04 
}, 568832,   0, 0 }, // AVC Intra 100 1080p25
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x08 
}, 236544,   0, 0 }, // AVC Intra 100 720p60
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x31,0x09 
}, 284672,   0, 0 }, // AVC Intra 100 720p50
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x20,0x01 
},  0, 110, 0 }, // AVC High 10 Intra
+{{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x30,0x01 
},  0, 122, 0 }, // AVC High 422 Intra
+};
+
+static int mxf_parse_h264_frame(AVFormatContext *s, AVStream *st,
+ 

Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-27 Thread Michael Niedermayer
On Mon, Oct 27, 2014 at 05:21:12PM +, Thomas Mundt wrote:
> Hi, I´ve seen that there has been approach last month to implement AVC Intra 
> mxf muxing. I tested the patches, but it didn´t work with any of my samples. 
> Since there also has been discussions about the gpl restriction, I rewrote 
> the patch. I had some basics, because I had written a working patch for 
> myself some time ago, which was more of a hack and only worked with AVCI100 
> 1080i50.
> I hope this could be licenced to lgpl, because I got all labels from libmxf 
> and libbmx and only used code snippets from avcodec/h264_parser.c
> To keep h264 parsing simple and fast, I used the framesize for selecting the 
> right Panasonic codec label. The framesize is fixed for Panasonic AVC Intra.
> 
> This patch only supports AVCI50/100. But in all flavours, i.e. with no 
> SPS/PPS in header.
> 
> http://pastebin.com/v7gF1vDq

-AVIOContext *pb = s->pb;
-MXFStreamContext *sc = st->priv_data;
-int profile_and_level = (st->codec->profile<<4) | st->codec->level;
+if (st->codec->codec_id != CODEC_ID_H264) {

this should be AV_CODEC_ID_H264

also i suggest you subscribe to the mailing list, so your mails arent
held in the moderation que and you see replies (there where several
already)

Thanks

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

What does censorship reveal? It reveals fear. -- Julian Assange


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


Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-27 Thread Kieran Kunhya
On 27 October 2014 17:21, Thomas Mundt  wrote:
> Hi, I´ve seen that there has been approach last month to implement AVC Intra 
> mxf muxing. I tested the patches, but it didn´t work with any of my samples. 
> Since there also has been discussions about the gpl restriction, I rewrote 
> the patch. I had some basics, because I had written a working patch for 
> myself some time ago, which was more of a hack and only worked with AVCI100 
> 1080i50.

Hi,

I'm wondering whether you should add headers yourself. It would of
course be nicer but does it change compatibility?

Regards,

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


Re: [FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-27 Thread Tomas Härdin
On Mon, 2014-10-27 at 17:21 +, Thomas Mundt wrote:
> Hi, I´ve seen that there has been approach last month to implement AVC Intra 
> mxf muxing. I tested the patches, but it didn´t work with any of my samples. 
> Since there also has been discussions about the gpl restriction, I rewrote 
> the patch. I had some basics, because I had written a working patch for 
> myself some time ago, which was more of a hack and only worked with AVCI100 
> 1080i50.
> I hope this could be licenced to lgpl, because I got all labels from libmxf 
> and libbmx and only used code snippets from avcodec/h264_parser.c
> To keep h264 parsing simple and fast, I used the framesize for selecting the 
> right Panasonic codec label. The framesize is fixed for Panasonic AVC Intra.
> 
> This patch only supports AVCI50/100. But in all flavours, i.e. with no 
> SPS/PPS in header.
> 
> http://pastebin.com/v7gF1vDq
> 
> Thomas

Could you rewrite it so you don't mix functional changes with
indentation changes? See mxf_write_mpegvideo_desc()
> 
> +switch (pkt->size + extrasize) {
> +case 116736: // AVCI50 720p60
> +sc->codec_ul = &mxf_h264_codec_uls[5];
> +break;
> +case 140800: // AVCI50 720p50
> +sc->codec_ul = &mxf_h264_codec_uls[6];
> +break;

The magic values here stink. You should stick them next to
mxf_h264_codec_uls, perhaps using a struct like so:

  static const struct {
  UID uid;
  int packet_size;
  int profile;
  uint8_t interlaced;
  } mxf_h264_codec_uls[] = {
  {{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x20,0x01 
}, 0,  110, 0}, // AVC Intra 50 High 10
  {{ 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x01 
}, 232960, 0,   1}, // AVC Intra 50 1080i60
  //etc etc
  };
  static const int mxf_h264_num_codec_uls = 
sizeof(mxf_h264_codec_uls)/sizeof(mxf_h264_codec_uls[0]);

Then use a little for loop in mxf_parse_h264_frame() to find the
matching entry.

> +if (desc)
> +sc->component_depth = desc->comp[0].depth_minus1 + 1;

Seems unrelated?

In general I didn't check how similar this patch is to the GPL'd
version, so I'm going to trust that this doesn't share anything (except
the ULs, which come from the standards).

/Tomas



signature.asc
Description: This is a digitally signed message part
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/mxfenc: AVC Intra support

2014-10-27 Thread Thomas Mundt
Hi, I´ve seen that there has been approach last month to implement AVC Intra 
mxf muxing. I tested the patches, but it didn´t work with any of my samples. 
Since there also has been discussions about the gpl restriction, I rewrote the 
patch. I had some basics, because I had written a working patch for myself some 
time ago, which was more of a hack and only worked with AVCI100 1080i50.
I hope this could be licenced to lgpl, because I got all labels from libmxf and 
libbmx and only used code snippets from avcodec/h264_parser.c
To keep h264 parsing simple and fast, I used the framesize for selecting the 
right Panasonic codec label. The framesize is fixed for Panasonic AVC Intra.

This patch only supports AVCI50/100. But in all flavours, i.e. with no SPS/PPS 
in header.

http://pastebin.com/v7gF1vDq

Thomas

  
 
ffmpeg avci mxf patch - Pastebin.com
--- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -40,8 +40,11 @@  
#include "libavutil/timecode.h"  #include "libavutil/avassert.h"  #include 
"libavutil/ti...  
Auf pastebin.com anzeigen Vorschau nach Yahoo  
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel