aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-28 20:38:41 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-28 21:01:54 +0100
commit07abf13da4a7c3d23ce6bc6542d72e6252161736 (patch)
treee9fac6b420033b7c254f3fa583fd7ca74f61ba23
parent507956824c642e44b0ab7af669a2700c9e57878a (diff)
downloadffmpeg-07abf13da4a7c3d23ce6bc6542d72e6252161736.tar.gz
h264: avoid a grayscale related if() in hl_decode_mb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/h264_mb_template.c2
-rw-r--r--libavcodec/h264pred.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/h264_mb_template.c b/libavcodec/h264_mb_template.c
index b6adbf7ceb..a11009412c 100644
--- a/libavcodec/h264_mb_template.c
+++ b/libavcodec/h264_mb_template.c
@@ -159,10 +159,8 @@ static av_noinline void FUNC(hl_decode_mb)(H264Context *h)
uvlinesize, 1, 0, SIMPLE, PIXEL_SHIFT);
if (SIMPLE || !CONFIG_GRAY || !(s->flags & CODEC_FLAG_GRAY)) {
- if (CHROMA) {
h->hpc.pred8x8[h->chroma_pred_mode](dest_cb, uvlinesize);
h->hpc.pred8x8[h->chroma_pred_mode](dest_cr, uvlinesize);
- }
}
hl_decode_mb_predict_luma(h, mb_type, is_h264, SIMPLE,
diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c
index f83924da34..db483c9702 100644
--- a/libavcodec/h264pred.c
+++ b/libavcodec/h264pred.c
@@ -406,7 +406,7 @@ static void pred8x8_tm_vp8_c(uint8_t *src, ptrdiff_t stride)
* Set the intra prediction function pointers.
*/
void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth,
- const int chroma_format_idc)
+ int chroma_format_idc)
{
// MpegEncContext * const s = &h->s;
@@ -566,6 +566,9 @@ void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth,
h->pred16x16_add[VERT_PRED8x8]= FUNCC(pred16x16_vertical_add , depth);\
h->pred16x16_add[ HOR_PRED8x8]= FUNCC(pred16x16_horizontal_add , depth);\
+ if(!chroma_format_idc)
+ chroma_format_idc = 1;
+
switch (bit_depth) {
case 9:
H264_PRED(9)