Originally committed as revision 12410 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -296,7 +296,7 @@ enum CodecID { | |||||
| CODEC_ID_SSA, | CODEC_ID_SSA, | ||||
| CODEC_ID_MOV_TEXT, | CODEC_ID_MOV_TEXT, | ||||
| /* other specific kind of codecs (generaly used for attachments) */ | |||||
| /* other specific kind of codecs (generally used for attachments) */ | |||||
| CODEC_ID_TTF= 0x18000, | CODEC_ID_TTF= 0x18000, | ||||
| CODEC_ID_MPEG2TS= 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS | CODEC_ID_MPEG2TS= 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS | ||||
| @@ -93,11 +93,14 @@ void ff_gmc_c(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, | |||||
| int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); | int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); | ||||
| /* minimum alignment rules ;) | /* minimum alignment rules ;) | ||||
| if u notice errors in the align stuff, need more alignment for some asm code for some cpu | |||||
| or need to use a function with less aligned data then send a mail to the ffmpeg-dev list, ... | |||||
| !warning these alignments might not match reallity, (missing attribute((align)) stuff somewhere possible) | |||||
| i (michael) didnt check them, these are just the alignents which i think could be reached easily ... | |||||
| If you notice errors in the align stuff, need more alignment for some ASM code | |||||
| for some CPU or need to use a function with less aligned data then send a mail | |||||
| to the ffmpeg-devel mailing list, ... | |||||
| !warning These alignments might not match reality, (missing attribute((align)) | |||||
| stuff somewhere possible). | |||||
| I (Michael) did not check them, these are just the alignments which i think | |||||
| could be reached easily ... | |||||
| !future video codecs might need functions with less strict alignment | !future video codecs might need functions with less strict alignment | ||||
| */ | */ | ||||
| @@ -425,7 +425,7 @@ int MPV_encode_init(AVCodecContext *avctx) | |||||
| } | } | ||||
| if(s->avctx->scenechange_threshold < 1000000000 && (s->flags & CODEC_FLAG_CLOSED_GOP)){ | if(s->avctx->scenechange_threshold < 1000000000 && (s->flags & CODEC_FLAG_CLOSED_GOP)){ | ||||
| av_log(avctx, AV_LOG_ERROR, "closed gop with scene change detection arent supported yet, set threshold to 1000000000\n"); | |||||
| av_log(avctx, AV_LOG_ERROR, "closed gop with scene change detection are not supported yet, set threshold to 1000000000\n"); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| @@ -197,7 +197,7 @@ int dct_quantize_altivec(MpegEncContext* s, | |||||
| // z4 = vec_add(z4, z5); // z4 += z5; | // z4 = vec_add(z4, z5); // z4 += z5; | ||||
| // z2 = MULTIPLY(z2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | // z2 = MULTIPLY(z2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | ||||
| // Wow! It's actually more effecient to roll this multiply | |||||
| // Wow! It's actually more efficient to roll this multiply | |||||
| // into the adds below, even thought the multiply gets done twice! | // into the adds below, even thought the multiply gets done twice! | ||||
| // z2 = vec_madd(z2, vec_2_562915447, (vector float)zero); | // z2 = vec_madd(z2, vec_2_562915447, (vector float)zero); | ||||
| @@ -665,9 +665,9 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) | |||||
| (c->fc->video_codec_id ? codec_get_id(codec_movvideo_tags, format) != c->fc->video_codec_id | (c->fc->video_codec_id ? codec_get_id(codec_movvideo_tags, format) != c->fc->video_codec_id | ||||
| : st->codec->codec_tag != MKTAG('j', 'p', 'e', 'g')) | : st->codec->codec_tag != MKTAG('j', 'p', 'e', 'g')) | ||||
| ){ | ){ | ||||
| /* multiple fourcc, we skip jpeg, this isnt correct, we should export it as | |||||
| seperate AVStream but this needs a few changes in the mov demuxer, patch | |||||
| welcome */ | |||||
| /* Multiple fourcc, we skip JPEG. This is not correct, we should | |||||
| * export it as a separate AVStream but this needs a few changes | |||||
| * in the MOV demuxer, patch welcome. */ | |||||
| url_fskip(pb, size - (url_ftell(pb) - start_pos)); | url_fskip(pb, size - (url_ftell(pb) - start_pos)); | ||||
| continue; | continue; | ||||
| } | } | ||||
| @@ -69,7 +69,7 @@ static int find_expected_header(AVCodecContext *c, int size, int key_frame, uint | |||||
| header |= 1<<16; //no crc | header |= 1<<16; //no crc | ||||
| AV_WB32(out, header); | AV_WB32(out, header); | ||||
| if(size <= 0) | if(size <= 0) | ||||
| return 2; //we guess theres no crc, if there is one the user clearly doesnt care about overhead | |||||
| return 2; //we guess there is no crc, if there is one the user clearly does not care about overhead | |||||
| if(bitrate_index == 30) | if(bitrate_index == 30) | ||||
| return -1; //something is wrong ... | return -1; //something is wrong ... | ||||
| @@ -78,8 +78,8 @@ static int find_expected_header(AVCodecContext *c, int size, int key_frame, uint | |||||
| header |= (bitrate_index&1)<<9; | header |= (bitrate_index&1)<<9; | ||||
| return 2; //FIXME actually put the needed ones in build_elision_headers() | return 2; //FIXME actually put the needed ones in build_elision_headers() | ||||
| return 3; //we guess that the private bit isnt set | |||||
| //FIXME the above asumtations should be checked, if these turn out false too often something should be done | |||||
| return 3; //we guess that the private bit is not set | |||||
| //FIXME the above assumptions should be checked, if these turn out false too often something should be done | |||||
| } | } | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| @@ -28,14 +28,14 @@ extern const int av_aes_size; | |||||
| struct AVAES; | struct AVAES; | ||||
| /** | /** | ||||
| * initializes an AVAES context | |||||
| * Initializes an AVAES context. | |||||
| * @param key_bits 128, 192 or 256 | * @param key_bits 128, 192 or 256 | ||||
| * @param decrypt 0 for encryption, 1 for decryption | * @param decrypt 0 for encryption, 1 for decryption | ||||
| */ | */ | ||||
| int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt); | int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt); | ||||
| /** | /** | ||||
| * encrypts / decrypts. | |||||
| * Encrypts / decrypts. | |||||
| * @param count number of 16 byte blocks | * @param count number of 16 byte blocks | ||||
| * @param dst destination array, can be equal to src | * @param dst destination array, can be equal to src | ||||
| * @param src source array, can be equal to dst | * @param src source array, can be equal to dst | ||||
| @@ -23,7 +23,7 @@ | |||||
| /** | /** | ||||
| * @file avutil.h | * @file avutil.h | ||||
| * external api header. | |||||
| * external API header | |||||
| */ | */ | ||||
| @@ -20,7 +20,7 @@ | |||||
| /** | /** | ||||
| * @file bswap.h | * @file bswap.h | ||||
| * byte swap. | |||||
| * byte swapping routines | |||||
| */ | */ | ||||
| #ifndef FFMPEG_BSWAP_H | #ifndef FFMPEG_BSWAP_H | ||||
| @@ -20,7 +20,7 @@ | |||||
| /** | /** | ||||
| * @file common.h | * @file common.h | ||||
| * common internal and external api header. | |||||
| * common internal and external API header | |||||
| */ | */ | ||||
| #ifndef FFMPEG_COMMON_H | #ifndef FFMPEG_COMMON_H | ||||
| @@ -69,10 +69,10 @@ void *av_malloc(unsigned int size) | |||||
| But I don't want to code such logic here! | But I don't want to code such logic here! | ||||
| */ | */ | ||||
| /* Why 16? | /* Why 16? | ||||
| because some cpus need alignment, for example SSE2 on P4, & most RISC cpus | |||||
| Because some CPUs need alignment, for example SSE2 on P4, & most RISC CPUs | |||||
| it will just trigger an exception and the unaligned load will be done in the | it will just trigger an exception and the unaligned load will be done in the | ||||
| exception handler or it will just segfault (SSE2 on P4) | exception handler or it will just segfault (SSE2 on P4) | ||||
| Why not larger? because i didnt see a difference in benchmarks ... | |||||
| Why not larger? because i did not see a difference in benchmarks ... | |||||
| */ | */ | ||||
| /* benchmarks with p3 | /* benchmarks with p3 | ||||
| memalign(64)+1 3071,3051,3032 | memalign(64)+1 3071,3051,3032 | ||||
| @@ -24,7 +24,7 @@ | |||||
| /** | /** | ||||
| * @file postprocess.h | * @file postprocess.h | ||||
| * @brief | * @brief | ||||
| * external api for the pp stuff | |||||
| * external postprocessing API | |||||
| */ | */ | ||||
| #include "libavutil/avutil.h" | #include "libavutil/avutil.h" | ||||