[Libav-user] Creating "Prores' Quicktime Movies From Image Buffers

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Libav-user] Creating "Prores' Quicktime Movies From Image Buffers

Rennie Johnson

I need to add Prores QT output to a Windows Application I have created in Visual Studio 13.  I would appreciate any quick-start guidance someone could give me.  I want to support the 422, 422HQ, 4444, and 4444HQ formats.  I don’t need alpha channel.  Eventually, I would want to add sound support.

 

If someone wants to help me take this on, I have a small budget for that.  Otherwise, I appreciate any guidance, as the FFMPEG API is so vast, it’s hard to tell where to start.

 

You can email directly to [hidden email].

 

If possible, I would create a C++ managed class, but a native class would be OK.  I need two member functions that would look something like:

 

1.       LPVOID CreateQuicktimeFile(String^ filePath, int width, int height, int srcDataFormat, int qtCodec, float tcFormat, int closeFile);

 

a.       filePath = Destination output file name and path

b.      width = Number of horizontal pixels in the image

c.       height= Number of vertical pixels in the image

d.      scrDtaFormat = A token that describes the image data structure, such as

                                                               i.      16BIT_INTEGER_RGB_INTERLEAVED

                                                             ii.      8BIT_INTEGER_RGB_INTERLEAVED

                                                            iii.      10BIT_YUV_INTERLEAVED

                                                           iv.      10_10_10_2_RGB_PACKED

e.      qtCodec = A token that describes the QT files CODEC, such as:

                                                               i.      PRORES_422

                                                             ii.      PRORES_422HQ

                                                            iii.      PRORES_4444

                                                           iv.      PRORES_4444Q

f.        tcFormat = A token that describes the time code format and playback rate, such as:

                                                               i.      TC_FORMAT_2398 = 24 Frame Timecode Format, Playing at 23.976 FPS.

                                                             ii.      TC_FORMAT_24 = 24 Frame Timecode Format, Playing at 24 FPS.

                                                            iii.      TC_FORMAT_25 = 25 Frame Timecode Format, Playing at 25FPS.

                                                           iv.      TC_FORMAT_2997 = 30 Frame Timecode Format, Playing at 29.97 FPS.

                                                             v.      TC_FORMAT_30 = 30 Frame Timecode Format, Playing at 30 FPS.

g.       closeFile = Closes the QT File after creation.

h.      Return Value = Pointer To the New QT Object (May not be necessary)

 

2.       Int AppendFrame(void* bufferData, int openFile, int closeFile);

 

a.       bufferData = A pointer to an image buffer of a single frame that matches the characteristic described in the function above.

b.      Return Value = 0 if successful.

c.       openFile = Opens a previously closed file for appending if non-zero.

d.      closeFile = Closes the QT file after appending if non-zero.

 

Thank you for any help.


_______________________________________________
Libav-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".