[Cin] I tried to add AVC-Intra 100 output profiles
Andrew Randrianasulu
randrianasulu at gmail.com
Fri Mar 20 22:00:21 CET 2020
But not sure if I did this correctly.
https://en.wikipedia.org/wiki/AVC-Intra
says for AVC-Intra 100:
AVC-Intra 100:
nominally 100 Mbit/s, size of each frame is fixed
CAVLC entropy coding only.
All formats are High 4:2:2 Intra Profile, Level 4.1
4:2:2 chrominance sampling
frames are not scaled
and yeah, this French-language pdf actually says the same:
https://web.archive.org/web/20110720215759/http://www.ficam.fr/upload/documents/AVCIntra.pdf
50M 100M
Standard MPEG-4 part10 AVC/H.264
Profile High 10 Intra High 4:2:2 Intra
Level Level 3.2/4.0 Level 4.1
Resolution 1440x1080 / 960x720 1920x1080 / 1280x720
Sampling 4:2:0 4:2:2
Bit rate 54Mbps 111Mbps
Block size Y: 8x8, C: 4x4
Intra Prediction Y: 9mode, C: 4mode
MBAFF Yes
De-block filter No
Slice/frame 10
Entropy coding CABAC CAVLC
so, I looked up ffmpeg cmd line
https://trac.ffmpeg.org/ticket/3597
ffmpeg -v info -i /mnt-data/backup4/vol0/export/CUHK\ 2014-1/V017b.mov
-vcodec libx264 -intra -pix_fmt yuv422p10le -vb 100M -x264opts avcintra-class=100
-x264opts colorprim=bt709 -x264opts transfer=bt709 -x264opts colormatrix=bt709
-threads 4 -acodec copy V017b-ffmpeg-git-avcintra100.mov
Huh, said I and entered those params in opts file, actually in two files (mp4 and mov containers)
mov libx264
cin_pix_fmt=yuv422p10le
flags -global_header
keyint_min=0
x264-params=keyint=0:colorprim=bt709:transfer=bt709:colormatrix=bt709
avcintra-class=100
bufsize=100000000
level=4.1
mp4 libx264
cin_pix_fmt=yuv422p10le
flags -global_header
keyint_min=0
x264-params=keyint=0:colorprim=bt709:transfer=bt709:colormatrix=bt709
avcintra-class=100
bufsize=100000000
level=4.1
both for progressive content, for interlace you must add some more flags:
https://lists.ffmpeg.org/pipermail/ffmpeg-user/2017-January/035049.html
-flags +ildct+ilme
-x264opts interlaced=1
Also, there is still lack of (GUI) user notification if file writing failed due to
NO SPACE on device :}
FFStream::write_packet: write packet failed.
file:/dev/shm/avci_new.mp4
err: На устройстве не осталось свободного места
FFStream::encode_frame: encode failed.
file: /dev/shm/avci_new.mp4
err: На устройстве не осталось свободного места
FFStream::flush failed
:file:/dev/shm/avci_new.mp4
err: Операция не позволена
Render::render_single: Session finished.
** rendered 273 frames in 85.585 secs, 3.190 fps
Render::render_single: Session finished.
** rendered 273 frames in 85.485 secs, 3.194 fps
Render::render_single: Session finished.
** rendered 273 frames in 82.176 secs, 3.322 fps
Profile sort of assumes you set project to some supported resolution, framerate, etc,
otherwise libx264 will fail with console error message.....
I found some talk about AVC-Ultra, there even was patch for x264, but it was not merged:
https://mailman.videolan.org/pipermail/x264-devel/2015-September/011412.html
Also, I think sound must be uncompressed, but I'm not sure.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AVC_Intra_100.mov
Type: application/octet-stream
Size: 186 bytes
Desc: not available
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200321/5270c1cb/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AVC_Intra_100.mp4
Type: application/octet-stream
Size: 186 bytes
Desc: not available
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200321/5270c1cb/attachment-0001.obj>
More information about the Cin
mailing list