lavc: do not allocate edges in the default get_buffer2()
dump_stream: print the timebase as is, do not reduce it

It makes more sense to print the timebase exactly as it is set. Also,
this avoids a divide by zero when av_dump_format() is called on a format
context before writing the header.
output example: use the new AVFrame API for allocating the video frame
output example: use a struct to bundle the video stream variables together
output example: set output channel layout
output example: use the new AVFrame API to allocate audio frames
output example: use OutputStream for audio streams as well
output example: allocate the audio frame only once
output example: use a macro instead of a static variable
output example: store the scaling context in the stream context
output example: rewrite encoding logic

Properly generate pts for the frames sent to the encoder, avoid
using private and deprecated AVStream.pts.
output example: free the muxing format context properly