[FFmpeg-devel] [PATCH] avformat/mxfenc: Correct klv_fill_key

tim nicholson nichot20 at yahoo.com
Mon Jun 1 16:22:26 CEST 2015


On 01/06/15 15:01, Michael Niedermayer wrote:
> On Mon, Jun 01, 2015 at 07:11:38AM +0100, tim nicholson wrote:
>> On 29/05/15 23:26, Michael Niedermayer wrote:
>>> See SMPTE 377-1-2009 6.3.3 KLV Fill Items
>>>
>>> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
>>> ---
>>>  libavformat/mxfenc.c            |    2 +-
>>>  tests/ref/lavf/mxf              |    6 +++---
>>>  tests/ref/lavf/mxf_d10          |    2 +-
>>>  tests/ref/lavf/mxf_opatom       |    2 +-
>>>  tests/ref/lavf/mxf_opatom_audio |    2 +-
>>>  5 files changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
>>> index 63471e6..e0ae14e 100644
>>> --- a/libavformat/mxfenc.c
>>> +++ b/libavformat/mxfenc.c
>>> @@ -334,7 +334,7 @@ static const uint8_t index_table_segment_key[]     = { 0x06,0x0E,0x2B,0x34,0x02,
>>>  static const uint8_t random_index_pack_key[]       = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x11,0x01,0x00 };
>>>  static const uint8_t header_open_partition_key[]   = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x02,0x01,0x00 }; // OpenIncomplete
>>>  static const uint8_t header_closed_partition_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x02,0x04,0x00 }; // ClosedComplete
>>> -static const uint8_t klv_fill_key[]                = { 0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x03,0x01,0x02,0x10,0x01,0x00,0x00,0x00 };
>>> +static const uint8_t klv_fill_key[]                = { 0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x03,0x01,0x02,0x10,0x01,0x00,0x00,0x00 };
>>>  static const uint8_t body_partition_key[]          = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x03,0x04,0x00 }; // ClosedComplete
>>>  
>>>  
>>
>> I agree the registry version was incorrect,
> 
> applied
> 
> 
>> I think there are others
>> too. So LGTM.
> 
> do you know of any specific ones ?
> or just a general feeling that theres more?
> 

I think I spotted a couple of others when I was trawling through, but I
wanted to simplify the UL layout first to make it easier to spot these
anomalies.

I had in mind to do something along the lines of bmxlib using macros to
define the common first 7 byte parts according to Registry where they
are defined, then it might be easier to see some of these oddities

> also the  "MPEG video Descriptor" short thingies (0x800X) differ from
> what ive seen in other implementations but i couldnt find a
> proper reference that lists them, i wonder if someone maybe knows
> where to look?
> 

Not sure either mxf spec only uses below 7F.FF! There are also errors in
the normative table Annex H in S377, for example local tag 08.01 is
listed twice with 2 different UL's, hence tidying things up is a bit of
a 'mare.



-- 
Tim.
Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83


More information about the ffmpeg-devel mailing list