Hello,

I have created a libavdevice that can read in raw video frames from shared
memory, which allows me to run ffmpeg and benefit from all the features
built in.  (I love this...)  This works great for a known resolution that
 is consistent.  So my question is, can the application ffmpeg.c and the
format context and stream contexts used throughout react to a resolution
change determined in the libavdevice code?

Ideally, the shared memory contains a description of the incoming frame, and
when the description changes ffmpeg needs to be notified up stream to
recreate the video codec for the new resolution.  This is that part I am
having trouble with.  The AVInputFormat doesn't really provide a way to
modify the ost->st->codec and I doubt that I would want to modify that
directly...  Is there a way to recreate the input stream context when
a AVInputFormat->read_packet() is called that would have the upstream parts
of ffmpeg recreate the codec or am I better off writing my own application
entirely?

Here is the path of how I need things to work, the HD and SD video is
exclusive or not at the same time:

Raw HD video -\
                       SHM -> ffmpeg (via libavdevice) -> encode (h.264) ->
format (mpeg-ts) -> out...
Raw SD video -/

Thanks!

Shane
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to