On Sat, 3 Jul 2021, Tomas Härdin wrote:
lör 2021-07-03 klockan 15:13 +0200 skrev emco...@ffastrans.com:
Unfortunately the wetransfer link for the fate samples expired, so i
thought it might be a good idea to resend it as link to gdrive:
https://drive.google.com/file/d/1yXTdS9RfOsduzg49vBLEshdmIzdaVQfd/view?usp=sharing
Also attached the 2 patches: 1 from cus for mxfdec.c and one from myself
for the corresponding fate samples.
After applying the mxfdec.c patch, fate will pass with the currently
existing tests but the files in the zip must be uploaded to the fate
suite before applying my corresponding patch of course (otherwise the
files don't exist).
It would be cool if someone found the time and wants to apply this.
The patch works (except for the samples not being in FATE)
Actually I found one file where the packetization behaviour changes,
because after the patch a fake index is generated based of the now
recognized duration:
samples/MXF/freemxf/freeMXF-mxf-dv-1.mxf
but I guess the file is wrong because clip wrapped UL is used when the
file seems frame wrapped instead?
+ // Index Table is special because it might be added manually without
+ // partition and we iterate thorugh all instances of them. Also some files
+ // use the same Instance UID for different index tables...
+ if (type != IndexTableSegment) {
+ for (int i = 0; i < mxf->metadata_sets_count; i++) {
+ if (!memcmp((*metadata_set)->uid, mxf->metadata_sets[i]->uid, 16) &&
type == mxf->metadata_sets[i]->type) {
+ MXFPartition *old_p = mxf->metadata_sets[i]->partition;
+ int old_s = partition_score(old_p);
+ int new_s = partition_score(new_p);
+ if (old_s > new_s || old_s == new_s && old_p->this_partition >
new_p->this_partition) {
+ mxf_free_metadataset(metadata_set, 1);
+ return 0;
This seems asymmetric. Shouldn't this also delete metadata sets that
metadata_set scores higher than?
I was uneasy about deleting existing metadata sets because I thought
various MXF structs might already have pointers to existing metadata sets,
or some allocated members of existing metadata sets. On the other hand,
when adding a new set, we can free it without the risk of having refences
to it.
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".