mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/mxfenc: Fix labels for IEC PAL DV 420
This commit is contained in:
parent
a56ec48d42
commit
ef973bd98d
|
@ -48,6 +48,7 @@
|
||||||
#include "libavutil/time_internal.h"
|
#include "libavutil/time_internal.h"
|
||||||
#include "libavcodec/bytestream.h"
|
#include "libavcodec/bytestream.h"
|
||||||
#include "libavcodec/dnxhddata.h"
|
#include "libavcodec/dnxhddata.h"
|
||||||
|
#include "libavcodec/dv_profile.h"
|
||||||
#include "libavcodec/h264.h"
|
#include "libavcodec/h264.h"
|
||||||
#include "libavcodec/internal.h"
|
#include "libavcodec/internal.h"
|
||||||
#include "audiointerleave.h"
|
#include "audiointerleave.h"
|
||||||
|
@ -1812,6 +1813,7 @@ static int mxf_parse_dv_frame(AVFormatContext *s, AVStream *st, AVPacket *pkt)
|
||||||
MXFStreamContext *sc = st->priv_data;
|
MXFStreamContext *sc = st->priv_data;
|
||||||
uint8_t *vs_pack, *vsc_pack;
|
uint8_t *vs_pack, *vsc_pack;
|
||||||
int i, ul_index, frame_size, stype, pal;
|
int i, ul_index, frame_size, stype, pal;
|
||||||
|
const AVDVProfile *profile;
|
||||||
|
|
||||||
if (mxf->header_written)
|
if (mxf->header_written)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1820,6 +1822,8 @@ static int mxf_parse_dv_frame(AVFormatContext *s, AVStream *st, AVPacket *pkt)
|
||||||
if (pkt->size < 120000)
|
if (pkt->size < 120000)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
profile = av_dv_frame_profile(NULL, pkt->data, pkt->size);
|
||||||
|
|
||||||
vs_pack = pkt->data + 80*5 + 48;
|
vs_pack = pkt->data + 80*5 + 48;
|
||||||
vsc_pack = pkt->data + 80*5 + 53;
|
vsc_pack = pkt->data + 80*5 + 53;
|
||||||
stype = vs_pack[3] & 0x1f;
|
stype = vs_pack[3] & 0x1f;
|
||||||
|
@ -1854,6 +1858,11 @@ static int mxf_parse_dv_frame(AVFormatContext *s, AVStream *st, AVPacket *pkt)
|
||||||
frame_size = pal ? 288000 : 240000;
|
frame_size = pal ? 288000 : 240000;
|
||||||
break;
|
break;
|
||||||
default: // DV25
|
default: // DV25
|
||||||
|
if (profile && profile->pix_fmt == AV_PIX_FMT_YUV420P && pal) {
|
||||||
|
ul_index = INDEX_DV25_525_60_IEC + pal;
|
||||||
|
frame_size = pal ? 144000 : 120000;
|
||||||
|
break;
|
||||||
|
}
|
||||||
ul_index = INDEX_DV25_525_60 + pal;
|
ul_index = INDEX_DV25_525_60 + pal;
|
||||||
frame_size = pal ? 144000 : 120000;
|
frame_size = pal ? 144000 : 120000;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
de98603ecc27c2f3cefd192d4820d3f4 *./tests/data/lavf/lavf.mxf_dv25
|
1871bd11947924116776201f24fd0adf *./tests/data/lavf/lavf.mxf_dv25
|
||||||
3833389 ./tests/data/lavf/lavf.mxf_dv25
|
3833389 ./tests/data/lavf/lavf.mxf_dv25
|
||||||
./tests/data/lavf/lavf.mxf_dv25 CRC=0xbdaf7f52
|
./tests/data/lavf/lavf.mxf_dv25 CRC=0xbdaf7f52
|
||||||
|
|
Loading…
Reference in New Issue