|
|
|
@ -50,6 +50,7 @@ typedef struct DVprofile { |
|
|
|
|
const uint16_t *video_place; /* positions of all DV macro blocks */ |
|
|
|
|
enum PixelFormat pix_fmt; /* picture pixel format */ |
|
|
|
|
int bpm; /* blocks per macroblock */ |
|
|
|
|
const uint8_t *block_sizes; /* AC block sizes, in bits */ |
|
|
|
|
int audio_stride; /* size of audio_shuffle table */ |
|
|
|
|
int audio_min_samples[3];/* min ammount of audio samples */ |
|
|
|
|
/* for 48Khz, 44.1Khz and 32Khz */ |
|
|
|
@ -2521,6 +2522,15 @@ static const av_unused int dv_audio_frequency[3] = { |
|
|
|
|
48000, 44100, 32000, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/* macroblock bit budgets */ |
|
|
|
|
static const uint8_t block_sizes_dv2550[8] = { |
|
|
|
|
112, 112, 112, 112, 80, 80, 0, 0, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const uint8_t block_sizes_dv100[8] = { |
|
|
|
|
80, 80, 80, 80, 80, 80, 64, 64, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const DVprofile dv_profiles[] = { |
|
|
|
|
{ .dsf = 0, |
|
|
|
|
.frame_size = 120000, /* IEC 61834, SMPTE-314M - 525/60 (NTSC) */ |
|
|
|
@ -2535,6 +2545,7 @@ static const DVprofile dv_profiles[] = { |
|
|
|
|
.video_place = dv_place_411, |
|
|
|
|
.pix_fmt = PIX_FMT_YUV411P, |
|
|
|
|
.bpm = 6, |
|
|
|
|
.block_sizes = block_sizes_dv2550, |
|
|
|
|
.audio_stride = 90, |
|
|
|
|
.audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32Khz */ |
|
|
|
|
.audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */ |
|
|
|
@ -2553,6 +2564,7 @@ static const DVprofile dv_profiles[] = { |
|
|
|
|
.video_place = dv_place_420, |
|
|
|
|
.pix_fmt = PIX_FMT_YUV420P, |
|
|
|
|
.bpm = 6, |
|
|
|
|
.block_sizes = block_sizes_dv2550, |
|
|
|
|
.audio_stride = 108, |
|
|
|
|
.audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32Khz */ |
|
|
|
|
.audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
|
|
|
@ -2571,6 +2583,7 @@ static const DVprofile dv_profiles[] = { |
|
|
|
|
.video_place = dv_place_411P, |
|
|
|
|
.pix_fmt = PIX_FMT_YUV411P, |
|
|
|
|
.bpm = 6, |
|
|
|
|
.block_sizes = block_sizes_dv2550, |
|
|
|
|
.audio_stride = 108, |
|
|
|
|
.audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32Khz */ |
|
|
|
|
.audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
|
|
|
@ -2589,6 +2602,7 @@ static const DVprofile dv_profiles[] = { |
|
|
|
|
.video_place = dv_place_422_525, |
|
|
|
|
.pix_fmt = PIX_FMT_YUV422P, |
|
|
|
|
.bpm = 6, |
|
|
|
|
.block_sizes = block_sizes_dv2550, |
|
|
|
|
.audio_stride = 90, |
|
|
|
|
.audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32Khz */ |
|
|
|
|
.audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */ |
|
|
|
@ -2607,6 +2621,7 @@ static const DVprofile dv_profiles[] = { |
|
|
|
|
.video_place = dv_place_422_625, |
|
|
|
|
.pix_fmt = PIX_FMT_YUV422P, |
|
|
|
|
.bpm = 6, |
|
|
|
|
.block_sizes = block_sizes_dv2550, |
|
|
|
|
.audio_stride = 108, |
|
|
|
|
.audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32Khz */ |
|
|
|
|
.audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 }, |
|
|
|
|