Hi > +void convert_to_annexb(unsigned char * dest, unsigned long > data_size) > +{ > + unsigned char *current = dest; > + union > + { > + unsigned char by4[4]; > + uint32_t length; > + } union_u32_byte; > + > + while ((dest + data_size) > (current + 4)) > + { > + if((current[0] == 0) && > + (current[1] == 0) && > + (current[2] == 0) && > + (current[3] == 1)) > + { > + // in case it is already in annex B > + break; > + } > + > + union_u32_byte.by4[3] = current[0]; > + union_u32_byte.by4[2] = current[1]; > + union_u32_byte.by4[1] = current[2]; > + union_u32_byte.by4[0] = current[3];
This won't work on certain machines. Type punning is also undefined if memory serves me right, and may not work right in all compilers. Definitely not recommended. There are macros in FFmpeg for this already (AV_RL32 and friends) > +#ifdef _WIN32 > + lib_handle = dlopen("mvM264Ffmpeg.dll", RTLD_LAZY); > +#else > + lib_handle = dlopen("libmvM264Ffmpeg.so", RTLD_LAZY); > +#endif I believe FFmpeg has policy specifically against stuff like this. Link the dynamic library properly, and put appropriate license stuff in configure. The resulting ffmpeg binaries will more than likely not be redistributable, libav* might also be depending on what the Matrox library's license is. > + printf("m264_encode_init_h264: avctx->width = %d\n", avctx->width); > + printf("m264_encode_init_h264: avctx->height = %d\n", avctx->height); > + printf("m264_encode_init_h264: avctx->framerate.num = %d\n", > avctx->framerate.num); > + printf("m264_encode_init_h264: avctx->framerate.den = %d\n", > avctx->framerate.den); > + printf("m264_encode_init_h264: avctx->gop_size = %d\n", avctx->gop_size); > + printf("m264_encode_init_h264: avctx->bit_rate = %" PRId64 "\n", > avctx->bit_rate); Forgotten debug stuff? printf() is definitely not OK There are other issues with this patch, but there's no point in looking more for now /Tomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel