mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-21 14:53:10 +00:00
ffv1: add 1 status byte to slices in in case crcs are stored too.
This will allow storing of information about corrected and uncorrectable errors. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
0c27854532
commit
c24ca7b88e
@ -1298,7 +1298,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
bytes+=3;
|
bytes+=3;
|
||||||
}
|
}
|
||||||
if(f->ec){
|
if(f->ec){
|
||||||
unsigned v = av_crc(av_crc_get_table(AV_CRC_32_IEEE), 0, buf_p, bytes);
|
unsigned v;
|
||||||
|
buf_p[bytes++] = 0;
|
||||||
|
v = av_crc(av_crc_get_table(AV_CRC_32_IEEE), 0, buf_p, bytes);
|
||||||
AV_WL32(buf_p + bytes, v); bytes += 4;
|
AV_WL32(buf_p + bytes, v); bytes += 4;
|
||||||
}
|
}
|
||||||
buf_p += bytes;
|
buf_p += bytes;
|
||||||
@ -1987,7 +1989,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
|
|||||||
buf_p= buf + buf_size;
|
buf_p= buf + buf_size;
|
||||||
for(i=f->slice_count-1; i>=0; i--){
|
for(i=f->slice_count-1; i>=0; i--){
|
||||||
FFV1Context *fs= f->slice_context[i];
|
FFV1Context *fs= f->slice_context[i];
|
||||||
int trailer = 3 + 4*!!f->ec;
|
int trailer = 3 + 5*!!f->ec;
|
||||||
int v;
|
int v;
|
||||||
|
|
||||||
if(i || f->ec) v = AV_RB24(buf_p-trailer)+trailer;
|
if(i || f->ec) v = AV_RB24(buf_p-trailer)+trailer;
|
||||||
|
Loading…
Reference in New Issue
Block a user