h264 encoding "divisible by 2"

Igors igors at eias3d.com
Sat Mar 30 15:40:14 UTC 2019


Hi All

My test pipleline is

gst-launch-1.0 videotestsrc num-buffers=100 ! videoconvert !
video/x-raw,width=640,height=480,format=YV12 ! x264enc ! qtmux ! filesink
location=test_264.mov

It works fine but only for even image sizes, setting height=479 gives
x264enc error (height not divisible by 2). This restriction can be removed
if change format to Y444 (High Profile 4:4:4) but in this case the created
movies won't open with standard  video players (QT Player for example), and
it irritates user a lot.

After googling it looks like a standard prob, but other apps can do this.
e.g. create h264 files with odd sizes that are opened ok via standard
players. I compared caps for these and thouse files, both have profile
"high" 4:2:0 and all fields are same except of one

1) File with odd video size created in other app
codec_data=buffer)0164001effe100152764001eac5230280f79bc05a8101011856bdef80801000428fe09cb

2) File with even video size created with pipeline above
codec_data=buffer)0164001effe1001f6764001eacd940c82fe59b016a0c020b4a000003000200000300791e2c5b2c01000568ebecb22c

I've tried to specify codec_name in command line but it has no effect. Any
idea? Or I need other encoder instead of x264enc?

Thx



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list