Originally committed as revision 15681 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
@@ -138,7 +138,7 @@ static av_cold int dvvideo_init(AVCodecContext *avctx) | |||
done = 1; | |||
/* dv_anchor lets each thread know its Id */ | |||
/* dv_anchor lets each thread know its ID */ | |||
for (i=0; i<DV_ANCHOR_SIZE; i++) | |||
dv_anchor[i] = (void*)(size_t)i; | |||
@@ -967,7 +967,7 @@ static inline void dv_encode_video_segment(DVVideoContext *s, | |||
} | |||
} | |||
/* Third and final pass over the whole vides segment space */ | |||
/* Third and final pass over the whole video segment space */ | |||
pb= &pbs[0]; | |||
for (j=0; j<5*6; j++) { | |||
if (enc_blks[j].partial_bit_count) | |||
@@ -1119,7 +1119,7 @@ static inline int dv_write_pack(enum dv_pack_type pack_id, DVVideoContext *c, ui | |||
buf[1] = 0xff; /* reserved -- always 1 */ | |||
buf[2] = (1 << 7) | /* B/W: 0 - b/w, 1 - color */ | |||
(1 << 6) | /* following CLF is valid - 0, invalid - 1 */ | |||
(3 << 4) | /* CLF: color frames id (see ITU-R BT.470-4) */ | |||
(3 << 4) | /* CLF: color frames ID (see ITU-R BT.470-4) */ | |||
0xf; /* reserved -- always 1 */ | |||
buf[3] = (3 << 6) | /* reserved -- always 1 */ | |||
(c->sys->dsf << 5) | /* system: 60fields/50fields */ | |||
@@ -1131,9 +1131,9 @@ static inline int dv_write_pack(enum dv_pack_type pack_id, DVVideoContext *c, ui | |||
0x3f; /* reserved -- always 1 */ | |||
buf[2] = 0xc8 | /* reserved -- always b11001xxx */ | |||
aspect; | |||
buf[3] = (1 << 7) | /* Frame/field flag 1 -- frame, 0 -- field */ | |||
(1 << 6) | /* First/second field flag 0 -- field 2, 1 -- field 1 */ | |||
(1 << 5) | /* Frame change flag 0 -- same picture as before, 1 -- different */ | |||
buf[3] = (1 << 7) | /* frame/field flag 1 -- frame, 0 -- field */ | |||
(1 << 6) | /* first/second field flag 0 -- field 2, 1 -- field 1 */ | |||
(1 << 5) | /* frame change flag 0 -- same picture as before, 1 -- different */ | |||
(1 << 4) | /* 1 - interlaced, 0 - noninterlaced */ | |||
0xc; /* reserved -- always b1100 */ | |||
buf[4] = 0xff; /* reserved -- always 1 */ | |||
@@ -1151,7 +1151,7 @@ static void dv_format_frame(DVVideoContext* c, uint8_t* buf) | |||
for (chan = 0; chan < c->sys->n_difchan; chan++) { | |||
for (i = 0; i < c->sys->difseg_size; i++) { | |||
memset(buf, 0xff, 80 * 6); /* First 6 DIF blocks are for control data */ | |||
memset(buf, 0xff, 80 * 6); /* first 6 DIF blocks are for control data */ | |||
/* DV header: 1DIF */ | |||
buf += dv_write_dif_id(dv_sect_header, chan, i, 0, buf); | |||
@@ -6073,7 +6073,7 @@ static const int dv_iweight_248[64] = { | |||
}; | |||
/** | |||
* the "inverse" DV100 weights are actually just the spec weights (zig-zagged) | |||
* The "inverse" DV100 weights are actually just the spec weights (zig-zagged). | |||
*/ | |||
static const int dv_iweight_1080_y[64] = { | |||
128, 16, 16, 17, 17, 17, 18, 18, | |||
@@ -116,12 +116,13 @@ static int dv_extract_audio(uint8_t* frame, uint8_t* ppcm[4], | |||
quant = as_pack[4] & 0x07; /* 0 - 16bit linear, 1 - 12bit nonlinear */ | |||
if (quant > 1) | |||
return -1; /* Unsupported quantization */ | |||
return -1; /* unsupported quantization */ | |||
size = (sys->audio_min_samples[freq] + smpls) * 4; /* 2ch, 2bytes */ | |||
half_ch = sys->difseg_size/2; | |||
/* We work with 720p frames split in half, thus even frames have channels 0,1 and odd 2,3 */ | |||
/* We work with 720p frames split in half, thus even frames have | |||
* channels 0,1 and odd 2,3 */ | |||
ipcm = (sys->height == 720 && !(frame[1]&0x0C))?2:0; | |||
pcm = ppcm[ipcm++]; | |||
@@ -335,7 +336,8 @@ int dv_produce_packet(DVDemuxContext *c, AVPacket *pkt, | |||
dv_extract_audio(buf, ppcm, c->sys); | |||
c->abytes += size; | |||
/* We work with 720p frames split in half, thus even frames have channels 0,1 and odd 2,3 */ | |||
/* We work with 720p frames split in half, thus even frames have | |||
* channels 0,1 and odd 2,3. */ | |||
if (c->sys->height == 720) { | |||
if (buf[1]&0x0C) | |||
c->audio_pkt[2].size = c->audio_pkt[3].size = 0; | |||
@@ -35,12 +35,12 @@ | |||
#include "libavutil/fifo.h" | |||
struct DVMuxContext { | |||
const DVprofile* sys; /* Current DV profile. E.g.: 525/60, 625/50 */ | |||
int n_ast; /* Number of stereo audio streams (up to 2) */ | |||
AVStream *ast[2]; /* Stereo audio streams */ | |||
const DVprofile* sys; /* current DV profile, e.g.: 525/60, 625/50 */ | |||
int n_ast; /* number of stereo audio streams (up to 2) */ | |||
AVStream *ast[2]; /* stereo audio streams */ | |||
AVFifoBuffer audio_data[2]; /* FIFO for storing excessive amounts of PCM */ | |||
int frames; /* Number of a current frame */ | |||
time_t start_time; /* Start time of recording */ | |||
int frames; /* current frame number */ | |||
time_t start_time; /* recording start time */ | |||
int has_audio; /* frame under contruction has audio */ | |||
int has_video; /* frame under contruction has video */ | |||
uint8_t frame_buf[DV_MAX_FRAME_SIZE]; /* frame under contruction */ | |||
@@ -85,20 +85,20 @@ static int dv_write_pack(enum dv_pack_type pack_id, DVMuxContext *c, uint8_t* bu | |||
* minute, unless it is exactly divisible by 10 | |||
*/ | |||
ltc_frame = (c->frames + 2*ct/60 - 2*ct/600) % c->sys->ltc_divisor; | |||
buf[1] = (0 << 7) | /* Color fame: 0 - unsync; 1 - sync mode */ | |||
(1 << 6) | /* Drop frame timecode: 0 - nondrop; 1 - drop */ | |||
((ltc_frame / 10) << 4) | /* Tens of frames */ | |||
(ltc_frame % 10); /* Units of frames */ | |||
buf[2] = (1 << 7) | /* Biphase mark polarity correction: 0 - even; 1 - odd */ | |||
((tc.tm_sec / 10) << 4) | /* Tens of seconds */ | |||
(tc.tm_sec % 10); /* Units of seconds */ | |||
buf[3] = (1 << 7) | /* Binary group flag BGF0 */ | |||
((tc.tm_min / 10) << 4) | /* Tens of minutes */ | |||
(tc.tm_min % 10); /* Units of minutes */ | |||
buf[4] = (1 << 7) | /* Binary group flag BGF2 */ | |||
(1 << 6) | /* Binary group flag BGF1 */ | |||
((tc.tm_hour / 10) << 4) | /* Tens of hours */ | |||
(tc.tm_hour % 10); /* Units of hours */ | |||
buf[1] = (0 << 7) | /* color frame: 0 - unsync; 1 - sync mode */ | |||
(1 << 6) | /* drop frame timecode: 0 - nondrop; 1 - drop */ | |||
((ltc_frame / 10) << 4) | /* tens of frames */ | |||
(ltc_frame % 10); /* units of frames */ | |||
buf[2] = (1 << 7) | /* biphase mark polarity correction: 0 - even; 1 - odd */ | |||
((tc.tm_sec / 10) << 4) | /* tens of seconds */ | |||
(tc.tm_sec % 10); /* units of seconds */ | |||
buf[3] = (1 << 7) | /* binary group flag BGF0 */ | |||
((tc.tm_min / 10) << 4) | /* tens of minutes */ | |||
(tc.tm_min % 10); /* units of minutes */ | |||
buf[4] = (1 << 7) | /* binary group flag BGF2 */ | |||
(1 << 6) | /* binary group flag BGF1 */ | |||
((tc.tm_hour / 10) << 4) | /* tens of hours */ | |||
(tc.tm_hour % 10); /* units of hours */ | |||
break; | |||
case dv_audio_source: /* AAUX source pack */ | |||
va_start(ap, buf); | |||