Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(366)

Side by Side Diff: patched-ffmpeg-mt/libavformat/r3d.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * R3D REDCODE demuxer 2 * R3D REDCODE demuxer
3 * Copyright (c) 2008 Baptiste Coudurier <baptiste dot coudurier at gmail dot co m> 3 * Copyright (c) 2008 Baptiste Coudurier <baptiste dot coudurier at gmail dot co m>
4 * 4 *
5 * This file is part of FFmpeg. 5 * This file is part of FFmpeg.
6 * 6 *
7 * FFmpeg is free software; you can redistribute it and/or 7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version. 10 * version 2.1 of the License, or (at your option) any later version.
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 url_fseek(s->pb, s->data_offset, SEEK_SET); 205 url_fseek(s->pb, s->data_offset, SEEK_SET);
206 return 0; 206 return 0;
207 } 207 }
208 208
209 static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom) 209 static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom)
210 { 210 {
211 AVStream *st = s->streams[0]; 211 AVStream *st = s->streams[0];
212 int tmp, tmp2; 212 int tmp, tmp2;
213 uint64_t pos = url_ftell(s->pb); 213 uint64_t pos = url_ftell(s->pb);
214 unsigned dts; 214 unsigned dts;
215 int ret;
215 216
216 dts = get_be32(s->pb); 217 dts = get_be32(s->pb);
217 218
218 tmp = get_be32(s->pb); 219 tmp = get_be32(s->pb);
219 dprintf(s, "frame num %d\n", tmp); 220 dprintf(s, "frame num %d\n", tmp);
220 221
221 tmp = get_byte(s->pb); // major version 222 tmp = get_byte(s->pb); // major version
222 tmp2 = get_byte(s->pb); // minor version 223 tmp2 = get_byte(s->pb); // minor version
223 dprintf(s, "version %d.%d\n", tmp, tmp2); 224 dprintf(s, "version %d.%d\n", tmp, tmp2);
224 225
(...skipping 11 matching lines...) Expand all
236 dprintf(s, "width %d\n", tmp); 237 dprintf(s, "width %d\n", tmp);
237 tmp = get_be32(s->pb); 238 tmp = get_be32(s->pb);
238 dprintf(s, "height %d\n", tmp); 239 dprintf(s, "height %d\n", tmp);
239 240
240 tmp = get_be32(s->pb); 241 tmp = get_be32(s->pb);
241 dprintf(s, "metadata len %d\n", tmp); 242 dprintf(s, "metadata len %d\n", tmp);
242 } 243 }
243 tmp = atom->size - 8 - (url_ftell(s->pb) - pos); 244 tmp = atom->size - 8 - (url_ftell(s->pb) - pos);
244 if (tmp < 0) 245 if (tmp < 0)
245 return -1; 246 return -1;
246 247 ret = av_get_packet(s->pb, pkt, tmp);
247 if (av_get_packet(s->pb, pkt, tmp) != tmp) { 248 if (ret < 0) {
248 av_log(s, AV_LOG_ERROR, "error reading video packet\n"); 249 av_log(s, AV_LOG_ERROR, "error reading video packet\n");
249 return -1; 250 return -1;
250 } 251 }
251 252
252 pkt->stream_index = 0; 253 pkt->stream_index = 0;
253 pkt->dts = dts; 254 pkt->dts = dts;
254 if (st->codec->time_base.den) 255 if (st->codec->time_base.den)
255 pkt->duration = (uint64_t)st->time_base.den* 256 pkt->duration = (uint64_t)st->time_base.den*
256 st->codec->time_base.num/st->codec->time_base.den; 257 st->codec->time_base.num/st->codec->time_base.den;
257 dprintf(s, "pkt dts %lld duration %d\n", pkt->dts, pkt->duration); 258 dprintf(s, "pkt dts %lld duration %d\n", pkt->dts, pkt->duration);
258 259
259 return 0; 260 return 0;
260 } 261 }
261 262
262 static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom) 263 static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom)
263 { 264 {
264 AVStream *st = s->streams[1]; 265 AVStream *st = s->streams[1];
265 int tmp, tmp2, samples, size; 266 int tmp, tmp2, samples, size;
266 uint64_t pos = url_ftell(s->pb); 267 uint64_t pos = url_ftell(s->pb);
267 unsigned dts; 268 unsigned dts;
269 int ret;
268 270
269 dts = get_be32(s->pb); 271 dts = get_be32(s->pb);
270 272
271 st->codec->sample_rate = get_be32(s->pb); 273 st->codec->sample_rate = get_be32(s->pb);
272 274
273 samples = get_be32(s->pb); 275 samples = get_be32(s->pb);
274 276
275 tmp = get_be32(s->pb); 277 tmp = get_be32(s->pb);
276 dprintf(s, "packet num %d\n", tmp); 278 dprintf(s, "packet num %d\n", tmp);
277 279
278 tmp = get_be16(s->pb); // unkown 280 tmp = get_be16(s->pb); // unkown
279 dprintf(s, "unknown %d\n", tmp); 281 dprintf(s, "unknown %d\n", tmp);
280 282
281 tmp = get_byte(s->pb); // major version 283 tmp = get_byte(s->pb); // major version
282 tmp2 = get_byte(s->pb); // minor version 284 tmp2 = get_byte(s->pb); // minor version
283 dprintf(s, "version %d.%d\n", tmp, tmp2); 285 dprintf(s, "version %d.%d\n", tmp, tmp2);
284 286
285 tmp = get_be32(s->pb); // unknown 287 tmp = get_be32(s->pb); // unknown
286 dprintf(s, "unknown %d\n", tmp); 288 dprintf(s, "unknown %d\n", tmp);
287 289
288 size = atom->size - 8 - (url_ftell(s->pb) - pos); 290 size = atom->size - 8 - (url_ftell(s->pb) - pos);
289 if (size < 0) 291 if (size < 0)
290 return -1; 292 return -1;
291 if (av_get_packet(s->pb, pkt, size) != size) { 293 ret = av_get_packet(s->pb, pkt, size);
292 av_log(s, AV_LOG_ERROR, "error reading video packet\n"); 294 if (ret < 0) {
293 return -1; 295 av_log(s, AV_LOG_ERROR, "error reading audio packet\n");
296 return ret;
294 } 297 }
295 298
296 pkt->stream_index = 1; 299 pkt->stream_index = 1;
297 pkt->dts = dts; 300 pkt->dts = dts;
298 pkt->duration = av_rescale(samples, st->time_base.den, st->codec->sample_rat e); 301 pkt->duration = av_rescale(samples, st->time_base.den, st->codec->sample_rat e);
299 dprintf(s, "pkt dts %lld duration %d samples %d sample rate %d\n", 302 dprintf(s, "pkt dts %lld duration %d samples %d sample rate %d\n",
300 pkt->dts, pkt->duration, samples, st->codec->sample_rate); 303 pkt->dts, pkt->duration, samples, st->codec->sample_rate);
301 304
302 return 0; 305 return 0;
303 } 306 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 AVInputFormat r3d_demuxer = { 380 AVInputFormat r3d_demuxer = {
378 "r3d", 381 "r3d",
379 NULL_IF_CONFIG_SMALL("REDCODE R3D format"), 382 NULL_IF_CONFIG_SMALL("REDCODE R3D format"),
380 sizeof(R3DContext), 383 sizeof(R3DContext),
381 r3d_probe, 384 r3d_probe,
382 r3d_read_header, 385 r3d_read_header,
383 r3d_read_packet, 386 r3d_read_packet,
384 r3d_close, 387 r3d_close,
385 r3d_seek, 388 r3d_seek,
386 }; 389 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698