mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-13 02:20:07 +01:00
COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -1,26 +1,26 @@
|
||||
/*
|
||||
* Libavformat API example: Output a media file in any supported
|
||||
* libavformat format. The default codecs are used.
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2003 Fabrice Bellard
|
||||
*
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
@@ -48,7 +48,7 @@ uint8_t *audio_outbuf;
|
||||
int audio_outbuf_size;
|
||||
int audio_input_frame_size;
|
||||
|
||||
/*
|
||||
/*
|
||||
* add an audio output stream
|
||||
*/
|
||||
AVStream *add_audio_stream(AVFormatContext *oc, int codec_id)
|
||||
@@ -144,7 +144,7 @@ void write_audio_frame(AVFormatContext *oc, AVStream *st)
|
||||
AVCodecContext *c;
|
||||
AVPacket pkt;
|
||||
av_init_packet(&pkt);
|
||||
|
||||
|
||||
c = st->codec;
|
||||
|
||||
get_audio_frame(samples, audio_input_frame_size, c->channels);
|
||||
@@ -166,7 +166,7 @@ void write_audio_frame(AVFormatContext *oc, AVStream *st)
|
||||
void close_audio(AVFormatContext *oc, AVStream *st)
|
||||
{
|
||||
avcodec_close(st->codec);
|
||||
|
||||
|
||||
av_free(samples);
|
||||
av_free(audio_outbuf);
|
||||
}
|
||||
@@ -189,7 +189,7 @@ AVStream *add_video_stream(AVFormatContext *oc, int codec_id)
|
||||
fprintf(stderr, "Could not alloc stream\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
c = st->codec;
|
||||
c->codec_id = codec_id;
|
||||
c->codec_type = CODEC_TYPE_VIDEO;
|
||||
@@ -197,13 +197,13 @@ AVStream *add_video_stream(AVFormatContext *oc, int codec_id)
|
||||
/* put sample parameters */
|
||||
c->bit_rate = 400000;
|
||||
/* resolution must be a multiple of two */
|
||||
c->width = 352;
|
||||
c->width = 352;
|
||||
c->height = 288;
|
||||
/* time base: this is the fundamental unit of time (in seconds) in terms
|
||||
of which frame timestamps are represented. for fixed-fps content,
|
||||
timebase should be 1/framerate and timestamp increments should be
|
||||
identically 1. */
|
||||
c->time_base.den = STREAM_FRAME_RATE;
|
||||
c->time_base.den = STREAM_FRAME_RATE;
|
||||
c->time_base.num = 1;
|
||||
c->gop_size = 12; /* emit one intra frame every twelve frames at most */
|
||||
c->pix_fmt = STREAM_PIX_FMT;
|
||||
@@ -212,15 +212,15 @@ AVStream *add_video_stream(AVFormatContext *oc, int codec_id)
|
||||
c->max_b_frames = 2;
|
||||
}
|
||||
if (c->codec_id == CODEC_ID_MPEG1VIDEO){
|
||||
/* needed to avoid using macroblocks in which some coeffs overflow
|
||||
this doesnt happen with normal video, it just happens here as the
|
||||
/* needed to avoid using macroblocks in which some coeffs overflow
|
||||
this doesnt happen with normal video, it just happens here as the
|
||||
motion of the chroma plane doesnt match the luma plane */
|
||||
c->mb_decision=2;
|
||||
}
|
||||
// some formats want stream headers to be seperate
|
||||
if(!strcmp(oc->oformat->name, "mp4") || !strcmp(oc->oformat->name, "mov") || !strcmp(oc->oformat->name, "3gp"))
|
||||
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
|
||||
|
||||
return st;
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ AVFrame *alloc_picture(int pix_fmt, int width, int height)
|
||||
AVFrame *picture;
|
||||
uint8_t *picture_buf;
|
||||
int size;
|
||||
|
||||
|
||||
picture = avcodec_alloc_frame();
|
||||
if (!picture)
|
||||
return NULL;
|
||||
@@ -239,11 +239,11 @@ AVFrame *alloc_picture(int pix_fmt, int width, int height)
|
||||
av_free(picture);
|
||||
return NULL;
|
||||
}
|
||||
avpicture_fill((AVPicture *)picture, picture_buf,
|
||||
avpicture_fill((AVPicture *)picture, picture_buf,
|
||||
pix_fmt, width, height);
|
||||
return picture;
|
||||
}
|
||||
|
||||
|
||||
void open_video(AVFormatContext *oc, AVStream *st)
|
||||
{
|
||||
AVCodec *codec;
|
||||
@@ -305,7 +305,7 @@ void fill_yuv_image(AVFrame *pict, int frame_index, int width, int height)
|
||||
pict->data[0][y * pict->linesize[0] + x] = x + y + i * 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Cb and Cr */
|
||||
for(y=0;y<height/2;y++) {
|
||||
for(x=0;x<width/2;x++) {
|
||||
@@ -319,9 +319,9 @@ void write_video_frame(AVFormatContext *oc, AVStream *st)
|
||||
{
|
||||
int out_size, ret;
|
||||
AVCodecContext *c;
|
||||
|
||||
|
||||
c = st->codec;
|
||||
|
||||
|
||||
if (frame_count >= STREAM_NB_FRAMES) {
|
||||
/* no more frame to compress. The codec has a latency of a few
|
||||
frames if using B frames, so we get the last frames by
|
||||
@@ -331,7 +331,7 @@ void write_video_frame(AVFormatContext *oc, AVStream *st)
|
||||
/* as we only generate a YUV420P picture, we must convert it
|
||||
to the codec pixel format if needed */
|
||||
fill_yuv_image(tmp_picture, frame_count, c->width, c->height);
|
||||
img_convert((AVPicture *)picture, c->pix_fmt,
|
||||
img_convert((AVPicture *)picture, c->pix_fmt,
|
||||
(AVPicture *)tmp_picture, PIX_FMT_YUV420P,
|
||||
c->width, c->height);
|
||||
} else {
|
||||
@@ -339,18 +339,18 @@ void write_video_frame(AVFormatContext *oc, AVStream *st)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (oc->oformat->flags & AVFMT_RAWPICTURE) {
|
||||
/* raw video case. The API will change slightly in the near
|
||||
futur for that */
|
||||
AVPacket pkt;
|
||||
av_init_packet(&pkt);
|
||||
|
||||
|
||||
pkt.flags |= PKT_FLAG_KEY;
|
||||
pkt.stream_index= st->index;
|
||||
pkt.data= (uint8_t *)picture;
|
||||
pkt.size= sizeof(AVPicture);
|
||||
|
||||
|
||||
ret = av_write_frame(oc, &pkt);
|
||||
} else {
|
||||
/* encode the image */
|
||||
@@ -359,14 +359,14 @@ void write_video_frame(AVFormatContext *oc, AVStream *st)
|
||||
if (out_size > 0) {
|
||||
AVPacket pkt;
|
||||
av_init_packet(&pkt);
|
||||
|
||||
|
||||
pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
|
||||
if(c->coded_frame->key_frame)
|
||||
pkt.flags |= PKT_FLAG_KEY;
|
||||
pkt.stream_index= st->index;
|
||||
pkt.data= video_outbuf;
|
||||
pkt.size= out_size;
|
||||
|
||||
|
||||
/* write the compressed frame in the media file */
|
||||
ret = av_write_frame(oc, &pkt);
|
||||
} else {
|
||||
@@ -406,7 +406,7 @@ int main(int argc, char **argv)
|
||||
|
||||
/* initialize libavcodec, and register all codecs and formats */
|
||||
av_register_all();
|
||||
|
||||
|
||||
if (argc != 2) {
|
||||
printf("usage: %s output_file\n"
|
||||
"API example program to output a media file with libavformat.\n"
|
||||
@@ -415,7 +415,7 @@ int main(int argc, char **argv)
|
||||
"\n", argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
filename = argv[1];
|
||||
|
||||
/* auto detect the output format from the name. default is
|
||||
@@ -429,7 +429,7 @@ int main(int argc, char **argv)
|
||||
fprintf(stderr, "Could not find suitable output format\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
/* allocate the output media context */
|
||||
oc = av_alloc_format_context();
|
||||
if (!oc) {
|
||||
@@ -473,26 +473,26 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* write the stream header, if any */
|
||||
av_write_header(oc);
|
||||
|
||||
|
||||
for(;;) {
|
||||
/* compute current audio and video time */
|
||||
if (audio_st)
|
||||
audio_pts = (double)audio_st->pts.val * audio_st->time_base.num / audio_st->time_base.den;
|
||||
else
|
||||
audio_pts = 0.0;
|
||||
|
||||
|
||||
if (video_st)
|
||||
video_pts = (double)video_st->pts.val * video_st->time_base.num / video_st->time_base.den;
|
||||
else
|
||||
video_pts = 0.0;
|
||||
|
||||
if ((!audio_st || audio_pts >= STREAM_DURATION) &&
|
||||
if ((!audio_st || audio_pts >= STREAM_DURATION) &&
|
||||
(!video_st || video_pts >= STREAM_DURATION))
|
||||
break;
|
||||
|
||||
|
||||
/* write interleaved audio and video frames */
|
||||
if (!video_st || (video_st && audio_st && audio_pts < video_pts)) {
|
||||
write_audio_frame(oc, audio_st);
|
||||
@@ -509,7 +509,7 @@ int main(int argc, char **argv)
|
||||
|
||||
/* write the trailer, if any */
|
||||
av_write_trailer(oc);
|
||||
|
||||
|
||||
/* free the streams */
|
||||
for(i = 0; i < oc->nb_streams; i++) {
|
||||
av_freep(&oc->streams[i]);
|
||||
|
||||
Reference in New Issue
Block a user