Andrew, I am still testing the interlace_aspect_autodetect-11.patch (or 12, now I can not remember). I got 1 crash but I can not reproduce it yet so maybe it was there before the patch anyway. Do not waste time looking at the patch until I can confirm or deny. Thanks, Phyllis ********************************************************************** Thread 622 "ci" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffd71fc3700 (LWP 25673)] 0x0000000000b116c3 in FFMPEG::ff_video_mpeg_color_range (this=0x7ffe90006340, stream=1) at ffmpeg.C:3612 3612 return ffvideo[stream]->st->codecpar->color_range == AVCOL_RANGE_MPEG ? 1 : 0; Missing separate debuginfos, use: dnf debuginfo-install OpenEXR-libs-2.3.0-5.fc32.x86_64 alsa-lib-1.2.3.2-1.fc32.x86_64 bzip2-libs-1.0.8-2.fc32.x86_64 dbus-libs-1.12.20-1.fc32.x86_64 elfutils-libelf-0.181-1.fc32.x86_64 expat-2.2.8-2.fc32.x86_64 flac-libs-1.3.3-2.fc32.x86_64 fontconfig-2.13.92-9.fc32.x86_64 freetype-2.10.2-1.fc32.x86_64 gsm-1.0.18-6.fc32.x86_64 ilmbase-2.3.0-4.fc32.x86_64 jbigkit-libs-2.1-18.fc32.x86_64 libICE-1.0.10-3.fc32.x86_64 libSM-1.2.3-5.fc32.x86_64 libX11-1.6.12-1.fc32.x86_64 libX11-xcb-1.6.12-1.fc32.x86_64 libXau-1.0.9-3.fc32.x86_64 libXcursor-1.2.0-2.fc32.x86_64 libXdamage-1.1.5-2.fc32.x86_64 libXext-1.3.4-3.fc32.x86_64 libXfixes-5.0.3-11.fc32.x86_64 libXft-2.3.3-3.fc32.x86_64 libXi-1.7.10-3.fc32.x86_64 libXinerama-1.1.4-5.fc32.x86_64 libXrender-0.9.10-11.fc32.x86_64 libXtst-1.2.3-11.fc32.x86_64 libXv-1.0.11-11.fc32.x86_64 libXxf86vm-1.1.4-13.fc32.x86_64 libasyncns-0.8-18.fc32.x86_64 libdrm-2.4.102-1.fc32.x86_64 libedit-3.1-32.20191231cvs.fc32.x86_64 libffi-3.1-24.fc32.x86_64 libgcc-10.2.1-1.fc32.x86_64 libgcrypt-1.8.5-3.fc32.x86_64 libglvnd-1.3.2-1.fc32.x86_64 libglvnd-glx-1.3.2-1.fc32.x86_64 libgpg-error-1.36-3.fc32.x86_64 libpng-1.6.37-3.fc32.x86_64 libsndfile-1.0.28-12.fc32.x86_64 libstdc++-10.2.1-1.fc32.x86_64 libusbx-1.0.23-1.fc32.x86_64 libuuid-2.35.2-1.fc32.x86_64 libvdpau-1.4-2.fc32.x86_64 libxcb-1.13.1-4.fc32.x86_64 llvm-libs-10.0.1-4.fc32.x86_64 lz4-libs-1.9.1-2.fc32.x86_64 mesa-dri-drivers-20.1.9-1.fc32.x86_64 mesa-libGL-20.1.9-1.fc32.x86_64 mesa-libGLU-9.0.1-2.fc32.x86_64 mesa-libglapi-20.1.9-1.fc32.x86_64 numactl-libs-2.0.12-4.fc32.x86_64 pcre2-10.35-7.fc32.x86_64 pulseaudio-libs-13.99.1-4.fc32.x86_64 sssd-client-2.3.1-2.fc32.x86_64 xz-libs-5.2.5-1.fc32.x86_64 (gdb) On Wed, Nov 18, 2020 at 9:49 AM Andrew Randrianasulu via Cin < [email protected]> wrote:
So, I grep'ed ffmpeg-4.3 sources and apparently thise falgs consumed by few encoders outside of mpeg2/4:
guest@slax:/dev/shm/cinelerra/cinelerra-5.1/cinelerra$ grep 'AV_CODEC_FLAG_INTERLACED_DCT' ../thirdparty/ffmpeg-4.3/libav libavcodec/ libavdevice/ libavfilter/ libavformat/ libavresample/ libavutil/ guest@slax:/dev/shm/cinelerra/cinelerra-5.1/cinelerra$ grep 'AV_CODEC_FLAG_INTERLACED_DCT' ../thirdparty/ffmpeg-4.3/libavcodec/*.c ../thirdparty/ffmpeg-4.3/libavcodec/cuviddec.c: avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT; ../thirdparty/ffmpeg-4.3/libavcodec/cuviddec.c: avctx->flags &= ~AV_CODEC_FLAG_INTERLACED_DCT; ../thirdparty/ffmpeg-4.3/libavcodec/dnxhddata.c: interlaced == !!(avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) && ../thirdparty/ffmpeg-4.3/libavcodec/dnxhdenc.c: if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/dvenc.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/libx264.c: x4->params.b_interlaced = avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT; ../thirdparty/ffmpeg-4.3/libavcodec/libxavs.c: x4->params.b_interlaced = avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT; ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if ((s->avctx->flags & (AV_CODEC_FLAG_INTERLACED_DCT | AV_CODEC_FLAG_INTERLACED_ME)) && ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: s->progressive_sequence = !(avctx->flags & (AV_CODEC_FLAG_INTERLACED_DCT | ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/nvenc.c: if (ret < 1 && avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/nvenc.c: if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/nvenc.c: if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { ../thirdparty/ffmpeg-4.3/libavcodec/pngenc.c: s->is_progressive = !!(avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT); ../thirdparty/ffmpeg-4.3/libavcodec/proresenc_anatoliy.c: ctx->is_interlaced = !!(avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT); ../thirdparty/ffmpeg-4.3/libavcodec/proresenc_kostya.c: if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) ../thirdparty/ffmpeg-4.3/libavcodec/proresenc_kostya.c: int interlaced = !!(avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT); ../thirdparty/ffmpeg-4.3/libavcodec/qsvenc.c: if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { guest@slax:/dev/shm/cinelerra/cinelerra-5.1/cinelerra$ grep 'AV_CODEC_FLAG_INTERLACED_ME' ../thirdparty/ffmpeg-4.3/libavcodec/*.c ../thirdparty/ffmpeg-4.3/libavcodec/huffyuvenc.c: s->interlaced = avctx->flags & AV_CODEC_FLAG_INTERLACED_ME ? 1 : 0; ../thirdparty/ffmpeg-4.3/libavcodec/motion_est.c: if ((s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME) ../thirdparty/ffmpeg-4.3/libavcodec/motion_est.c: if ((s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME) ../thirdparty/ffmpeg-4.3/libavcodec/motion_est.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME) { ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo.c: (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME)) { ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if ((s->avctx->flags & (AV_CODEC_FLAG_INTERLACED_DCT | AV_CODEC_FLAG_INTERLACED_ME)) && ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: AV_CODEC_FLAG_INTERLACED_ME) || ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME) { ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME) { ../thirdparty/ffmpeg-4.3/libavcodec/mpegvideo_enc.c: if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_ME) {
So, reworked this section again ... basically only excluding mjpeg codec case from setting those flags, instead of whilelisting mpeg2/4 only
Strangely ffv1/avi shows interlace (with my patch) if source was Top Field First and not showing it if source was Bottom Field First ..:/
dv file re-encoded as dv_ntsc.avi shows bff correctly, it seems. mp4 container with h264 also gets it right now .... mpeg2 works (but not sure if field order correct or now ..I'm confused by ffmpeg source :/) mkv seems to work (but it was working before)
https://cloud.mail.ru/public/5AM1/275yC576u
How to test those 'tb/bb/tt/bt' cases? There must be some artificial picture clearly showing if I did it wrong ..Not found it yet.
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin